使用 \newcommand 快捷数学模式 $...$ 并解决文本间距问题

使用 \newcommand 快捷数学模式 $...$ 并解决文本间距问题

(由于对 LaTeX 不熟悉,因此请详细解释解决方案并举例说明)

我的报告中有很多 N_{(s)}、N_{(s,a)}、R_{(s)}、R_{(s,a)} 等。

这些也经常与其他方程式结合:$Q_{(s)}=\frac{R_{(s)}}{N_{(s)}}=\frac{rewards}{visits}$

我想使用类似的新命令\newcommand{\Ns}{$N_{(s)}$},但是当我在代码中将快捷方式与其周围的文本集成时,它和它后面的字母\Ns之间没有空格。\Ns

例如,在我的 LaTeX 文件中使用 newcommand 和以下内容:

\newcommand{\Ns}{$N_{(s)}$}
          ........
          ........
Technology \Ns has given us

给出 PDF 结果:

在此处输入图片描述

最后,我该如何将 \Ns 与其他方程积分?我想要类似的东西

$\Qs=\frac{\Rs}{\Ns}=\frac{rewards}{visits}$

答案1

我建议不要放$...$放入这些宏,因为我认为明确进入和退出数学模式总是更好,而且它会破坏编辑器中的语法突出显示。正如评论中指出的那样,如果您真的想这样做,请使用\ensuremath

根据您使用这些命令的频率,对于\Rs宏我将使用一个可选参数:

\newcommand\Rs[1][s]{R_{(#1)}}

现在,$\Rs$将产生$R_{(s)}$并且 $\Rs[s,a]$ 将产生 $R_{(s,a)}$。

最后,你不想写\frac{rewards}{visits}因为奖励和访问中的字母看起来像变量相乘。相反,您应该使用\frac{\text{rewards}}{\text{visits}}$. The\text` 命令来自数学包裹。

为了完整起见,这里是 MWE:

\documentclass{article}
\usepackage{amsmath}

\newcommand\Ns[1][s]{N_{(#1)}}
\newcommand\Rs[1][s]{R_{(#1)}}
\newcommand\Qs[1][s]{Q_{(#1)}}

\begin{document}

  $\Qs=\frac{\Rs}{\Ns}=\frac{\text{rewards}}{\text{visits}}$

\end{document}

相关内容