Acro套件:如何僅列印縮寫清單中的一種形式(短或長)?如何交換列印清單中的長格式和短格式?

Acro套件:如何僅列印縮寫清單中的一種形式(短或長)?如何交換列印清單中的長格式和短格式?

對於我的論文(中世紀研究),我想創建一個提到的人的清單和一個提到的手稿的清單(他們通常只有簽名,但嚴格意義上沒有名字)。為此,我使用了 acro 包,它以某種方式工作......但我有兩個問題:

  1. 在手稿清單中,我想列印簡短形式(或長形式。這並不重要,因為這些對於手稿來說是相同的!),而不是同時列印短形式和長形式。使用 acro 套件是否可以只列印一份表格?

  2. 在人員清單中,我想交換短格式和長格式的順序(所以先長格式,然後短格式)。這可能嗎?

\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 手冊,也用谷歌搜尋了它,看看這裡。我可能只是瞎了......如果有人能幫助我,我將非常感激。對 LaTeX 還很陌生。太感謝了。

答案1

我的第一個想法是,nomenclorglossaries將是一個更好的工具,用於人員列表和手稿列表,但您絕對可以根據要求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}
}

顯示人員清單範本結果的編譯程式碼

相關內容