chemicke vzorce - jak v LaTeXu?

Zdenek Wagner wagner at cesnet.cz
Thu Dec 6 13:45:42 CET 2001


On Thu, 6 Dec 2001, Zdeněk Moravec wrote:

> 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
>
Zkuste na zacatek pridat \catcode`\^^X=12

> ! 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
> >
> >
>

Zdenek Wagner
e-mail: wagner at mbox.cesnet.cz  or  wagner at icpf.cas.cz

see also http://www.icpf.cas.cz/wagner/
         http://icebearsoft.euweb.cz


     Your windows will look best with
        ________________________
       /   /   /   /   /   /   /
      /_OS/2__/___/_OS/2__/___/
     /   /   /   /   /   /   /
    /___/___/_OS/2__/___/___/
   /   /   /   /   /   /   /
  /___/_OS/2__/___/_OS/2__/
 /   /   /   /   /   /   /
/___/___/___/___/___/___/





More information about the csTeX mailing list