Problem listings und ifthen in Kombination

Schriftbild, Absätze und Auflistungen einstellen


huckepick
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Sa 13. Mär 2010, 07:44

Problem listings und ifthen in Kombination

Beitrag von huckepick »

Hallo Community.

Situation:

Ich wollte eben zum ersten Mal das Paket listings ausprobieren.

Ich habe eine Datei erstellt, in der ich über ifthen Blöcke immer nur bestimmte Teile kompilieren lasse um latex Laufzeiten zu verkürzen.

Das funktioniert mit anderem Code in einem ifthen Block schon, nur bei den listings bekomme ich einen latex Fehler.

Problem:

Minimalbeispiel:
\documentclass{article}

%Block A
\usepackage{listings}
\usepackage{ifthen}

\newcommand{\printt}{10}

\begin{document}

\ifthenelse{\equal{\printt}{10}}{%start if

\begin{lstlisting}
for i:=maxint to 0 do
begin
{ do nothing }
end;
Write('Case sensitive');
\end{lstlisting}

}{}%end if

\end{document}

% Block A
% mit if : weder pdflatex, noch latex
% ohne if : pdflatex ja, latex ja
Kommentiere ich die start if / end if Zeilen aus, komilieren latex und pdftex. Lasse ich die Zeilen drin, wird die Datei nicht kompiliert.

Mein .log file ist leer. Daher schreibe ich mal die Fehlermeldung hier ab:

! Paragraph ended before \lst@next was complete.

   \par
1.21 }{}
   %end if
?

Woran könnte das liegen?

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2752
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

if-Abfrage mit Listing

Beitrag von Stefan Kottwitz »

Hallo,

listings und andere verbatim-ähnliche Umgebungen lassen sich nicht so einfach als Makro-Argument verwenden. Man kann jedoch auf TeX-Primitive zurückgreifen wie z.B. \ifx oder \ifnum:
\documentclass{article}

%Block A
\usepackage{listings}
\usepackage{ifthen}

\newcounter{printt}
\setcounter{printt}{10}

\begin{document}

\ifnum\value{printt}=10{%start if

\protect{\begin{lstlisting}
for i:=maxint to 0 do
begin
 do nothing 
end;
Write('Case sensitive');
\end{lstlisting}}

}
\else{Nothing}%end if
\fi

\end{document}
Viele Grüße,

Stefan

huckepick
Forum-Anfänger
Forum-Anfänger
Beiträge: 15
Registriert: Sa 13. Mär 2010, 07:44

Beitrag von huckepick »

Danke dir. Gleich erscheint von mir noch ein neues Thema zu Listings.

Antworten