syzygy
20-02-2010, 18:21
Hi all,
Ich versuche gerade, mittels des alltt-Packerls Sourcecode darzustellen. Wenn ich die Umgebung "direkt" aufrufe, funktioniert alles; wenn ich sie allerdings in einem selbstdefinierten Befehl verwende, wird das Argument gedruckt wie normaler Text (keine Einrückung, kein Zeilenumbruch, allerdings Darstellung in TT-Font).
Inzwischen hab ich so ziemlich alles ausprobiert, was mir eingefallen ist, und das Ergebnis ist verblüffend stabil: Innerhalb eines \newcommand() hat alltt keinen Effekt.
Mein Minimalbeispiel sieht so aus:
%**********************************************
\documentclass[a4paper, oneside, 11pt]{scrbook}
\usepackage{alltt}
\newcommand{\Yab}[1]{\begin{alltt} #1 \end{alltt}}
%**********************************************
\begin{document}
% Versuch 1:
\begin{alltt} This line is indented
This one is not. \end{alltt}
% Versuch 2:
\Yab{ This line is indented
This one is not.}
\end{document}
Bei Versuch 1 wird die erste Zeile eingerückt und ein Zeilenumbruch findet statt, bei Versuch 2 nicht.
a) Kann man einem mäßig erfahrenen LaTeXer klar machen, warum das so ist? (Aka "Was mach ich falsch?")
b) Gibt's einen Workaround dafür? (Aka "Wie mach ich's richtig?")
(MikTeX 2.8, pdflatex, Win XP.)
Danke im Voraus,
Elmar/syzygy
Ich versuche gerade, mittels des alltt-Packerls Sourcecode darzustellen. Wenn ich die Umgebung "direkt" aufrufe, funktioniert alles; wenn ich sie allerdings in einem selbstdefinierten Befehl verwende, wird das Argument gedruckt wie normaler Text (keine Einrückung, kein Zeilenumbruch, allerdings Darstellung in TT-Font).
Inzwischen hab ich so ziemlich alles ausprobiert, was mir eingefallen ist, und das Ergebnis ist verblüffend stabil: Innerhalb eines \newcommand() hat alltt keinen Effekt.
Mein Minimalbeispiel sieht so aus:
%**********************************************
\documentclass[a4paper, oneside, 11pt]{scrbook}
\usepackage{alltt}
\newcommand{\Yab}[1]{\begin{alltt} #1 \end{alltt}}
%**********************************************
\begin{document}
% Versuch 1:
\begin{alltt} This line is indented
This one is not. \end{alltt}
% Versuch 2:
\Yab{ This line is indented
This one is not.}
\end{document}
Bei Versuch 1 wird die erste Zeile eingerückt und ein Zeilenumbruch findet statt, bei Versuch 2 nicht.
a) Kann man einem mäßig erfahrenen LaTeXer klar machen, warum das so ist? (Aka "Was mach ich falsch?")
b) Gibt's einen Workaround dafür? (Aka "Wie mach ich's richtig?")
(MikTeX 2.8, pdflatex, Win XP.)
Danke im Voraus,
Elmar/syzygy