Speicherplatz nach \newcommand verloren

Speicherplatz nach \newcommand verloren

Ich verwende das Initialwort „CE“ häufig in meiner Abschlussarbeit, sowohl in als auch außerhalb von Gleichungen. Ich finde, dass die Buchstaben in einer Gleichung für meinen Geschmack zu weit auseinander stehen, also verwende ich den \!Befehl, um den Abstand zu verringern. Wenn ich dies manuell mache, scheint es perfekt zu funktionieren, aber wenn ich dies in eine Gleichung einbaue, \newcommandist das Ergebnis, dass ich immer ein Leerzeichen nach dem Befehl verliere, falls eines vorhanden ist.

Gibt es eine Möglichkeit, dies zu verhindern? Noch besser wäre es, wenn ich mit einem einzigen Befehl Gleichungsumgebungen betreten und verlassen könnte.

\documentclass{article}
\begin{document}

% Commands
\newcommand\CE{{C\!E}}  % CE for equation environment
\newcommand\ce{$C\!E$}  % CE for inline writing

\ce. \ce this is a line.        % space lost after second \ce

$\CE$. $\CE$ this is a line.    % Works fine but cumbersome

$C\!E$. $C\!E$ this is a line.  % Works fine but would like this in a command

\end{document}

CE-Abstandsbild

Antwort1

Sie haben einige Möglichkeiten. Zusätzlich zu Zarkos Antwort sollten Makros im Allgemeinen von einem abschließenden gefolgt werden , das eine spezielle Zeichenklasse hat, die TeX anweist, das Lesen für weitere Zeichen zu beenden (es versucht, den Makronamen herauszufinden). Oder Sie könnten es in eine Gruppe wie oder sogar \einschließen .{\ce}\ce{}

Sehen Was sind Kategoriencodes?

Leider wird das Leerzeichen (cat 10), obwohl es ästhetisch ansprechend ist, immer vom TeX-Parser verbraucht. Bei {(cat 1), }(cat 2), $(cat 3) und \(escape cat 0) ist das nicht der Fall. (alphabetische Zeichen sind cat 11)

verwandte Informationen