Ich schreibe gerade eine neue Version meines französischen Kochbuchs (ich meine, das ist auf Französisch).
Mein Problem ist, dass ich gerne Rezepte hätte, die so aussehen:
Dieser Stil besteht aus zwei unabhängigen Spalten, die jeweils eine iemize-ähnliche Struktur enthalten.
Meine Bedürfnisse :
- Die beiden Spalten sollten unabhängig sein
- Der Umbruch sollte direkt am Ende der Seite erfolgen (d. h. der Umbruch sollte so erfolgen, als ob die Speudo-Spalte auf der anderen Seite weiterginge).
1. Versuch: tcolorbox
Das obige Beispiel verwendet sidebyside tcolorbor. Es funktioniert gut, ebenso wie die Rasterbibliothek von tcolorbox, bricht aber am Ende der Seite nicht ab.
2. Versuch: Parsäulen
Dies scheint für Absätze wie die von Lipsum gut zu funktionieren, scheint aber in Umgebungen im Itemize-Stil einige Probleme zu haben. Hier ist, was ich mit und ohne Seitenumbruch bekomme.
Die Probleme sind: 1. Der Platz für die linken Aufzählungselemente ist zu kurz. 2. Der Platz für die rechten Elemente ist zu groß. 3. Seltsame zusätzliche Leerzeichen (über der ersten Aufzählung).
Ich habe in diesem Forum eine Lösung gesehen, in der eine Minipage zur Lösung dieser Probleme vorgeschlagen wurde, die dann aber nicht mehr zu zerstören wäre :s
Abschluss
Ich habe anscheinend verschiedene Lösungen ausprobiert und keine hat wirklich funktioniert. Haben Sie eine Idee?
Minimales Arbeitsexperiment.
\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}
Antwort1
Sie können es mit paracol
dem Paket versuchen. Es teilt die Spalten unabhängig voneinander auf und scheint itemize
Abstände zu respektieren. Und wenn Sie Probleme mit der Ausrichtung schmaler Spalten haben, können Sie es mit einer blanker
Farbbox kombinieren, wie es gezeigt wirdHier
\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}