.
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
Und was soll passieren, wenn ein Item nicht mehr vollständig auf die Seite passt? Einzig sinnvoll Lösung wäre IMHO eigentlich, dass dann das gesamte Paar auf die nächste Seite umbrochen wird, denn sonst blickt da am Seitenanfang niemand mehr durch. Dann ist das auch relativ leicht zu realisieren:
Im Prinzip könnte man auch ohne multicols nur mit minipage-Umgebungen arbeiten. Dann hätte man eben jedes item in einer eigenen Umgebung. Sinnvoller Weise würde man das dann besser mit einem Befehl regeln:
Wichtig: Im Unterschied zu \item wird bei \colitem der Text als Argument angegeben!
Im Beispiel habe ich eine ungerade Anzahl an Items verwendet, um zu demonstrieren, dass auch das geht und vor und hinter der Umgebung noch normalen Text eingefügt.
\usepackage{lipsum}% Zu Demozwecken \usepackage{multicol} \usepackage{enumitem}% Wegen series und resume \usepackage{parskip}% Für den Abstand (bei scrartcl wäre stattdessen Option % parskip=full- eine gute Möglichkeit, die per % \KOMAoptions auch lokal genutzt werden könnte). \begin{document} \begin{minipage}{\textwidth}% \begin{multicols}{2} \begin{enumerate}[series=multicols] \item \lipsum[1] \columnbreak \item \lipsum[2] \end{enumerate} \end{multicols} \end{minipage} \begin{minipage}{\textwidth}% \begin{multicols}{2} \begin{enumerate}[resume=multicols] \item \lipsum[3] \columnbreak \item \lipsum[4] \end{enumerate} \end{multicols} \end{minipage} \begin{minipage}{\textwidth}% \begin{multicols}{2} \begin{enumerate}[resume=multicols] \item \lipsum[5] \columnbreak \item \lipsum[6] \end{enumerate} \end{multicols} \end{minipage} \begin{minipage}{\textwidth}% \begin{multicols}{2} \begin{enumerate}[resume=multicols] \item \lipsum[7] \columnbreak \item \lipsum[8] \end{enumerate} \end{multicols} \end{minipage} \end{document}
\documentclass{article} \usepackage{lipsum}% Zu Demozwecken \usepackage{enumitem}% Wegen series und resume \newcounter{currentcolumn} \newenvironment{colenumerate}{% \par\smallskip \setcounter{currentcolumn}{0}% \newcommand{\colitem}[1]{% \ifnum \value{currentcolumn}=0 \noindent\begin{minipage}[t]{.5\textwidth} \begin{enumerate}[series=multicols] \item ##1% \end{enumerate} \end{minipage}% \setcounter{currentcolumn}{2}% \else \ifnum \value{currentcolumn}=1 \noindent\fi \begin{minipage}[t]{.5\textwidth} \begin{enumerate}[resume=multicols] \item ##1% \end{enumerate} \end{minipage}% \ifnum \value{currentcolumn}=2 \par\bigskip \setcounter{currentcolumn}{1}% \else \setcounter{currentcolumn}{2}% \fi \fi \ignorespaces }% }{% \ifhmode \par\bigskip\fi } \begin{document} \lipsum[1] \begin{colenumerate} \colitem{\lipsum[2]} \colitem{\lipsum[3]} \colitem{\lipsum[4]} \colitem{\lipsum[5]} \colitem{\lipsum[6]} \colitem{\lipsum[7]} \colitem{\lipsum[8]} \end{colenumerate} \lipsum[9] \end{document}
Im Beispiel habe ich eine ungerade Anzahl an Items verwendet, um zu demonstrieren, dass auch das geht und vor und hinter der Umgebung noch normalen Text eingefügt.
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
Das wird nicht funktionieren, da \columnbreak nur zwischen den beiden Items verwendet werden darf. Ansonsten: Statt enumerate umzudefinieren, wäre es sinnvoller eine eigene Umgebung zu definieren. Aber auch dann hast Du das Problem mit \columnbreak. Also landest Du früher oder später wieder bei der zweiten Lösung …
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
Für LyX muss man doch irgendwie neue Umgebungen und Befehle definieren können. Vermutlich muss man sich dafür mit der Syntax der LyX-Style-Dateien beschäftigen. Als Ausgangspunkt könnte man beispielsweise stdlyxlist.inc verwenden. Das ist ebenfalls eine Definition einer neuen Listen-Umgebung für LyX.
Ansonsten musst Du selbst sehen, wie Du meine Lösung weiter ausbaust. Ich kenne mich mit LyX nicht aus und verspüre kein Interesse, nur wegen dieser Nebenbedingung zusätzliche Arbeit zu investieren. Sorry, aber das ist nicht meine Baustelle.
Ansonsten musst Du selbst sehen, wie Du meine Lösung weiter ausbaust. Ich kenne mich mit LyX nicht aus und verspüre kein Interesse, nur wegen dieser Nebenbedingung zusätzliche Arbeit zu investieren. Sorry, aber das ist nicht meine Baustelle.
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
-
- Forum-Anfänger
- Beiträge: 20
- Registriert: Sa 24. Nov 2012, 22:14
Weil eine LaTeX-Umgebung immer auch eine Gruppe ist, gehen Änderungen innerhalb der Umgebung (und dazu gehört auch der \begin-Code und der \end-Code) mit dem Ende der Umgebung verloren. Man kann das zwar auch durchbrechen, aber das Beispiel sieht ohnehin nach ganz üblem gehacke aus. Das will keinesfalls unterstützen, weil es garantiert bei nächster Gelegenheit jemandem um die Ohren fliegt. Im Beispiel wäre es beispielsweise sinnvoller, \item innerhalb des \begin-Codes von enumerate leer zu definieren. Das wäre dann nach der Umgebung automatisch wieder auf die Originaldefinition zurück gestellt.
BTW: Du verwendest den Status Rückfrage falsch!
BTW: Du verwendest den Status Rückfrage falsch!