新的命令、间距和斜体字体

新的命令、间距和斜体字体

我已将该\def命令用于几个较长的科学术语,这样我就可以轻松快速地引用它们,而不必每次都将它们输入出来,例如\carbfor $\delta$$^{13}$C(full code \def\carb{$\delta$$^{13}$C })。但是,如果我不在 C 后面加上最后一个空格,输出就会进入下一个单词。如果我在句号或 ) 之前使用定义,就会出现问题,因为它会添加一个额外的空格,例如 (δ13C ) 或 [δ13C .]。

我尝试了xspace可以​​解决标点符号问题的软件包,但它没有在我想要斜体的单词后添加空格。我{}在我的文档中添加了它,这确实解决了问题,但我想知道是否有更简单的方法?我有一个有此问题的 define 命令示例:\def\geog{\textit{geography\xspace}}

谢谢你!

答案1

我不会使用像 \carb 这样的大量命令。在我看来,这种方法最终会变得相当混乱,而且很多时候好的命令名已经被其他包占用。我会使用一个命令,例如 \sh(简写),并带有一个参数。除了解决空格问题之外,它还允许您使用数字和标点符号。这是一种简单的方法,但您也可以使用词汇表或 acro。

\documentclass{article}
\makeatletter
\@namedef{myshorthand@carb}{$\delta$$^{13}$C}
\@namedef{myshorthand@carb-12}{$\delta$$^{12}$C}
\@namedef{myshorthand@carb-n}{$\delta$$^{n}$C}

\newcommand\sh[1]{\csname myshorthand@#1\endcsname}
\makeatother

\begin{document}
\sh{carb}, \sh{carb} blblb 

\sh{carb-12}, \sh{carb-n}

\end{document}

在此处输入图片描述

答案2

我不会用\xspace,但如果你使用它,语法是

\newcommand\geog{\textit{geography}\xspace}

相关内容