长表和分页符

长表和分页符

我正在为我的软件工程项目编写用例文档。我用它longtable来获取一个跨多页的模板。

\documentclass{article}
\usepackage{array}
\usepackage{lipsum} % Used to produce long text
\usepackage{longtable}
\newcolumntype{L}{>{\raggedleft}p{0.2\textwidth}}
\newcolumntype{R}{p{0.74\textwidth}}
\newcommand\VRule{\vrule width 0.5pt}

\begin{document}
    \begin{longtable}{L!{\VRule}R}
        \hline
        \textbf{ID}                & \texttt{UC\_01\_01}            \\
        \textbf{Name}              & Password recovery              \\
        \textbf{\textit{Macro}-UC} & Registration (\texttt{UC\_01}) \\
        \textbf{Actors}            & \texttt{ACTOR\_02}             \\ \hline
        \textbf{Preconditions}     & \lipsum[2-4]                   \\ \hline
        \textbf{Main flow}         & Some itemize list here!        \\ \hline
        \textbf{Postconditions}    & \lipsum[5-7]                   \\ \hline
    \end{longtable}
\end{document}

问题是表格在行内没有拆分。我需要将可拆分的内容放入行中,以便在每页上进行均匀填充。

我尝试使用framed包将这一行包装在一个框中,但不起作用。我注意到我可以使用mdframed包在框内实现分页,但我无法使用它,因为我正在处理ScribTeX而且我的电脑上没有安装任何版本的 LaTeX。

我也尝试过该usecase包,但它不支持分页。

你能建议我一个技巧或替代方法来实现这个结果吗?我已经在这个问题上纠结了两天了。

答案1

我不认为在 longtable 或任何其他表格环境中可以做到这一点,因为表格单元格内的材料是 TeX 框,根据定义,它们不能被破坏。

我建议你改用parcolumns,它被设计用于为多语言文本排版多列。以下是一个例子:

\documentclass{article}
\usepackage{lipsum} % Used to produce long text
\usepackage{parcolumns}

\parindent=0pt

\begin{document}
\begin{parcolumns}[colwidths={2=0.74\textwidth},rulebetween,sloppy]{2}
    \colchunk[1]{\textbf{ID}}
    \colchunk[2]{\texttt{UC\_01\_01}}
    \colplacechunks

    \colchunk[1]{\textbf{Name}}
    \colchunk[2]{Password recovery}
    \colplacechunks

    \colchunk[1]{\textbf{\textit{Macro}-UC}}
    \colchunk[2]{Registration (\texttt{UC\_01})}
    \colplacechunks

    \colchunk[1]{\textbf{Actors}}
    \colchunk[2]{\texttt{ACTOR\_02}}
    \colplacechunks

    \colchunk[1]{\textbf{Preconditions}}
    \colchunk[2]{\lipsum[2-4]}
    \colplacechunks

    \colchunk[1]{\textbf{Main flow}}
    \colchunk[2]{Some itemize list here!}
    \colplacechunks

    \colchunk[1]{\textbf{Postconditions}}
    \colchunk[2]{\lipsum[5-9]}
    \colplacechunks
\end{parcolumns}
\end{document}

答案2

仅记录parallel包裹:

\documentclass{article}
\usepackage{lipsum} % Used to produce long text
\usepackage{parallel}
\parindent=0pt

\begin{document}
\begin{Parallel}[v]{0.4\textwidth}{0.55\textwidth}
    \ParallelLText{\textbf{ID}}
    \ParallelRText{\texttt{UC\_01\_01}}
    \ParallelPar

    \ParallelLText{\textbf{Name}}
    \ParallelRText{Password recovery}
    \ParallelPar

    \ParallelLText{\textbf{\textit{Macro}-UC}}
    \ParallelRText{Registration (\texttt{UC\_01})}
    \ParallelPar

    \ParallelLText{\textbf{Actors}}
    \ParallelRText{\texttt{ACTOR\_02}}
    \ParallelPar

    \ParallelLText{\textbf{Preconditions}}
    \ParallelRText{\lipsum[2-4]}
    \ParallelPar

    \ParallelLText{\textbf{Main flow}}
    \ParallelRText{Some itemize list here!}
    \ParallelPar

    \ParallelLText{\textbf{Postconditions}}
    \ParallelRText{\lipsum[5-9]}
\end{Parallel}
\end{document}

相关内容