Discussion:
Verbatim in Präsentation mit Beamer
(zu alt für eine Antwort)
Rene
2006-01-25 14:05:00 UTC
Permalink
Ich möchte in meiner Präsentation etwas XML-Code zeigen welcher Teile
von regulären Ausdrücken enthält:

\begin{verbatim}
<entry key="fktPrefix">(\s{0,}function\s{1,})</entry>
<entry key="fktName">([a-zA-ZäöüÄÖÜ0-9_]{3,})</entry>
<entry key="fktPostfix">(\s{0,})</entry>

<entry
key="tabPrefix">(f_select\s{0,}\({0,1}\s{0,}"{0,1})\s{0,}</entry>
<entry
key="tabName">([a-zA-ZäöüÄÖÜ0-9]{3}[_tx][a-zA-ZäöüÄÖÜ0-9_]{2,})</entry>
<entry key="tabPostfix" />
\end{verbatim}

Bis hierhin funktioniert es noch einwandfrei. Aber sobald ich das ganze
im Kontext eines Frames/Blockes mache:

\begin{frame}{reguläre Ausdrücke}
\begin{block}{Beispiel}
\begin{verbatim}
<entry key="fktPrefix">(\s{0,}function\s{1,})</entry>
<entry key="fktName">([a-zA-ZäöüÄÖÜ0-9_]{3,})</entry>
<entry key="fktPostfix">(\s{0,})</entry>

<entry
key="tabPrefix">(f_select\s{0,}\({0,1}\s{0,}"{0,1})\s{0,}</entry>
<entry
key="tabName">([a-zA-ZäöüÄÖÜ0-9]{3}[_tx][a-zA-ZäöüÄÖÜ0-9_]{2,})</entry>
<entry key="tabPostfix" />
\end{verbatim}
\end{block}
\end{frame}

So funktioniert das leider überhaupt nicht. Der Verbatim wirkt genau
bis zum ersten \s und dann läuft es schief.

Gibt es eine Lösung wie man Ausschnitte mit Sonderzeichenlastigem
Quelltext sauber in einer Präsentation darstellen kann?

bfn
René
Ralf Stubner
2006-01-25 14:16:13 UTC
Permalink
Post by Rene
So funktioniert das leider überhaupt nicht. Der Verbatim wirkt genau
bis zum ersten \s und dann läuft es schief.
Gibt es eine Lösung wie man Ausschnitte mit Sonderzeichenlastigem
Quelltext sauber in einer Präsentation darstellen kann?
Schau mal in die Beamer Doku, Stichwort 'verbatim text'.

cheerio
ralf
Rene
2006-01-25 14:41:40 UTC
Permalink
Der Abschnitt muss mir beim ersten lesen irgendwie entfallen sein.
Danke für den Hinweis.

Hiermit funktioniert es jetzt erst mal:

\beginn{frame}[fragile]
\frametitle{reguläre Ausdrücke}
\begin{verbatim}
...
\end{verbatim}
\end{frame}

Was jedoch nicht geht, ist den frametitle direkt zu übergeben:
\begin{frame}{reguläre Ausdrücke}[fragile]

Und noch einen kleinen Schönheitsfehler hat diese Lösung. Da sich
\begin{block}{Beispiel} nicht verwenden lässt, bricht das ganze etwas
aus dem restlichen Design der Präsentation aus.

bfn
René
Ralf Stubner
2006-01-25 14:56:03 UTC
Permalink
Post by Rene
\begin{frame}{reguläre Ausdrücke}[fragile]
Schau in der Doku nach: Reihenfolge der Argumente.
Post by Rene
Und noch einen kleinen Schönheitsfehler hat diese Lösung. Da sich
\begin{block}{Beispiel} nicht verwenden lässt, bricht das ganze etwas
aus dem restlichen Design der Präsentation aus.
Minimalbeispiel?

cheerio
ralf
René Mühle
2006-01-26 15:51:25 UTC
Permalink
Post by Ralf Stubner
Schau in der Doku nach: Reihenfolge der Argumente.
Ich hatte oben leider das falsche eingefügt. Ich meinte diese Zeile:
\begin{frame}[fragile]{reguläre Ausdrücke}
Wobei eigentlich beides keinen wirklichen Unterschied macht - denn
beides geht nicht, in dem Sinne das die Compilierung immer mit einem
Emergency Stop abbricht.

Aber ich kann mit dieser Lösung gut leben:
\begin{frame}[fragile]\frametitle{reguläre Ausdrücke}

Diese Folie kompliert jetzt fehlerfrei und wird auch erwartungsgemäß
angezeigt. Jetzt auch mit den Rahmen die ich auf den anderen Folien
mittels: \begin{block}{Blocktitel} ... \end{block} nutze.

\begin{frame}[fragile]\frametitle{reguläre Ausdrücke}
\begin{block}{Beispiel}
\begin{verbatim}
Test: \s{0,}"{0,1}
\end{verbatim}
\end{block}
\end{frame}

Das 2. 'Problemchen' mit den Blöcken hat sich mit dieser Lösung auch
erledigt - es scheint ein Folgefehler aus dem 1. Fehler mit dem
Frametitle sowie einer zu langen Textzeile gewesen zu sein (ein
länglicher regulärer Ausdruck ohne Leerzeichen).

Und da hätte ich auch gleich wieder eine Frage zu. Ich habe das mit
der zu langen Textzeile in dem Verbatim-Teil folgendermaßen gelöst:
die Fontgröße reduzieren.

\makeatletter
\def\***@font{\scriptsize\ttfamily}
\makeatother

Aber dies gilt jetzt für alle Verbatim-Blöcke. Das ist an sich (für
diese Präsentation zumindest) sogar richtig. Aber wie würde eine
Lösung aussehen, wenn ich explizit in einem einzelnen Verbatim-Block
die Schriftgröße anpassen möchte? Ich fand Beispiele wo dies so
gehandhabt wurde: \begin{Verbatim}[fontsize=\small]
Das funktioniert leider nicht so wie erwartet.
Und das 'böse' shrink funktioniert noch schlechter, da die Box dabei
oben direkt an die Kopfzeile rangerückt wird.

bfn
René
Ralf Stubner
2006-01-26 17:47:07 UTC
Permalink
Post by René Mühle
Post by Ralf Stubner
Schau in der Doku nach: Reihenfolge der Argumente.
\begin{frame}[fragile]{reguläre Ausdrücke}
Wobei eigentlich beides keinen wirklichen Unterschied macht - denn
beides geht nicht, in dem Sinne das die Compilierung immer mit einem
Emergency Stop abbricht.
Hier kann ich nichts weiter machen, da meine beamer.cls zu alt ist, um
diese Syntax überhaupt zu unterstützen, und ich keine Lust habe, da ein
update zu machen. Ich hoffe mal, Du verwendest eine aktuelle beamer.cls.
Sonst wäre es nämlich nicht weiter verwunderlich, warum das nicht geht.

[...]
Post by René Mühle
die Schriftgröße anpassen möchte? Ich fand Beispiele wo dies so
gehandhabt wurde: \begin{Verbatim}[fontsize=\small]
Das funktioniert leider nicht so wie erwartet.
Was funktioniert denn nicht? Fehlermeldung? Minimalbeispiel?

cheerio
ralf

Andreas Pöge
2006-01-25 15:00:12 UTC
Permalink
Hallo,
Post by Rene
Und noch einen kleinen Schönheitsfehler hat diese Lösung. Da sich
\begin{block}{Beispiel} nicht verwenden lässt, bricht das ganze etwas
aus dem restlichen Design der Präsentation aus.
ich versteh' Dein Problem nicht ganz... Das hier funktioniert bei mir z.
B. ganz ausgezeichnet:

\begin{frame}[fragile]\frametitle{Hauptachsenanalyse}
\begin{block}{SPSS"=Code"=Beispiel (PAF)}
\begin{verbatim}
FACTOR
/VARIABLES E0001 E0004
/MISSING PAIRWISE
/ANALYSIS E0001 E0004
/PRINT INITIAL CORRELATION KMO AIC EXTRACTION ROTATION
/FORMAT SORT BLANK(.20)
/PLOT EIGEN
/CRITERIA MINEIGEN(1) ITERATE(99)
/EXTRACTION PAF
/CRITERIA ITERATE(99)
/ROTATION VARIMAX
/SAVE AR(ALL)
/METHOD=CORRELATION .
\end{verbatim}
\end{block}
\end{frame}

Gruss,

Andreas
Loading...