我正在尝试创建一个表格形式的符号列表,它可以跨越多个页面。我正在处理的文档使用 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}