处理仅用于扩展首字母缩略词的“the”需求的最佳实践

处理仅用于扩展首字母缩略词的“the”需求的最佳实践

LaTeX 的缩写包非常非常方便。但是,它似乎无法解决书写要求。

首先,我想说明我认为缩写包的用处,然后描述它的实用性如何因常见用例而受到影响。我使用这个acro包,如果可能的话,我想继续使用它,但我怀疑大多数缩写包都会遇到这个问题。

缩写包允许我使用缩写词,而无需跟踪它们在文档中的首次出现位置或其中的重要部分。该包将找到第一次出现的位置并提供缩写和完整格式,然后使用缩写格式。

问题是,长格式通常需要在前面加定冠词“the”,而短格式则不需要。例如:

Bob hails from *the* Centre for Spaghetti Studies (CSS).
Bob hails from CSS.

*The* Centre for Spaghetti Studies's (CSS's) mandate is broad.
CSS's mandate is broad.

因此,我必须跟踪第一次出现的情况,这很好地否定了我使用任何首字母缩略词包的主要原因。

在编写 LaTeX 文档时,是否有任何做法可以挽救首字母缩略词包的优势?

将长格式定义为包含“the”并不理想。假设我的意思是:

CSS scientists eat well.

第一次出现时我会得到:

*The* Centre for Spaghetti Studies scientists eat well.

我真正想要的是:

Centre for Spaghetti Studies scientists eat well.

谢谢。

答案1

只要您有最新的,acro您就可以定义定冠词和使用它的命令。然后您所要做的就是相应地定义首字母缩略词:

\documentclass{article}
\usepackage{acro}

\DeclareAcroArticle{definite}{the}
\DeclareAcroEnding{possessive}{'s}{'s}

\NewAcroCommand\dac{m}{\acrodefinite\UseAcroTemplate{first}{#1}}
\NewAcroCommand\Dac{m}{\acroupper\acrodefinite\UseAcroTemplate{first}{#1}}

\NewAcroCommand\Dacg{m}{%
  \acroupper
  \acrodefinite
  \acropossessive
  \UseAcroTemplate{first}{#1}%
}

\DeclareAcronym{css}{
  short = CSS ,
  long = Centre for Spaghetti Studies ,
  short-definite = \nospace ,
  long-possessive = '
}

\begin{document}

Bob hails from \dac{css}. \par
Bob hails from \dac{css}.

\acreset{css}

\Dacg{css} mandate is broad. \par
\Dacg{css} mandate is broad.

\acreset{css}

\Dac{css} scientists eat well. \par
\Dac{css} scientists eat well. \par

\end{document}

在此处输入图片描述

答案2

您可以定义一个新模板:

\documentclass[a4paper,12pt]{book}
\usepackage{acro}
\DeclareAcronym{cd}{
 short = CD ,
 long = compact disc
 }

\DeclareAcronym{css}{
 short = CSS ,
 long = Centre for Spaghetti Studies
 } 
\NewAcroTemplate{long-short-the}{%
 \acroiffirstTF{%
 The
 \acrowrite{long}%
 \acspace(%
 \acroifT{foreign}{\acrowrite{foreign}, }%
 \acrowrite{short}%
 \acroifT{alt}{ \acrotranslate{or} \acrowrite{alt}}%
 \acrogroupcite
 )%
 }%
 {\acrowrite{short}}%
 } 
\begin{document}

\ac[first-style=long-short-the]{cd}, \ac{css}

\ac[first-style=long-short-the]{cd}
\end{document}

在此处输入图片描述

相关内容