chemicke vzorce - jak v LaTeXu?

Zdeněk Moravec moravec at alpha.ujep.cz
Thu Dec 6 13:36:44 CET 2001


Dobry den,

prosim jeste o radu jak toto uzitecne makro pouzit v LaTeXu. V plainu se mi
to prelozi bez problemu, ale pokud makra vlozim do LaTeXoveho dokumentu
dostavam hlasky

! Text line contains an invalid character.
l.10 \next#1^^X
               }
?
! Text line contains an invalid character.
l.11 \def\forcycle#1{\if \noexpand ^^X
                                      #1\let\next=\relax
?

Dekuji,

Zdenek Moravec

> -----Original Message-----
> From: owner-csTeX at cs.felk.cvut.cz [mailto:owner-csTeX at cs.felk.cvut.cz]On
> Behalf Of Josef Svoboda
> Sent: Saturday, December 01, 2001 9:29 PM
> To: cechjir at hotmail.com; cstex at cs.felk.cvut.cz
> Subject: Re: chemicke vzorce
>
>
> Nova verze makra. Pro jistotu prikladam definicni cast jako prilohu.
> Josef Svoboda
>
> % Tiskne cisla jako dolni indexy
> % Strada si cisla a tiskne je jako celek
> % Dovoluje michat dolni a horni indexy
> % Od zacatku do konce pracuje v matematickem modu
> % Dovoluje pouzit ridici sekvence, napriklad \to
> %%% Definice:
>
> \def\for #1#2\endfor{\def\forbody##1{#2}\let\next=\forcycle
> \next #1^^X}
> \def\forcycle#1{\if \noexpand ^^X#1\let\next=\relax
> \else \forbody {#1}%
> \fi \next}
>
> \def\subscript{}
> \newif\ifgroup \groupfalse
> \def\finish#1{\ifx\empty\subscript\else_{\subscript}\def\subscript
> {}\fi #1}
>
> \def\chem#1{$\fam0
> \for{#1}{%
> \ifgroup \subsup{##1}\groupfalse \else
> \ifcat _##1 \finish\relax \grouptrue \let\subsup=_\else
> \ifcat ^##1 \finish\relax \grouptrue \let\subsup=^\else
> \ifcat 0##1 \ifnum`##1>47 \ifnum`##1<58
> \edef\subscript{\subscript ##1}\else
>  \finish{##1}\fi \else\finish{##1}\fi \else\finish{##1}\fi \fi
> \fi\fi
> }\endfor
> \finish\relax
> $}
>
>
> %%% Pouziti:
>
> \chem{H2SO4}
>
> \chem{C12H22O11 + HNO3 + S2 + Hg
>  {\buildrel 666^\circ C \over \longrightarrow} Au}
>
> \chem{{}^{235}_{92}U}   nebo   \chem{{}^{235} 92 U}
>
> \chem{SO_{4}^{2-}}   nebo   \chem{SO4^{2-}}
>
> \chem{H3O^+ + OH^- \to H2O + H2O}
>
> \chem{H3O^+ + OH^- \to {\relax 2} H2O}
>
> \chem{CaCO3 \cdot {\relax {1\over2}} H2O}
>
> \end
>
>




More information about the csTeX mailing list