johlke
15-07-2008, 11:22
Hallo!
Ich möchte mit einer Latex-Quelldatei eine kurze und eine lange Ausgabe erzeugen. In der kurzen Ausgaben sollen einfach ein paar Textabschnitt fehlen. Da es für Latex keine bedingte Kompilierung gibt, habe ich versucht, mir mit folgenden, eigenen Kommando zu helfen:
%\newcommand{\versionlong}[1]{#1}
\newcommand{\versionlong}[1]{}
Wenn ich die lange Version erzeugen möchte, aktiviere ich obere Zeile, ansonsten unter Zeile. Textabschnitte, die nur in der langen Version erscheinen sollen, habe ich mit diesem Befehl eingerahmt:
\begin{versionlong}
\begin{lstlisting}[]
Hier ein Listing, das nur in der langen Version erscheinen soll.
\end{lstlisting}
\end{versionlong}
Allerdings erscheint der zusätzliche Text dennoch in der Kurzversion, obwohl das untere Kommando definiert ist (ohne #1).
Verwende ich hingegen
\versionlong{
\begin{lstlisting}[]
Hier ein Listing, das nur in der langen Version erscheinen soll.
\end{lstlisting}
}
erscheint der zusätzliche Text nicht. Dann gibt es jedoch Probleme, wenn ich das Kommando für die lange Version aktiviere. In diesem Fall kann der Quelltext nicht kompiliert werden. Grund:
Runaway argument?
! Paragraph endet before \lst@next was complete.
Hat jemand einen Lösungsvorschlag? Ich würde auch gern andere Möglichkeiten benutzen, um gewisse Textpassage auf Wunsch weglassen zu können.
Danke!
johlke
Ich möchte mit einer Latex-Quelldatei eine kurze und eine lange Ausgabe erzeugen. In der kurzen Ausgaben sollen einfach ein paar Textabschnitt fehlen. Da es für Latex keine bedingte Kompilierung gibt, habe ich versucht, mir mit folgenden, eigenen Kommando zu helfen:
%\newcommand{\versionlong}[1]{#1}
\newcommand{\versionlong}[1]{}
Wenn ich die lange Version erzeugen möchte, aktiviere ich obere Zeile, ansonsten unter Zeile. Textabschnitte, die nur in der langen Version erscheinen sollen, habe ich mit diesem Befehl eingerahmt:
\begin{versionlong}
\begin{lstlisting}[]
Hier ein Listing, das nur in der langen Version erscheinen soll.
\end{lstlisting}
\end{versionlong}
Allerdings erscheint der zusätzliche Text dennoch in der Kurzversion, obwohl das untere Kommando definiert ist (ohne #1).
Verwende ich hingegen
\versionlong{
\begin{lstlisting}[]
Hier ein Listing, das nur in der langen Version erscheinen soll.
\end{lstlisting}
}
erscheint der zusätzliche Text nicht. Dann gibt es jedoch Probleme, wenn ich das Kommando für die lange Version aktiviere. In diesem Fall kann der Quelltext nicht kompiliert werden. Grund:
Runaway argument?
! Paragraph endet before \lst@next was complete.
Hat jemand einen Lösungsvorschlag? Ich würde auch gern andere Möglichkeiten benutzen, um gewisse Textpassage auf Wunsch weglassen zu können.
Danke!
johlke