Как избежать проблем с пробелами при вставке значения def в текст?

Как избежать проблем с пробелами при вставке значения def в текст?

Когда я определяю переменную:

\def\company{ACME}

И используйте это:

The company \company is...

Обычно я съедаю пробел в конце команды, в результате чего получаетсяThe company ACMEIs

Поэтому я делаю следующее:

The company \company~is...

Есть ли лучший вариант?

решение1

Как уже объяснил @Zxcvasdf, вы можете использовать \company{}вместо \company. Если вы не хотите печатать {}все время (возможно, потому что их трудно печатать с вашей раскладкой клавиатуры или вам это нужно \companyочень часто), вы также можете использовать пакет xspace. Он предоставляет команду \xspace, которая создает пробел всякий раз, когда это необходимо.

\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}

Результат

Позвольте мне кратко прокомментировать, почему вам следуетнетиспользуйте ~здесь для вставки пробела: ~создает неразрывный пробел, т. е. между этими двумя словами не может быть переноса строки. Иногда это хороший стиль, например, See Figure~\ref{fig}потому что вы не хотите, чтобы Figureи ссылочный номер были в разных строках, но здесь нет причин, по которым вы не должны разрешать перенос строки.

Связанный контент