除标点符号前外,用尾随空格替换

除标点符号前外,用尾随空格替换

我目前正在使用许多简单的替代品,例如:

\newcommand{\abc}{{\small ABC}}
\newcommand{\ABC}{{\abc} }

然后在我的文档文本中:

I use \ABC if I want a space and if not then \abc.

我将这种模式用于小型大写字母,因为的输出\textsc要么太大(对于大写字母而言),要么太小(对于小写字母而言),但我也将其用于重音符号。

但是,对于我来说,如果我只使用一个命令就更好了,如下所示:

I use \abc if I want a space and if not then I can still use \abc.

所以,我的问题是:

  1. 有没有办法通过智能检测标点符号将\ABC\abc命令组合在一起\abc?我猜这需要向解析器询问一个前瞻标记。

  2. 如果是的话,界面是否可以简单一点,例如:

\smartnewcommand{\abc}{\small ABC}
  1. 并且接口还可以处理:
\smartnewcommand{\def}{d\'{e}f}

答案1

尝试\abc{}在任何地方使用,甚至在标点符号之前。

\documentclass[]{article}

\newcommand{\abc}{ABC}

\begin{document}
    \abc{} in text, before comma \abc{}, and before fullstop \abc{}.
\end{document}

输出:

在此处输入图片描述

答案2

你问错问题了。

相关内容