Acro 包:缩写中的逗号

Acro 包:缩写中的逗号

我正在使用该acro包,我想在其中一个缩写词中使用逗号。不幸的是,TeXnicCenter 出现了问题:

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
! LaTeX error: "xparse/split-excess-tokens"
! 
! Too many ',' tokens when trying to split argument.
! 
! See the LaTeX3 documentation for further information.
! 
! For immediate help type H <return>.
!...............................................  

l.24 ...m{pvt}{PVT}{process, voltage, temperature}

|'''''''''''''''''''''''''''''''''''''''''''''''
| LaTeX was asked to split the input 'process, voltage, temperature' at each
| occurrence of the token ',', up to a maximum of 2 parts. There were too many
| ',' tokens.
|............................................... 

我的代码:

\documentclass{article}
\usepackage{acro}
\acsetup{list-long-format=\capitalisewords}
\usepackage{mfirstuc}% provides \capitalisewords

\DeclareAcronym{pvt}{PVT}{process, voltage, temperature}

\begin{document}
The environmental space is known as \ac{pvt} blah blah blah
\end{document}

显然,在目前的形式下,我让它工作的唯一方法是删除逗号,但我非常想鱼与熊掌兼得。那么我该如何将它写成:

环境空间被称为过程、变化、温度(PVT)等等......

答案1

版本 1.*

声明首字母缩略词的语法如下:

\DeclareAcronym{<id>}{
  short = <short> ,
  long  = <long> ,
  <other key value pairs>
}

这里或多或少明显的是,逗号分隔了单个键/值对,因此如果值包含一个或多个逗号,则必须用括号写出。

\DeclareAcronym{pvt}{
  short = PVT ,
  long = {process, voltage, temperature}
}

版本 0.*

在版本 0.* 中,命令的语法有所不同。

缩写由

\DeclareAcronym{<id>}{<short>}{<long>}

但这只是事实的一小部分。更准确且对你的问题的解释是这样的:

\DeclareAcronym{<id>}{<short>,<plural ending>}{<long>,<plural ending>}

<short>和参数都由<long>可能的逗号分隔,在逗号后可以添加与默认的不同的复数结尾s。您的条目有两个逗号,因此acro看到以下内容:

\DeclareAcronym{pvt}{PVT}{process, voltage, temperature}
 - id:    pvt
 - short: PVT
 - long:  process
 - long plural ending: voltage (including a leading space)

然后它就卡住了,因为它没想到会有第二个逗号。解决方法:用一对额外的括号隐藏逗号或整个长条目。

\DeclareAcronym{pvt}{PVT}{{process, voltage, temperature}}

相关内容