Для своей работы (медиевистика) я хотел бы создать список упомянутых лиц и список упомянутых рукописей (они часто имеют только подпись, но не имя в строгом смысле). Для этого я использовал пакет 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}
for \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}
}