带有变量的命令在文本中添加水平间距

带有变量的命令在文本中添加水平间距

我使用以下命令创建文章的两个版本,其中一个版本相对于第一个版本的更改以蓝色显示,第二个版本应该是最终版本(常规字体颜色)。这是我的命令:

\newcommand{\rev}[1]{
  \iflogvar
    \color{blue}{#1}
  \else
    {#1}
  \fi
} 

但是,使用此命令似乎会增加一些水平间距,如下图所示:

图 1:\rev{此外,....} 其中 logvar 设置为 true:

在此处输入图片描述

图片 2:\rev{此外,....},其中 logvar 设置为 false

在此处输入图片描述

图 3:此外,....没有命令:

在此处输入图片描述

我在一些帖子中看到命令 \color{}{} 会增加垂直间距,我不确定这是否与 \color 或命令的 if 子句有关。对此有什么看法?

非常感谢,

答案1

您的宏中有三个虚假空格,由换行符产生。其中一个位于文本之前。可以通过%在行尾添加注释符号 ( ) 来消除它们。

\newcommand{\rev}[1]{% <-- space removed
  \iflogvar
    \color{blue}{#1}% <-- space removed
  \else
    {#1}% <-- space removed
  \fi
}

由于缺乏最小工作示例(MWE)

相关内容