如何使用 tabu 套件建立全寬縮寫字表?

如何使用 tabu 套件建立全寬縮寫字表?

我想要一份完整的首字母縮寫列表。

使用longtabufromtabu包,可以將結構的功能longtable結合起來:tabularx

\begin{longtabu}to\linewidth{@{}lX@{}} ... \end{longtabu}

但是我不知道如何實現包acro

\documentclass{article} 
\usepackage{tabu,longtable} 
\usepackage{acro}
\usepackage{showframe}

\DeclareInstance{acro-page-number}{dotfill}{default}{ 
  punct = true ,
  punct-symbol = \dotfill
} 

\acsetup{ 
  list-type = table , 
  list-style = longtable, 
  list-table-width=\linewidth,
  pages = first,
  page-name = ,
  pages-name = ,
  page-ref = dotfill
}

\ExplSyntaxOn

\DeclareTemplateInterface {acro-list} {table} { 3 }
  {
    table : tokenlist = longtable         ,
    table-spec  : tokenlist = @{}l@{\hspace{10pt}}p{\l__acro_table_width_dim}@{} ,
    foreign-sep : tokenlist = { ~ }
  }

\DeclareInstance { acro-list } { longtable }
  { table }
  { table = longtable }

\ExplSyntaxOff

\DeclareAcronym{bar}{ short = bar, long = {barbar} } 
\DeclareAcronym{foo}{ short = foo, long = {foofoo} } 

\begin{document}

%\noindent
\printacronyms

\noindent
\ac{foo}\\
\ac{bar}\\ 
\ac{foo}

\end{document}

答案1

我於2015年8月16日將v2.0發送到CTAN。有了它,以下內容現在可以按預期工作:

  1. 首先聲明一個acro-list實例longtabu

    \DeclareInstance{acro-list}{longtabu}{table}{
      table = longtabu ,
      table-spec = @{}>{\bfseries}lX@{}
    }
    
  2. list-style設定使用新實例的選項:

    \acsetup{ 
      list-type = table ,
      list-style = longtabu
    }
    

一個完整的例子:

% http://tex.stackexchange.com/q/258646/
\documentclass{article} 
\usepackage{tabu,longtable} 
\usepackage{acro}[2015/08/16]
\usepackage{showframe}

\DeclareInstance{acro-page-number}{dotfill}{default}{ 
  punct = true ,
  punct-symbol = \dotfill
} 

\DeclareInstance{acro-list}{longtabu}{table}{
  table = longtabu ,
  table-spec = @{}>{\bfseries}lX@{}
}

\acsetup{ 
  list-type = table ,
  list-style = longtabu ,
  pages = first ,
  page-name = ,
  pages-name = ,
  page-ref = dotfill
}

\DeclareAcronym{bar}{ short = bar, long = {barbar} } 
\DeclareAcronym{foo}{ short = foo, long = {foofoo} } 

\begin{document}

\printacronyms

\ac{foo} \par
\ac{bar} \par
\ac{foo}

\end{document}

在此輸入影像描述

相關內容