tcolorbox или parcolumns некорректно отображают мои рецепты

tcolorbox или parcolumns некорректно отображают мои рецепты

В настоящее время я пишу новую версию своей французской кулинарной книги (я имею в виду, на французском языке).

Моя проблема в том, что я хотел бы, чтобы рецепты выглядели примерно так:

Что я хочу

Этот стиль состоит из двух независимых столбцов, каждый из которых содержит структуру, подобную иэмизе.

Мои потребности :

  1. два столбца должны быть независимыми
  2. Он должен прерываться прямо в конце страницы (т.е. он должен прерываться так, как будто спейдо-колонка продолжается на другой странице).

1-я попытка: tcolorbox

В примере выше используется sidebyside tcolorbor. Он работает хорошо, как и растровая библиотека tcolorbox, но не обрывается в конце страницы.

2-я попытка: parcolumns

Кажется, это хорошо работает для абзацев, таких как задано Lipsum, но, похоже, у него есть некоторые проблемы с окружениями в стиле itemize. Вот что я получаю с разрывом страницы и без него.

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

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

Проблемы следующие: 1. Пространство для элементов левого перечня слишком мало. 2. Пространство для элементов правого перечня слишком велико. 3. Странные дополнительные пробелы (над первым перечислением).

Я видел решение на этом форуме, где предлагалось создать мини-страницу для решения этих проблем, но тогда ее было бы невозможно тормозить :с

Заключение

Кажется, я пробовал разные решения, но ни одно из них не сработало. Есть идея?

Минимальный рабочий образец.

\documentclass{article}
\usepackage{showframe}

%% With tcolorbox

\usepackage[most]{tcolorbox}
\tcbuselibrary{raster}
\tcbuselibrary{breakable, skins}

\tcbset{colback=white,colframe=white, left skip=0pt, right skip=0pt, left=0pt, right=0pt, top=0pt, bottom=0pt, rightrule=0pt, leftrule=0pt, toprule=0pt, bottomrule=0pt, sharp corners,  breakable}

\newcommand\itemlist{
    \subsection{Ingredients}
    \begin{itemize}
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element that is quite long
      \item Some nice cheeze
    \end{itemize}
}

\newcommand\enumlist{
    \subsection{Preparation}
    \begin{itemize}
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
    \end{itemize}
}

\newcommand\recipe{
\section{tcolorbox Lipsum}

\begin{tcolorbox}[sidebyside,lefthand width=3cm, sidebyside align=top seam, breakable]
  \itemlist
\tcblower
  \enumlist
\end{tcolorbox}

}

%% With parcolumns
\usepackage{parcolumns}

\newcommand\recipebis{
    \section{parcolumns Lipsum}

    \begin{parcolumns}[colwidths={1=3cm}, distance=3em]{2}
        \colchunk[1]{\itemlist}
        \colchunk[2]{\enumlist}
        \colplacechunks
    \end{parcolumns}
}

\begin{document}

% A test
\section{Test}
\itemlist
\enumlist

% With tcolorbox
\newpage
\recipe
\recipe
\rule{5cm}{1cm}
\recipe

% With parcolumns
\newpage
\recipebis
\recipebis
\recipebis
\rule{1cm}{1cm}
\recipebis
\recipebis

\end{document}

решение1

Вы можете попробовать с paracolпакетом. Он разбивает столбцы независимо и, кажется, учитывает itemizeрасстояния. И если у вас возникнут проблемы с выравниванием узких столбцов, вы можете объединить его с blankertcolorbox, как показаноздесь

\documentclass{article}
\usepackage{showframe}
\usepackage{paracol}

\newcommand\itemlist{
    \subsection{Ingredients}
    \begin{itemize}
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element 1
      \item Element 2
      \item Element 3
      \item Element that is quite long
      \item Some nice cheeze
    \end{itemize}
}

\newcommand\enumlist{
    \subsection{Preparation}
    \begin{itemize}
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
      \item Preparation 1
      \item Preparation 2
      \item Preparation 3
      \item Preparation that is quite long
      \item Some nice cheeze at the end.
    \end{itemize}
}

\newcommand\recipeparacol{
}

\begin{document}
    \setcolumnwidth{3cm, 7cm}
    \setlength{\columnsep}{3em}

    \section{paracol Lipsum}
    \begin{paracol}{2}
        \itemlist
        \switchcolumn
        \enumlist
    \end{paracol}

\end{document}

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

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