On 07/08/2010 23:32, Ross Moore wrote:
Hi Peter, Sebastien,
On 08/08/2010, at 7:33 AM, Peter Dyballa<peter_dyba...@web.de>
wrote:
Am 07.08.2010 um 22:44 schrieb Sebastian Gerecke:
BUT: This just has to be an utter hack and I can not believe it
is the way it is supposed to be done.
This hack is necessary because mhchem is not aware of font
features, it's a simple LaTeX package that maltreats simple TeX
fonts in the usual ways.
I'm putting the scientific inferior numbers in the upper
position, and the scientific superiors in the lower position.
Does that make sense to anyone?
The usual LaTeX way to do this would be to use the \sideset command
from AMSMath, that is with \usepackage{amsmath}.
But this would be placing the usual ASCII numerals, and not using the
Unicode inferior and superior numerals. Those characters are very new
to the TeX world. A Google search brings up only a few mentions of
them on Microsoft pages. Thus you are not likely to find a good
solution having easy syntax, until someone writes a macro specially
for it, for use with XeTeX and other Unicode-aware TeX processing.
If I've understood this correctly, you want the positioning of
\sideset with the characters being the Unicode superiors and
inferiors, which are full-sized glyphs. Furthermore, the input syntax
should be intuitive, allowing use of either ASCII numerals or the
Unicode points directly, for maximum flexibility.
Should such support be in the unicode-math package? Probably not, as
super-/subscripts in math usually have the usual numerical meaning,
so it would be wrong to use separate characters, just for a purely
visual effect.
Is a chemist going to learn about Unicode and XeTeX just to typeset
isotope names correctly? We could be so lucky!
However maybe if someone on this list develops such a macro, it could
go into xltxtra.sty .
Well, otherwise it would look much worse...
Indeed.
-- Mit friedvollen Grüßen
Pete
Hope this helps,
Ross
-------------------------------------------------- Subscriptions,
Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex
Hello all,
I don't know anything about \sideset, but does this do what's needed?
\newlength{\atomicwidth}
\DeclareRobustCommand{\elem}[3]{%
\settowidth{\atomicwidth}{\textsubscript{#2}}%
\textsuperscript{#1}\hspace{-\atomicwidth}\textsubscript{#2}#3
}
\elem{14}{6}{C}
(I've attached an example file demonstrating it.)
This seems to produce the desired output, is easy to use, and has the
advantage of playing equally nicely with fonts that don't have the
required features.
Mike
% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
\documentclass{minimal}
\usepackage{xltxtra}
\setmainfont{Minion Pro}
\newlength{\atomicwidth}
\DeclareRobustCommand{\elem}[3]{\settowidth{\atomicwidth}{\textsubscript{#2}}\textsuperscript{#1}\hspace{-\atomicwidth}\textsubscript{#2}#3}
\begin{document}
\elem{1}{1}{H}
\elem{4}{2}{He}
\elem{14}{6}{C}
\elem{235}{92}{U}
\end{document}
--------------------------------------------------
Subscriptions, Archive, and List information, etc.:
http://tug.org/mailman/listinfo/xetex