.

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: .

von Noch so einer » Mo 13. Mai 2013, 19:51

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!

von ChristophW » Mo 13. Mai 2013, 18:09

.

von ChristophW » Mo 13. Mai 2013, 17:33

.

von Noch so einer » Mo 13. Mai 2013, 17:18

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.

von ChristophW » Mo 13. Mai 2013, 15:01

.

von Besserwisser » Mo 13. Mai 2013, 14:46

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 …

von ChristophW » Mo 13. Mai 2013, 14:26

.

von Noch so einer » Mo 13. Mai 2013, 10:20

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

.

von ChristophW » So 12. Mai 2013, 18:31

.

Nach oben