longtabu 的相同实例

longtabu 的相同实例

定义一个类文件,我想定义一个新的环境,它本质上是一个longtabu。 定义longtabu为具有可变宽度的左列,我希望在环境的所有实例中它都是相同的,尽管第二个实例将决定该列的宽度。

类文件

    \newenvironment{listazo}{
    \begin{longtabu} to \textwidth{X[-1l]X}}
    {\end{longtabu}}

tex 文件

    \section*{First}
    \begin{listazo}

    ... stuff ...

    \end{listazo}

    \section*{Second}
    \begin{listazo}

    ... stuff ...

    \end{listazo}

目前,每个环境实例设置的第一列宽度都不同。我怎样才能让它们都使用相同的列宽,以及环境第二个实例的列宽?

答案1

tabu 在这里只是使用 longtable 内部,所以你可以这样做

在此处输入图片描述

\documentclass{article}

\usepackage{longtable,tabu}



    \newenvironment{listazo}{
    \begin{longtabu} to \textwidth{X[-1l]X}}
    {\end{longtabu}}

\makeatletter
\AtBeginDocument{%
{\let\ifhmode\iftrue
\xdef\tmp{\csname LT@ii\endcsname}%
\xdef\tmp{\expandafter\@gobble\tmp}}%
}
\makeatother

\begin{document}

The tex file

    \section*{First}
    \begin{listazo}

   aaaaaa & bbbb bbb bbb bbb bb bb bb\\\tmp\kill
    \end{listazo}

    \section*{Second}
    \begin{listazo}

   aaaaaa aa a a a a a a a a & bbbb bbb bbb bbb bb bb bb  bb b b b b b b \\
   aaaaaa aa a a a a a a a a   aaaaaa aa a a a a a a a a & 
bbbb bbb bbb bbb bb bb bb  bb b b b b b b 
bbbb bbb bbb bbb bb bb bb  bb b b b b b b 



    \end{listazo}

\end{document}

相关内容