Seite 1 von 1

Benötige parallel.sty [i]und[/i] itemize

Verfasst: Sa 10. Jan 2009, 22:40
von Keks Dose
Hallo,

ich schreibe zur Zeit häufig zweisprachige Dokumente. Dazu verwende ich parallel.sty. Es wäre aber nützlich, Aufzählungen und Auflistungen in irgendeiner Weise verwenden zu können. Mit parallel.sty geht das bekanntlich nicht, Minimalbeispiel siehe unten.

Nun würde es mir reichen, das Layout von Aufzählungen und -listungen nachbauen zu können. Ich brauche keinen Einzug der gesamten Liste; ich kann meine enumitems auch per Hand nummerieren. Aber den Einzug der zweiten und aller folgenden Zeilen kriege ich nicht hin.

Hat jemand eine Idee?

Danke,
Alexander

\documentclass[english, ngerman, pagesize, DIV=calc]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel, parallel, blindtext, textcomp}

% Vereinfachte Handhabung
\newcommand\LR[2]{\begin{Parallel}{}{}
\selectlanguage{ngerman}\ParallelLText{#1}%
                                 \selectlanguage{english}\ParallelRText{#2}%
                                 \ParallelPar
                                 \vspace{0.5\baselineskip}%
                                 \end{Parallel}
                                 }


\begin{document}
\LR{\blindtext}{\blindtext}
\LR{\begin{itemize}
       \item Leider funktioniert die Auflistung in der Parallel-Umgebung nicht, wie man hier sieht.
    \end{itemize}
}{XXXX}

Mir würde es aber schon reichen, wenn ich das Layout irgendwie selbst bauen könnte. Aber wie man hier sieht \dots

\textbullet\quad \textit{\blindtext}

\dots sieht das weniger schön aus, weil der Absatz ab der zweiten Zeile keinen Einzug hat.

\begin{Large}\textbf{Wie kann man das besser machen?}\end{Large}

\end{document}


Verfasst: So 11. Jan 2009, 09:16
von KOMA
Mit geschachtelten Items etc. wird die Lösung durchaus aufwändig. Wenn man aber nur ein paar Aufzählungspunkte braucht und dabei nicht allzu anspruchsvoll ist, dann ist es kein großes Problem:
\documentclass[english, ngerman, pagesize, DIV=calc]{scrartcl} 
\usepackage[T1]{fontenc} 
\usepackage[latin1]{inputenc} 
\usepackage{babel, parallel, blindtext, textcomp} 

% Vereinfachte Handhabung 
\newcommand\LR[2]{\begin{Parallel}{}{} 
    \selectlanguage{ngerman}\ParallelLText{#1}% 
    \selectlanguage{english}\ParallelRText{#2}% 
    \ParallelPar 
    \vspace{0.5\baselineskip}% 
  \end{Parallel} 
}

% Das wird grundsätzlich problematisch
\makeatletter
\newcommand\uglyitem{%
  \hangindent 2em
  \noindent\makebox[2em][r]{\labelitemi\hskip\labelsep}%
}
\newcommand\uglyitempar{%
  \hangindent 2em
  \noindent\makebox[2em][r]{}%
}

\begin{document} 
\LR{\blindtext}{\blindtext} 
\LR{\uglyitem 
  Leider funktioniert die Auflistung in der Parallel-Umgebung nicht, man kann
  aber tricksen, wenn es unbedingt sein muss.
}{\uglyitem And this also works, if we use two languages}
\LR{\uglyitem
  Natürlich hat man dabei nicht den gleichem Komfort wie bei einer echten
  itemize-Umgebung.}{\uglyitem So it is.}
\LR{\uglyitempar
  So muss man beispielsweise bei mehreren Absätzen in einem Item,
  tricksen}{\uglypar Yes, this is not very nice. And if you need items in
  items you need to extend the solution.}
\end{document}
Reicht das?

Das grundsätzliche Problem ist eigentlich, dass bei der Definition der Listenumgebungen Absätze eingefügt werden. Diese müsste man nun in normale Absätze und Absätze mit parallels einordnen und dann selbst paralles aufrufen. Dabei müsste man auch neue \item-Befehle die nach L und R unterscheiden definieren, etwas \ParallelLitem und \ParallelRitem. Obiger Hack ist natürlich viel einfacher gestrickt.

Aufzählungen gehen auch!

Verfasst: So 11. Jan 2009, 13:32
von Keks Dose
Hallo Markus,

herrlich, vielen Dank. An diesem Problem laborieren viele Nutzer seit Jahren. Auf diesem Weg kann man ja auch schöne Aufzählungen machen:
\documentclass[english, ngerman, pagesize, DIV=calc]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel, parallel, blindtext, textcomp}

% Vereinfachte Handhabung
\newcommand\LR[2]{\begin{Parallel}{}{}
    \selectlanguage{ngerman}\ParallelLText{#1}%
    \selectlanguage{english}\ParallelRText{#2}%
    \ParallelPar
    \vspace{0.5\baselineskip}%
  \end{Parallel}
}

% Das wird grundsätzlich problematisch

\newcommand\uglyenumL{%
  \hangindent 2em
  \noindent\makebox[2em][r]{\refstepcounter{enumi}\labelenumi\hskip\labelsep}%
}
\newcommand\uglyenumR{%
  \hangindent 2em
  \noindent\makebox[2em][r]{\labelenumi\hskip\labelsep}%
}
\newcommand\uglyenumpar{%
  \hangindent 2em
  \noindent\makebox[2em][r]{}%
}

\begin{document}
\LR{\blindtext}{\blindtext}
\LR{\uglyenumL
  Leider funktioniert die Aufzählung in der Parallel-Umgebung nicht, man kann
  aber tricksen, wenn es unbedingt sein muss.
}{\uglyenumR And this also works, if we use two languages}
\LR{\uglyenumL
  Natürlich hat man dabei nicht den gleichem Komfort wie bei einer echten
  enumerate-Umgebung.}{\uglyenumR So it is.}
\LR{\uglyenumpar
  So muss man beispielsweise bei mehreren Absätzen in einem Item,
  tricksen}{\uglyenumpar Yes, this is not very nice. And if you need items in
  items you need to extend the solution.}
\end{document}
So, eine praktikable Lösung mehr. Mehrstufige Auflistungen stehen nicht auf meinem Programm.

Schönen Sonntag, Danke nocheinmal,

Gruß,
Alexander