Wie vermeidet man Leerzeichenprobleme beim Einfügen eines Def-Werts in einen Text?

Wie vermeidet man Leerzeichenprobleme beim Einfügen eines Def-Werts in einen Text?

Wenn ich eine Variable definiere:

\def\company{ACME}

Und benutze es:

The company \company is...

Normalerweise wird der nachfolgende Leerraum vom Befehl verbraucht, was zuThe company ACMEIs

Ich mache also folgendes:

The company \company~is...

Gibt es eine bessere Option?

Antwort1

Wie @Zxcvasdf bereits erklärt hat, können Sie \company{}anstelle von verwenden \company. Wenn Sie nicht die ganze Zeit tippen möchten {}(vielleicht weil dies mit Ihrem Tastaturlayout schwierig ist oder Sie es \companysehr oft brauchen), können Sie auch das xspacePaket verwenden. Es stellt den Befehl bereit \xspace, der bei Bedarf ein Leerzeichen erzeugt.

\documentclass{article}
\usepackage{xspace}
\def\company{ACME\xspace}
\begin{document}
    The company \company is great! % <- space is inserted 
    I like the company \company.   % <- no space is inserted
\end{document}

Ergebnis

Lassen Sie mich kurz erläutern, warum SienichtVerwenden Sie ~hier zum Einfügen eines Leerzeichens: ~erzeugt ein geschütztes Leerzeichen, d. h. zwischen diesen beiden Wörtern darf kein Zeilenumbruch erfolgen. Manchmal ist dies guter Stil, z. B. in See Figure~\ref{fig}weil Sie und die referenzierte Nummer nicht in unterschiedlichen Zeilen haben möchten Figure, aber hier gibt es keinen Grund, warum Sie keinen Zeilenumbruch zulassen sollten.

verwandte Informationen