连接多个数学环境时强制使用连续数学环境

连接多个数学环境时强制使用连续数学环境

我的符号设置不标准。我不需要在每个方程中明确定义它们,例如:

\begin{equation}
a_i={\bf b}^{(est)}_i \cdot {\bf c}^{(obs)}_i
\end{equation}

我定义首字母缩略词(使用首字母缩略词包):

\acro{a}[$a$]{scalar quantity a}
\acro{b}[${\bf b}$]{vector quantity b}
\acro{c}[${\bf c}$]{vector quantity c}
\acro{epoch.i}[$_i$]{epoch $i$}
\acro{dot}[$\cdot$]{dot product}
\acro{est}[$^{(est}}$]{estimated}
\acro{obs}[$^{(obs}}$]{observed}

...并在方程中使用简写形式:

\begin{equation}
\acs{a}\acs{epoch.i}=\acs{b}\acs{est}\acs{epoch.i}\acs{dot}\acs{c}\acs{obs}\acs{epoch.i}
\end{equation}

这样做的动机是,我可以将符号与其文本含义联系起来,例如:

\acl{obs} \acl{b} 由 \acs{b}\acs{obs} 表示。

...我免费获得了一份一致的符号列表。

问题出现在上标与下标混合时,例如:

{\bf b}^{(est)}_i;

...我实际得到的是:

${\bf b}$$^{(est)}$$_i$

...这意味着数学环境是串联的而不是连续的,导致下标出现在上标之后而不是像通常那样出现在上标之下。

有什么建议可以解决这个问题而不破坏我良好的缩写设置?

答案1

我真的不知道这会出多大的问题;例如,它不适用于hyperref,但这是一个起点。

\documentclass{article}
\usepackage[printonlyused,withpage]{acronym}

\protected\def\EM#1{\relax\ifmmode#1\else$#1$\fi}
\makeatletter
\newcommand\acsm[1]{%
  \@ifundefined{fn@#1}
    {\underline{#1}}
    {\expandafter\expandafter\expandafter\@firstoftwo\csname fn@#1\endcsname}%
}
\makeatother

\begin{document}

\begin{acronym}
  \acro{a}[\EM{a}]{scalar quantity a}
  \acro{b}[\EM{\mathbf{b}}]{vector quantity b}
  \acro{c}[\EM{\mathbf{c}}]{vector quantity c}
  \acro{epoch.i}[\EM{_i}]{epoch $i$}
  \acro{dot}[\EM{\cdot}]{dot product}
  \acro{est}[\EM{^{(est)}}]{estimated}
  \acro{obs}[\EM{^{(obs)}}]{observed}
  \acro{sum}[\EM{\sum}]{sum}
\end{acronym}

\begin{equation}
\acsm{a}\acsm{epoch.i}=\acsm{b}\acsm{est}\acsm{epoch.i}\acsm{dot}\acsm{c}\acsm{obs}\acsm{epoch.i}
\end{equation}

\[\acsm{b}\acsm{est}\acsm{epoch.i}\acsm{sum}_{1\le k\le n}a_k\]

\end{document}

在此处输入图片描述

答案2

对我来说这似乎是一种奇怪的编写 TeX 的方式:) 尽管如此,我认为如果您只是使用\ensuremath而不是$...$在首字母缩略词中明确输入数学模式,您就可以做您想做的事情:

\documentclass{article}
\usepackage[printonlyused,withpage]{acronym}

\begin{document}

\begin{acronym}
  \acro{a}[\ensuremath{a}]{scalar quantity a}
  \acro{b}[\ensuremath{{\mathbf b}}]{vector quantity b}
  \acro{c}[\ensuremath{{\mathbf c}}]{vector quantity c}
  \acro{epoch.i}[\ensuremath{{}_i}]{epoch $i$}
  \acro{dot}[\ensuremath{\cdot}]{dot product}
  \acro{est}[\ensuremath{{}^{(est)}}]{estimated}
  \acro{obs}[\ensuremath{{}^{(obs)}}]{observed}
\end{acronym}

\begin{equation}
\acs{a}\acs{epoch.i}=\acs{b}\acs{est}\acs{epoch.i}\acs{dot}\acs{c}\acs{obs}\acs{epoch.i}
\end{equation}

$\acs{b}\acs{est}\acs{epoch.i}$


\end{document}

相关内容