如何定义一个永远不会出现在下一行开头的符号?

如何定义一个永远不会出现在下一行开头的符号?

我创建了一个非常简单的符号,并在正文中尝试使用它。我想要的是这个符号永远不会出现在行首,这意味着 TeX(我使用 XeTeX)总是将其视为标点符号。我该怎么做?谢谢!

这是一个非常简单的例子:

\documentclass{article}
\usepackage{xcolor}
\def\DD{{\color{red} $\circ$}}

\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lobortis \DD facilisis
sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet \DD mi nec
ante. 
\end{document}

答案1

如果前面没有空格\DD(也就是说,确切地例如标点符号),然后按如下方式使用您的定义:

\documentclass{article}
\usepackage{xcolor}
\newcommand{\DD}{{\color{red}$\circ$}}

\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lovbabortis\DD\ facilisis
sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet\DD\ mi nec
ante. 
\end{document}

如果有在符号前留有空格,那么你可以尝试这个:

\documentclass{article}
\usepackage{xcolor}
\newcommand{\DD}{\unskip~{\color{red}$\circ$}}

\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam lovborvvv\-is \DD\ facilisis
sem. Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet \DD\ mi nec
ante. 
\end{document

答案2

标点符号永远不应该与前面的单词分开(除非你是法国人)。所以

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam 
lobortis\DD{} facilisis sem. Nullam nec mi et neque pharetra 
sollicitudin. Praesent imperdiet\DD{} mi nec ante. 

是输入代码的方式。请注意,{}符号后面必须有一个空格,因为后面的空格\DD会被忽略(但后面的空格不会被忽略{})。

这个定义可能更好:

\newcommand{\DD}{\textcolor{red}{$\circ$}}

确保\newcommand没有重要的宏被你的宏覆盖。如果文本很短并且不跨行,\textcolor{<color>}{<text>}效果会更好。{\color{<color>}text}

相关内容