LaTeX

New environment

22. maj 2007 af Eva D. (Slettet)
Jeg vil gerne lave et nyt environment, der består af to ting: equation som omkranser \ce{}, hvilket stammer fra mhchem og bruges til at skrive kemi med (\ce{H2O} bliver fx med upright og sænkede tal).
Problemet er, at \ce{} ikke er et environment i sig selv.
Nogen ideer?

Brugbart svar (2)

Svar #1
22. maj 2007 af DanniBred (Slettet)

put det i et align-environment, det virker :D

Brugbart svar (2)

Svar #2
22. maj 2007 af daleif (Slettet)

Jeg kan ikke helt se hvad fordelen skulle vaere? Desuden bliver det meget svaert, idet du bliver noedt til at kunne opsamle indhodlet af environmentet og saa give det til \ce eller \cee (tjek manualen).

Brugbart svar (2)

Svar #3
22. maj 2007 af daleif (Slettet)

Bare for at bevise at det kan lade sig goere (husk at \ n'er forsvinder, er for doven til at indsaette mellemrum)


\documentclass{article}
\usepackage[version=2]{mhchem}
\usepackage{amsmath}

ewtoks\dlf

ewcommand{\hmm}[1]{\edef\dlf{\the\dlf#1}}
\makeatletter

ewenvironment{oddenv}{%
\collect@body\hmm
}{\equation\expandafter\ce\expandafter{\dlf}\endequation}
\makeatother
\begin{document}
\begin{oddenv}
H2O
\end{oddenv}
\end{document}

Har ikke testet det med align



Brugbart svar (2)

Svar #4
22. maj 2007 af daleif (Slettet)

virker ikke saa godt med align. Saa det lader vi ligge.

Svar #5
23. maj 2007 af Eva D. (Slettet)

Jeg er i gang med at skrive biokeminoter, og der skal jeg bruge fremhævede formler med kemi i en del gange. Jeg har lavet en \ newcommand{eak}[1]{\begin{equation} \ce{#1} \end{equation}} og tilsvarende for align/cee, men det bliver besværligt i længden, fordi jeg skal skrive "eak{

}" hvilket jeg kopierer, så den ligger på C-y. Det er jo ikke så godt, når jeg også vil kopiere andre ting (kan selvfølgelig bruge M-y). Hvis den findes som et environment, skal jeg kun trykke C-c C-e RET (fordi det næsten er den eneste environment, jeg bruger ved biokemi).
Jeg kan selvfølgelig også selv definere min genvejstast i emacs, men det har jeg ingen ide om, hvordan man gør.
Anyways, jeg prøver at søge lidt på det. #3 virker fint, undtagen at jeg ikke kan få \label til at virke.

Tak for hjælpen!

Brugbart svar (2)

Svar #6
23. maj 2007 af daleif (Slettet)

Jeg tror det ville være en ide hvos du som mhchem bruger sender en mail til forfatteren bag pakken, og at du så klager din nød. Det burde jo være noget man skulle kunne.

VI kan se om vi kan finde på noget

Brugbart svar (2)

Svar #7
23. maj 2007 af daleif (Slettet)

Her er et grimt hack

\documentclass{article}
\usepackage[version=2]{mhchem}
\usepackage{amsmath}


ewtoks\dlf

ewcommand{\hmm}[1]{\edef\dlf{\the\dlf#1}}
\makeatletter
\def\dlf@save@label{}

ewenvironment{oddenv}[1][]{%
\ifx\\#1\\elax
\else\xdef\dlf@save@label{#1}\fi
\collect@body\hmm
}{\equation\ifx\\\dlf@save@label\\elax\else\label{\dlf@save@label}\fi
\expandafter\ce\expandafter{\dlf}\endequation}
\makeatother
\begin{document}
\begin{oddenv}[hest2]
H2O
\end{oddenv}
\eqref{hest2}
\end{document}

Svar #8
24. maj 2007 af Eva D. (Slettet)

#6 - Jeps, det er en god ide. Det gør jeg efter eksaminerne. Og tak for kodestumpen, det virker!

Brugbart svar (2)

Svar #9
04. juni 2007 af daleif (Slettet)

Jeg har modtaget en opdateret version af mhchem til test.

Da jeg ikke selv anvender mhchem videre meget, ville jeg gerne have dig til at teste det. Du kan bare sige til når du en gang igen får tid.

Skriv et svar til: New environment

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.