我创建了一个非常简单的符号,并在正文中尝试使用它。我想要的是这个符号永远不会出现在行首,这意味着 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}