Могу ли я распечатать два списка сокращений с разными макетами с помощью пакета acro?

Могу ли я распечатать два списка сокращений с разными макетами с помощью пакета acro?

Этот вопрос эквивалентен пасу «Аве Мария» в американском футболе! Я пытаюсь использовать пакет, 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}

введите описание изображения здесь

Связанный контент