带有 tabularray 的多页单元格

带有 tabularray 的多页单元格

我正在尝试创建自动机器日志,但失败了,因为表格单元格的内容无法放在一页上。有没有一种简单的方法可以在单个单元格内允许分页?单元格之间的分页效果很好,但大于页面高度的单元格会产生问题……以下代码说明了这个问题(文本超出了页面底部):

[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}

生成的 pdf 的屏幕截图

如果没有简单的解决方案,我可以将纸张尺寸改为 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}

在此处输入图片描述

相关内容