我正在尝试创建自动机器日志,但失败了,因为表格单元格的内容无法放在一页上。有没有一种简单的方法可以在单个单元格内允许分页?单元格之间的分页效果很好,但大于页面高度的单元格会产生问题……以下代码说明了这个问题(文本超出了页面底部):
[MikTeX / Windows 环境]
\documentclass[a4paper, 8pt]{article}
\usepackage[a4paper, left=15mm, right=15mm, top=45mm, bottom=35mm]{geometry}
\usepackage[ngerman]{babel}
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{sectsty}
\usepackage{blindtext}
\usepackage{tabularray}
\begin{document}
\section{Einleitung}
\label{Einleitung}
\begin{flushleft}
Beispieltext
\newline
\begin{longtblr}[
entry=none
]{
width=\textwidth,
colspec = {X[l,t] X[l,t,70mm] X[l,t,70mm] X[l,t,14mm]},
rowhead = 1,
rowfoot = 0,
hline{2}={2pt, solid},
hline{3-Y}={1pt, solid},
vline{2-Y}={1pt, solid},
row{1} = {font=\bfseries},
}
{S1} & {S2} & {S3} & {S4} \\
{1} & {\blindtext[4]} & {\blindtext} & { - }\\
\end{longtblr}
\end{flushleft}
\end{document}
如果没有简单的解决方案,我可以将纸张尺寸改为 A3,但这不是一个理想的解决方案。
谢谢你!
答案1
可以模拟一个单元格跨多页的表格。正如建议的那样,主包将是,paracol
因为在这种环境中段落可以继续在后续页面上。但是,每一行都必须是一个单独的环境。您可以使用额外的空间或规则来分隔行。然而,限制是您必须放弃垂直线。标题可以通过(需要)paracol
来模拟。\captionof{table}{...}
caption
下面的示例结合了上述所有内容。我考虑使用\RaggedRight
而不是 ,\raggedright
以便在窄列中实现更平衡的文本(需要ragged2e
包)。
\documentclass{article}
\usepackage{geometry}
\usepackage{paracol}
\usepackage{caption}
\usepackage{ragged2e}
\usepackage{kantlipsum}
\begin{document}
\kant[10]
\begingroup
%%% Setup column ratios for paracol
\columnratio{0.04, 0.46, 0.46}
\definecolumnpreamble{1}{\RaggedRight}
%%% Caption
\medskip
\captionof{table}{Caption}
\rule[0.4ex]{\linewidth}{0.8pt}
\begin{paracol}{4}
S1
\switchcolumn
S2
\switchcolumn
S3
\switchcolumn
S4
\end{paracol}
\rule[1ex]{\linewidth}{0.5pt}%
\begin{paracol}{4}
1
\switchcolumn
\kant[1]
\switchcolumn
\kant[2-3]
\end{paracol}
\rule[0.4ex]{\linewidth}{0.5pt}
\begin{paracol}{4}
2
\switchcolumn
\kant[3-5]
\switchcolumn
\kant[8-9]
\switchcolumn
3
\end{paracol}
\rule[0.4ex]{\linewidth}{0.8pt}\medskip
\endgroup
\kant[11]
\end{document}