缩写包:交换短格式和长格式

缩写包:交换短格式和长格式

抱歉,我重复提问了:我正是想实现 @eDeviser 提出的问题缩写、互换描述和缩写但由于我的声誉较低,我无法在那里合作:如何在第一次使用缩写词时交换其短格式和长格式(将长格式放在括号中)?之后只应显示短格式。

我很难接受@clemens 建议的解决方案(https://tex.stackexchange.com/a/288328/118158)。我使用Rmarkdown和pandoc生成pdf,但是出现以下错误:

! Illegal parameter number in definition of \reserved@a.
<to be read again> 
                   1
l.165 ...ring{\protect\@acf{#1}}{#1 (\AC@acl{#1})}

pandoc: Error producing PDF from TeX source

相关部分硕士使用 YAML 片段:

---
header-includes:
- \usepackage[nohyperlinks, printonlyused]{acronym}
---
```{r child = 'Abstract.Rmd'}
```
```{r child = 'Abbreviations.Rmd'}
```

缩写.Rmd

\begin{acronym}
  \acro{API}[API]{application programming interface}
\end{acronym}

摘要.Rmd基于@clemens 解决方案

\makeatletter
% singular:
\renewcommand*{\acfa}[1]{%
  \texorpdfstring{\protect\@acf{#1}}{#1 (\AC@acl{#1})}%
}
\renewcommand*{\@acf}[1]{%
  \acffont{%
    \AC@placelabel{#1}%
    \acfsfont{\acsfont{\AC@acs{#1}}}%
    \nolinebreak[3] %
    (\AC@acl{#1})%
  }%
}
\makeatother

\ac{API}\newline

答案1

我能够通过直接在原始acronym.sty文件中进行更改来解决这个问题,在我的情况下,原始文件位于/usr/local/texlive/2016/texmf-dist/tex/latex/acronym

但我不明白为什么这种\renewcommand方法不起作用。

相关内容