使 itemize 在 longtable 內可破壞

使 itemize 在 longtable 內可破壞

我希望在longtable.

雖然 itemize 環境通常會在適當的位置插入分頁符,但當它們包裝在長表中時,它們的行為就好像它們是牢不可破的。我怎樣才能影響這種行為?

\documentclass[a4paper]{article}
\usepackage{blindtext}
\usepackage{longtable}

\begin{document}

\begin{longtable}{|p{10cm}|}
\begin{itemize}
    \item   \blindtext
    \item   \blindtext
    \item   \blindtext
    %\pagebreak
    \item   \blindtext
\end{itemize}
\end{longtable}

\end{document}

編譯上述內容時,第一頁保持空白,而longtable從第二頁開始。整個\itemize環境被填充到底部溢出的單一頁面。

我希望在任何地方插入分頁符號:最好是在兩個連續\item元素之間(或者如果\item太長,它可能會被分解)。即使插入手冊\pagebreak(如暗示的那樣)也只會擴大相鄰\item條目之間的垂直空間,而不會產生預期的行為。

我在其他地方讀到這可能與一些懲罰值有關,但我不太清楚如何設定它們。

編輯: 以上是MWE。真正的文件是一份包含很長的出版清單的報告。我使用表格結構是因為我需要重現一個包含表格中所有內容的官方 Word 範本。有時我需要使用雙列、拆分單元格等來重現模板,所以我確實需要一些longtable類型包。

歡迎涉及其他技巧和包的解決方案。我希望你能看到我想要實現的目標。

真實的情況更像是這樣:

\documentclass[a4paper]{article}
\usepackage{longtable}
\usepackage{enumitem}
\usepackage{hyperref}

\begin{document}

\begin{longtable}{|p{\linewidth}|}

\hline
\textbf{A1. List all scientific publications} \\ \hline
Authors, titles, references, etc. \\ \hline

\setlength{\parindent}{1em}
\textbf{Journal papers}
\begin{enumerate}[start=1,label={[J\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    % many many more items here
\end{enumerate}

\setlength{\parindent}{1em}
\textbf{Patents}
\begin{enumerate}[start=1,label={[P\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    % many many more items here
\end{enumerate}

\setlength{\parindent}{1em}
\textbf{Open source code}
\begin{enumerate}[start=1,label={[O\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors: \textit{Title} \url{https://example.com/software}.
    \item Authors: \textit{Title} \url{https://example.com/software}.
    \item Authors: \textit{Title} \url{https://example.com/software}.
    % many many more items here
\end{enumerate}

\\ \hline

\end{longtable}

\end{document}

答案1

為了您的目的,您不需要longtable。僅使用可以在頁面之間分隔的清單。\hline你可以模仿\noindent\rule{\linewidth}{0.5pt}

\documentclass[a4paper]{article}
\usepackage{enumitem}
\usepackage{hyperref}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\noindent\rule{\linewidth}{0.5pt}

\textbf{A1. List all scientific publications}

Authors, titles, references, etc. 

\noindent\rule{\linewidth}{0.5pt}

\textbf{Journal papers}
\begin{enumerate}[start=1,label={[J\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    \item Authors, ``Title,'' Journal, vol. 00, pp. 1234-4321, 2020.
    % many many more items here
\end{enumerate}

\textbf{Patents}
\begin{enumerate}[start=1,label={[P\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
    \item Authors. Title. Code. Publication number: 123456.
\end{enumerate}

\textbf{Open source code}
\begin{enumerate}[start=1,label={[O\arabic*]},leftmargin=10mm,rightmargin=5mm]
    \item Authors: \textit{Title} \url{https://example.com/software}.
    \item Authors: \textit{Title} \url{https://example.com/software}.
    \item Authors: \textit{Title} \url{https://example.com/software}.
    % many many more items here
\end{enumerate}
\noindent\rule{\linewidth}{0.5pt}

\end{document}

在此輸入影像描述

在此輸入影像描述

在此輸入影像描述

相關內容