Этот вопрос эквивалентен пасу «Аве Мария» в американском футболе! Я пытаюсь использовать пакет, acro
чтобы сделать то, для чего он не предназначен, так что мне, вероятно, повезет – но «ничего не рискует», как говорится.
Пакет acro
позволяет вам печатать различные списки сокращений для различных определенных классов — например, у меня есть классы «гены» и «другие сокращения». Пока все хорошо. Однако я подумал, что попробую использовать пакет для создания списка поставщиков (имен и адресов), поэтому я создал класс «поставщик», использовал краткое имя поставщика вместо сокращения и распечатал отдельный список для этого класса. Проблема в том, что мне нужно отформатировать список по-другому, так как имена поставщиков (даже короткие) имеют тенденцию иметь гораздо больше символов, чем ваша средняя аббревиатура. Я могу определить макет списка с помощью пакета, enumitem
поэтому я определил списки «сокращения» и «поставщики». Однако \printacronyms
команда всегда использует формат списка «сокращения». Что мне действительно нужно, так это создать команду, которая по сути такая же, как команда \printacronyms (например, \printsuppliers
), которая использует формат списка «поставщики». Понятия не имею, возможно ли это вообще, но знаю, что на этом форуме есть умные ребята! Не могу придумать подходящего MWE в этом случае, вопрос скорее общий, чем конкретный.
решение1
Вы можете acro
использовать любой допустимый тип списка, сказав:
\acsetup{list-type=<name of list>}
Вот пример:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{acro,enumitem}
\newlist{foo}{description}{1}
\newlist{baz}{description}{1}
\setlist[foo]{font=\normalfont\itshape}
\setlist[baz]{font=\normalfont\scshape}
\DeclareAcronym{foo}{
short = foo ,
long = the description of foo ,
class = foo
}
\DeclareAcronym{baz}{
short = baz ,
long = the description of baz ,
class = baz
}
\begin{document}
\ac{foo} \ac{baz}
\acsetup{list-type=foo}
\printacronyms[name=Foo types,include-classes=foo]
\acsetup{list-type=baz}
\printacronyms[name=Baz types,include-classes=baz]
\end{document}