Как создать таблицу аббревиатур на всю ширину с помощью пакета tabu?

Как создать таблицу аббревиатур на всю ширину с помощью пакета tabu?

Мне нужен полный список сокращений.

С помощью longtabuпакета from tabuможно комбинировать особенности из 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

Я отправил v2.0 в CTAN 16.08.2015. С ним следующее теперь работает как и ожидалось:

  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}

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

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