文本和句号中的首字母缩略词位置

文本和句号中的首字母缩略词位置

我想定义一个可以在文本中重复使用的首字母缩略词。例如,

\def\JB {\selectfont\texttt{J.~}-\texttt{Bond}}}

问题是,

  • 在句子的开头或中间,我必须使用 \JB~ 在“J. Bond”后面创建一个空格,或者,

  • 我可以定义\def\JB {\selectfont\texttt{J.~}-\texttt{Bond~}}}以便可以避免“\JB~”,但是,这将在句子末尾产生问题,其中“\JB”后面如果跟着句号,则会产生“J. Bond”。

有没有办法对此进行编程,使得 \JB 在句子的开头/中间使用时在 \JB 后面插入一个空格,而如果它后面跟着句号则不插入空格?

答案1

您可以使用xspace包,然后可以定义

\def\JB {\selectfont\texttt{J.~}-\texttt{Bond}\xspace}

如果你编译 LaTeX 文件

\documentclass{article}
\usepackage{xspace}
\def\JB {\selectfont\texttt{J.~}-\texttt{Bond}\xspace}
\begin{document}
\JB will always be \JB.
\end{document}

第一个 J. Bond 后会有空格,但第二个 J. Bond 后不会有空格。

当然,更像 LaTeX 的做法是这样定义你的命令:

\newcommand*{\JB}{\selectfont\texttt{J.~}-\texttt{Bond}\xspace}

相关内容