Сделать элементы ломающимися внутри длинного стола

Сделать элементы ломающимися внутри длинного стола

Я хочу вставить длинные детализированные списки в файл longtable.

Хотя среды itemize обычно вставляют разрывы страниц в соответствующих позициях, они ведут себя так, как будто они неразрывны, когда заключены в longtable. Как я могу повлиять на это поведение?

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

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Связанный контент