Posso imprimir duas listas de siglas com layouts diferentes com o pacote acro?

Posso imprimir duas listas de siglas com layouts diferentes com o pacote acro?

Esta pergunta equivale ao 'passe Ave Maria' no futebol americano! Estou tentando usar o acropacote para fazer algo para o qual ele não foi projetado, então provavelmente terei sorte - mas 'nada aventurei', como dizem.

O acropacote permite imprimir diferentes listas de siglas para diferentes classes definidas – por exemplo, tenho as classes 'genes' e 'outras siglas'. Até agora tudo bem. No entanto, pensei em tentar usar o pacote para produzir uma lista de fornecedores (nomes e endereços), então criei uma classe 'fornecedor', usei um nome abreviado de fornecedor no lugar de um acrônimo e imprimi um separado lista para esta classe. O problema é que preciso formatar a lista de maneira diferente, pois os nomes dos fornecedores (mesmo os curtos) tendem a ter mais caracteres do que uma sigla comum. Posso definir um layout de lista usando o enumitempacote, então defini listas de 'acrônimos' e 'fornecedores'. No entanto, o \printacronymscomando sempre usa o formato de lista de 'acrônimos'. O que eu realmente preciso é criar um comando que seja essencialmente igual ao comando \printacronyms (por exemplo, \printsuppliers) que usa o formato de lista de 'fornecedores'. Não tenho ideia se isso é possível, mas sei que existem alguns caras espertos neste fórum! Não consigo pensar em um MWE adequado nesta ocasião, a questão é mais geral do que específica.

Responder1

Você faz acrouso de qualquer tipo de lista válido dizendo

\acsetup{list-type=<name of list>}

Aqui está um exemplo:

\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}

insira a descrição da imagem aqui

informação relacionada