wenn ich versuche mit parallel.sty einige Zeilen farbig nebeneinander zu
setzen, erhalte ich folgendes Resultat
(Farbe1) ABCDEF (Farbe2) ABCDEF (--> soweit ok)
(Farbe2) ABCDEF (Farbe2) ABCDEF (--> Umschaltung?)
(Farbe2) ABCDEF (Schwarz) ABCDEF (--> ? )
Weiß jemand, ob so etwas mit parallel.sty allgemein nicht geht oder
mache ich nur einen Fehler?
Grüße
Alexander
---% Minimalbeispiel
\documentclass[a4paper]{scrartcl}
\usepackage{parallel,color}
\begin{document}
\begin{Parallel}{0.47\textwidth}{0.47\textwidth}
\ParallelLText{\textcolor{red}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.}}
\ParallelRText{\textcolor{blue}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken soll.}}
\end{Parallel}
\end{document}
> Hallo,
>
> wenn ich versuche mit parallel.sty einige Zeilen farbig nebeneinander
> zu setzen, erhalte ich folgendes Resultat
>
> (Farbe1) ABCDEF (Farbe2) ABCDEF (--> soweit ok)
> (Farbe2) ABCDEF (Farbe2) ABCDEF (--> Umschaltung?)
> (Farbe2) ABCDEF (Schwarz) ABCDEF (--> ? )
>
> Weiß jemand, ob so etwas mit parallel.sty allgemein nicht geht oder
> mache ich nur einen Fehler?
Ob es überhaupt nicht geht, weiß ich nicht, (vielleicht geht es mit
einem neuen pdftex,) aber es ist sicher nicht trivial. Wenn es nur ein
paar Zeilen sind, kannst du ja vielleicht einfach zwei parboxen oder
minipages nebeneinandersetzen.
--
Ulrike Fischer
e-mail: zusätzlich meinen Vornamen vor dem @ einfügen.
e-mail: add my first name between the news and the @.
> Alexander Hirsch <alexh...@web.de> schrieb:
>
> > wenn ich versuche mit parallel.sty einige Zeilen farbig nebeneinander
> > zu setzen, erhalte ich folgendes Resultat
> >
> > (Farbe1) ABCDEF (Farbe2) ABCDEF (--> soweit ok)
> > (Farbe2) ABCDEF (Farbe2) ABCDEF (--> Umschaltung?)
> > (Farbe2) ABCDEF (Schwarz) ABCDEF (--> ? )
> >
> > Weiß jemand, ob so etwas mit parallel.sty allgemein nicht geht oder
> > mache ich nur einen Fehler?
>
> Ob es überhaupt nicht geht, weiß ich nicht, (vielleicht geht es mit
> einem neuen pdftex,) aber es ist sicher nicht trivial.
Mit dem neuen pdfTeX ist es ziemlich einfach, da man mehrere
Colorstacks verwenden kann:
\documentclass[a5paper]{article}
\usepackage{parallel,color}
\textheight=1cm % for testing
\makeatletter
\chardef\ParallelStackLeft=\pdfcolorstackinit direct{0 g 0 G}\relax
\chardef\ParallelStackRight=\pdfcolorstackinit direct{0 g 0 G}\relax
\renewcommand{\ParallelLText}{%
\everypar{}\@restorepar\begingroup
\hbadness=3000
\let\footnote=\ParallelLFootnote
\ParallelWhichBox=0
\global\setbox\ParallelLBox=\vbox\bgroup \hsize=\ParallelLWidth
\let\@pdfcolorstack\ParallelStackLeft
\aftergroup\ParallelAfterText
\begingroup \afterassignment\ParallelCheckOpenBrace \let\x=%
}
\renewcommand{\ParallelRText}{%
\everypar{}\@restorepar\begingroup
\hbadness=3000
\ifnum\ParallelFNMode=\@ne
\let\footnote=\ParallelRFootnote
\else
\let\footnote=\ParallelLFootnote
\fi
\ParallelWhichBox=\@ne
\global\setbox\ParallelRBox=\vbox\bgroup \hsize=\ParallelRWidth
\let\@pdfcolorstack\ParallelStackRight % HO
\aftergroup\ParallelAfterText
\begingroup \afterassignment\ParallelCheckOpenBrace \let\x=%
}
\renewcommand{\ParallelParOnePage}{%
\ifnum\ParallelBoolVar=\@ne
\par\begingroup
\leftmargin=\z@ \rightmargin=\z@
\parskip=\z@skip \parindent=\z@
\vbadness=10000
\vfuzz=3ex
\splittopskip=\z@skip
\loop%
\ifnum\ParallelBoolVar=\@ne%
\noindent
\hbox to\textwidth{%
\hskip\ParallelLeftMargin
\hbox to\ParallelTextWidth{%
\ifvoid\ParallelLBox
\hskip\ParallelLWidth
\else
\pdfcolorstack\ParallelStackLeft current\relax % HO
\ParallelWhichBox=\z@
\vbox{%
\setbox\ParallelBoxVar
=\vsplit\ParallelLBox to\dp\strutbox
\unvbox\ParallelBoxVar
}%
\fi
\strut
\ifnum\ParallelBoolMid=\@ne
\hskip\ParallelMainMidSkip
\vrule
\else
\hss
\fi
\hss
\ifvoid\ParallelRBox
\hskip\ParallelRWidth
\else
\pdfcolorstack\ParallelStackRight current\relax % HO
\ParallelWhichBox=\@ne
\vbox{%
\setbox\ParallelBoxVar
=\vsplit\ParallelRBox to\dp\strutbox
\unvbox\ParallelBoxVar
}%
\fi
}%
}%
\ifvoid\ParallelLBox \ifvoid\ParallelRBox
\global\ParallelBoolVar=\z@
\fi\fi%
\fi%
\ifnum\ParallelBoolVar=\@ne%
\penalty\interlinepenalty
\repeat
\par
\endgroup
\pdfcolorstack\@pdfcolorstack current\relax % HO
\fi
}
\renewcommand{\ParallelParTwoPages}{%
\ifnum\ParallelBoolVar=\@ne
\par\begingroup
\global\ParallelWhichBox=\@ne
\newpage
\vbadness=10000
\vfuzz=3ex
\splittopskip=\z@skip
\loop%
\ifnum\ParallelBoolVar=\@ne%
\ifnum\ParallelWhichBox=\@ne
\ifvoid\ParallelLBox \mbox{} \newpage
\else\global\ParallelWhichBox=\z@\fi
\else
\ifvoid\ParallelRBox \mbox{} \newpage
\else\global\ParallelWhichBox=\@ne\fi
\fi
\ifnum\ParallelWhichBox=\z@
\ifodd\thepage \mbox{} \newpage \fi
\hbox to\textwidth{%
\pdfcolorstack\ParallelStackLeft current\relax % HO
\vbox{\vsplit\ParallelLBox to.98\textheight}%
}%
\else
\ifodd\thepage\relax\else \mbox{} \newpage \fi
\hbox to\textwidth{%
\pdfcolorstack\ParallelStackRight current\relax % HO
\vbox{\vsplit\ParallelRBox to.98\textheight}%
}%
\fi
\vspace*{\fill}\newpage
\fi
\ifvoid\ParallelLBox\ifvoid\ParallelRBox
\global\ParallelBoolVar=\z@
\fi\fi
\ifnum\ParallelBoolVar=\@ne
\repeat
\par
\endgroup
\pdfcolorstack\@pdfcolorstack current\relax % HO
\fi
}
\makeatother
\begin{document}
\color{green}
Green
\begin{Parallel}{0.47\textwidth}{0.47\textwidth}
\ParallelLText{\textcolor{red}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken
soll.}}
\ParallelRText{\textcolor{blue}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken
soll.}}
\end{Parallel}
Green
\begin{Parallel}[p]{\textwidth}{\textwidth}
\ParallelLText{\textcolor{red}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken
soll.
Foo bar bla bla bla.}}
\ParallelRText{\textcolor{blue}{Ein Absatz, der sich ueber zwei Zeilen
erstrecken soll. Ein Absatz, der sich ueber zwei Zeilen erstrecken
soll.
Foo bar bla bla bla.}}
\end{Parallel}
Green
\end{document}
Viele Grüße
Heiko <ober...@uni-freiburg.de>
Viele Grüße
Alexander
Heiko, ich liebe deine Verwendung des Wortes /einfach/.
... aber vermutlich ist das für dich sogar zutreffend -- oder hab ich
ein Ironiezeichen übersehen?
Gruß vom Hobbymagier mit LaTeXzauberkasten,
Georg
> Heiko Oberdiek schrieb:
> > Mit dem neuen pdfTeX ist es ziemlich einfach, da man mehrere
> > Colorstacks verwenden kann:
> > [Dutzende Zeilen Code entfernt]
>
> Heiko, ich liebe deine Verwendung des Wortes /einfach/.
> ... aber vermutlich ist das für dich sogar zutreffend -- oder hab ich
> ein Ironiezeichen übersehen?
Die "Dutzende Zeilen Code" gehören zu parallel.sty.
Von mir stammen nur zwei handvoll Zeilen:
* zwei für die Anlegung der Colorstacks,
* zwei, um den Colorstack für links und rechts zu setzen,
* jeweils drei für \ParallelParOnePage bzw. \ParallelParTwoPages.
Wenn der Autor von parallel das einbauen will, hat er allerdings
noch etwas zu tun:
* Abfrage auf pdfTeX im PDF-Modus
* Abfrage auf pdfTeX 1.40
* Abfrage auf pdftex.def >= 2007/01/02 v0.04b
Es könnte reichen, die drei Abfragen auf die
Abfrage nach \@pdfcolorstack zu reduzieren.
Nicht gekümmert habe ich mich um die Fussnoten.
Viele Grüße
Heiko <ober...@uni-freiburg.de>
> > Alexander Hirsch <alexh...@web.de> schrieb:
> >
> > > wenn ich versuche mit parallel.sty einige Zeilen farbig nebeneinander
> > > zu setzen, erhalte ich folgendes Resultat
> > >
> > > (Farbe1) ABCDEF (Farbe2) ABCDEF (--> soweit ok)
> > > (Farbe2) ABCDEF (Farbe2) ABCDEF (--> Umschaltung?)
> > > (Farbe2) ABCDEF (Schwarz) ABCDEF (--> ? )
> > >
> > > Weiß jemand, ob so etwas mit parallel.sty allgemein nicht geht oder
> > > mache ich nur einen Fehler?
> Mit dem neuen pdfTeX ist es ziemlich einfach, da man mehrere
> Colorstacks verwenden kann:
> [...]
Ich habe den Code nun in ein Paket gepackt und unter dem
Namen `pdfcolparallel' auf CTAN gestellt.
Viele Grüße
Heiko <ober...@uni-freiburg.de>