对于我的论文(中世纪研究),我想创建一个提及的人员列表和一个提及的手稿列表(严格意义上来说,它们通常只有签名,但没有名字)。为此,我使用了 acro 包,它以某种方式工作……但我有两个问题:
在手稿列表中,我想打印短格式(或长格式。这无所谓,因为这些对于手稿来说是相同的!)而不是短格式和长格式。使用 acro 包是否可以只打印一种格式?
在人员列表中,我想交换短格式和长格式的顺序(即先是长格式,然后是短格式)。可以吗?
\documentclass{scrbook}
\usepackage{acro}
\acsetup{
pages / display = all
}
\DeclareAcronym{john}{
short = {Johnny},
long = {John Example},
long-post = {\space (1900--1980)},
extra = {1900--1980, poet},
tag={person}
}
\DeclareAcronym{abc_123}{
short = {ABC~123},
long = {ABC~123},
long-post = {\space (20th century)},
extra = {20th century, paper manuscript},
tag={manuscript},
}
\begin{document}
\acl{john} wrote \acs{abc_123}.
\printacronyms[include=person, name=Persons, preamble={Something about people.}]
\printacronyms[include=manuscript, name=Manuscripts, preamble={Something about manuscripts.}]
\end{document}
我已经研究了 acro-manual 好一阵子了,也用谷歌搜索过,还看过这里。我可能只是瞎了眼……如果有人能帮助我,我将不胜感激。我对 LaTeX 还是个新手。非常感谢。
答案1
我的第一个想法是,nomencl
或者glossaries
对于人员列表和手稿列表来说这将是一个更好的工具,但您绝对可以根据要求biblatex
自定义首字母缩略词列表。acro
文档的相关部分是III 25 Templates
,默认列表模板是
\NewAcroTemplate[list]{description}{%
\acroheading
\acropreamble
\begin{description}
\acronymsmapF{%
\item[\acrowrite{short}\acroifT{alt}{/\acrowrite{alt}}]
\acrowrite{list}%
\acroifanyT{foreign,extra}{ (}%
\acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
\acroifT{extra}{\acrowrite{extra}}%
\acroifanyT{foreign,extra}{)}%
\acropagefill
\acropages
{\acrotranslate{page}\nobreakspace}
{\acrotranslate{pages}\nobreakspace}%
}
{\item\AcroRerun}
\end{description}
}
对于手稿列表,我会将 替换\acrowrite{short}
为\acrowrite{list}
(默认情况下为long
,但可以用 覆盖list
),并修改 的打印,extra
使其出现在括号外面,但保持foreign
键的外观不变。
\NewAcroTemplate[list]{manuscripts}{%
\acroheading
\acropreamble
\begin{description}
\acronymsmapF{%
\item[\acrowrite{list}\acroifT{alt}{/\acrowrite{alt}}]
\acrowrite{extra}%
\acroifT{foreign}{ (%
\acrowrite{foreign}%
)}%
\acropagefill
\acropages
{\acrotranslate{page}\nobreakspace}
{\acrotranslate{pages}\nobreakspace}%
}
{\item\AcroRerun}
\end{description}
}
对于人员,我们只需交换\acrowrite{short}
和\acrowrite{list}
密钥,其他方面保持不变
\NewAcroTemplate[list]{persons}{%
\acroheading
\acropreamble
\begin{description}
\acronymsmapF{%
\item[\acrowrite{list}\acroifT{alt}{/\acrowrite{alt}}]
\acrowrite{short}%
\acroifanyT{foreign,extra}{ (}%
\acroifT{foreign}{\acrowrite{foreign}\acroifT{extra}{, }}%
\acroifT{extra}{\acrowrite{extra}}%
\acroifanyT{foreign,extra}{)}%
\acropagefill
\acropages
{\acrotranslate{page}\nobreakspace}
{\acrotranslate{pages}\nobreakspace}%
}
{\item\AcroRerun}
\end{description}
}