TabularX 和 \Newenvironment{} 带分页符

TabularX 和 \Newenvironment{} 带分页符

我指的是 如何使用表格环境在多个页面上创建表格在 tabularx 环境中实现分页符

我正在尝试创建一个表格形式的符号列表,它可以跨越多个页面。我正在处理的文档使用 KOMA-Skriptscrbook类。我将新环境定义symbols为 tabularx,如下所示。由于前面的文字,我的 tabularx 环境应该跨越两页,因为它是符号列表/词汇表的一部分。

我见过关于ltxtable超过 100ltablex个包的建议,其中第一个根据 @DavidCarlisle 的说法存在对所有 apges 进行重新定义的问题,tabularx而我并不需要。但是,这ltxtable需要导入额外的 .tex 文档,这有点麻烦,因为我有 5 个不同的符号列表。

此外,一旦我使用\usepackage{ltablex}编译,它就不再起作用,因为\end{tabluarx}出现了一些错误。

问题:有没有办法使用环境(如给定的环境)将表格跨越两页,而无需导入外部 .tex 数据?需要什么包?

我很感激任何帮助!提前致谢

我当前代码的一个例子是:

\documentclass[a4paper, fontsize=14pt, DIV=calc,version=first, twoside, headsepline, ngerman, headings=small, open=right, numbers=noenddot]{scrbook}
%...
\usepackage{tabularx}
\usepackage[version=4]{mhchem} %Necessary for the Chemical Formula
%...
\begin{document}
%...
\newenvironment{symbols}
  {%
   \tabularx{\textwidth}{
   @{}p{0.1\textwidth} X>{\centering\arraybackslash[}p{0.05\textwidth}<{]}@{}
   }%
  }
  {\endtabularx\\[\belowdisplayskip]}
%...
%A Lot of Text comes here
%...
\addsec*{Lateinische Kleinbuchstaben}
\begin{symbols}
C & Kalk; \ce{CaO} & Pa\\
S & Kieselsäure; \ce{SiO2} & m\\
A & Aluminat; \ce{Al2O3} \\
F & Eisenoxid; \ce{Fe2O3}\\
H & Wasser; \ce{H2O} \\
$\overline{\text{S}}$ & Sulfat; \ce{SO3} \\
\ce{C2S} & Dicalciumsilikat; \ce{2CaO*SiO2}\\
\ce{C3S} & Tricalciumsilikat; \ce{3CaO*SiO2}\\
\ce{C3A} & Tricalciumaluminat; \ce{3CaO*Al2O3}\\
\ce{C4AF} & Tetracalciumaluminatferrit; \ce{4CaO*Al2O3*Fe2O3}\\
AFt & Ettringit, Trisulfat; \ce{3CaO*Al2O3*3CaSO4*32H2O}\\
AFm & Monosulfat; \ce{3CaO*Al2O3*CaSO4*12H2O}\\
CSH & Calciumsilikathydrat \\
CH & Calciumhydroxid \\
\end{symbols}
%...
\end{document}

[编辑]感谢@DavidCarlisle 的回答。

但是我需要 2 和 3 的组合,因为我需要将列分开(这不是我的决定,而是我主管的决定),而且还有一些很长的德文文本需要换行。有什么解决方案吗?

此外,我在一行中列出了各种符号,并且所有符号都必须对齐,因此我使用了两个固定的 p{..\textwidth 列} 和 ax 列。有没有办法解决这个问题longtables?(参见图片以了解我需要什么)

在此处输入图片描述

答案1

只需使用,longtable您就不需要任何外部文件或其他奇怪的声明:

在此处输入图片描述

\documentclass[a4paper, fontsize=14pt, DIV=calc,version=first, twoside, headsepline, ngerman, headings=small, open=right, numbers=noenddot]{scrbook}
%...
\usepackage{longtable,array}
\usepackage[version=4]{mhchem} %Necessary for the Chemical Formula
%...

\begin{document}
%...
%...
%A Lot of Text comes here
%...
\addsec*{Lateinische Kleinbuchstaben}
\begin{longtable}{lll}
C & Kalk; \ce{CaO} & Pa\\
S & Kieselsäure; \ce{SiO2} & m\\
A & Aluminat; \ce{Al2O3} \\
F & Eisenoxid; \ce{Fe2O3}\\
H & Wasser; \ce{H2O} \\
$\overline{\text{S}}$ & Sulfat; \ce{SO3} \\
\ce{C2S} & Dicalciumsilikat; \ce{2CaO*SiO2}\\
\ce{C3S} & Tricalciumsilikat; \ce{3CaO*SiO2}\\
\ce{C3A} & Tricalciumaluminat; \ce{3CaO*Al2O3}\\
\ce{C4AF} & Tetracalciumaluminatferrit; \ce{4CaO*Al2O3*Fe2O3}\\
AFt & Ettringit, Trisulfat; \ce{3CaO*Al2O3*3CaSO4*32H2O}\\
AFm & Monosulfat; \ce{3CaO*Al2O3*CaSO4*12H2O}\\
CSH & Calciumsilikathydrat \\
CH & Calciumhydroxid \\
\end{longtable}


or if you \emph{really} want to stretch the columns apart 

{
\setlength\LTleft{0pt}
\setlength\LTright{0pt}
\begin{longtable}{@{\extracolsep{\fill}}lll@{}}
C & Kalk; \ce{CaO} & Pa\\
S & Kieselsäure; \ce{SiO2} & m\\
A & Aluminat; \ce{Al2O3} \\
F & Eisenoxid; \ce{Fe2O3}\\
H & Wasser; \ce{H2O} \\
$\overline{\text{S}}$ & Sulfat; \ce{SO3} \\
\ce{C2S} & Dicalciumsilikat; \ce{2CaO*SiO2}\\
\ce{C3S} & Tricalciumsilikat; \ce{3CaO*SiO2}\\
\ce{C3A} & Tricalciumaluminat; \ce{3CaO*Al2O3}\\
\ce{C4AF} & Tetracalciumaluminatferrit; \ce{4CaO*Al2O3*Fe2O3}\\
AFt & Ettringit, Trisulfat; \ce{3CaO*Al2O3*3CaSO4*32H2O}\\
AFm & Monosulfat; \ce{3CaO*Al2O3*CaSO4*12H2O}\\
CSH & Calciumsilikathydrat \\
CH & Calciumhydroxid \\
\end{longtable}
}


Or if that middle column can get really long and needs to linewrap:


\begin{longtable}{l>{\raggedright\arraybackslash}p{.7\textwidth}l}
C & Kalk; \ce{CaO} & Pa\\
S & Kieselsäure; \ce{SiO2} & m\\
A & Aluminat; \ce{Al2O3} \\
F & Eisenoxid; \ce{Fe2O3}\\
H & Wasser; \ce{H2O} \\
$\overline{\text{S}}$ & Sulfat; \ce{SO3} \\
\ce{C2S} & Dicalciumsilikat; \ce{2CaO*SiO2}\\
\ce{C3S} & Tricalciumsilikat; \ce{3CaO*SiO2}\\
\ce{C3A} & Tricalciumaluminat; \ce{3CaO*Al2O3}\\
\ce{C4AF} & Tetracalciumaluminatferrit chemistryandgermantogetherresultsinsuchlongwords; \ce{4CaO*Al2O3*Fe2O3}\\
AFt & Ettringit, Trisulfat; \ce{3CaO*Al2O3*3CaSO4*32H2O}\\
AFm & Monosulfat; \ce{3CaO*Al2O3*CaSO4*12H2O}\\
CSH & Calciumsilikathydrat \\
CH & Calciumhydroxid \\
\end{longtable}

\end{document}

相关内容