PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LaTeX-Quellcode darstellen



Bilbo
23-04-2010, 11:57
Hallo,

wie stelle ich am Besten LaTeX-Quellcode im Fließtext oder Tabellen dar? Angenommen ich habe eine zweispaltige Tabelle und möchte links den LaTeX-Code darstellen und rechts die Ausgabe. Welches Paket/Befehle nutzen Leute wie Herbert für ihre Bücher? Wenn ich einen richtigen Quellcode von 2 und mehr Zeilen darstellen will greife ich auf "listings" zurück, aber lohnt es sich auch für Kurzbefehle wie "\alpha, \beta, \usepackage{}" im Fließtext oder Tabellen die lstlistings-Umgebung ständig zu starten?

Gruß
Bilbo

localghost
23-04-2010, 12:23
showexpl (http://ctan.org/pkg/showexpl) für Quellcode neben Ausgabe. Ansonsten \verb|\usepackage{listings}| für Fließtext verwenden.


MfG
Thorsten

Bilbo
23-04-2010, 12:30
showexpl kannte ich noch nicht. Werde ich mal ausprobieren. Ansonsten ist wohl \lstinline!...! besser als \verb. Danke.

Bilbo
24-04-2010, 13:00
Ich habe das Ganze mit showexpl versucht.

Problem 1:

Ich kann die Positionen der Boxen nicht verändern, obwohl dies laut Doku mit der Option "pos:a,b,r,l" gehen sollte. Außerdem liegen die Zeilennummern der source box (die gelbe Box) auf dem Rahmen. Des Weiteren tut sich in der source box eine ungewollte Leerzeile auf, trotz erzwungenem Zeilenumbruch.

Wie kann ich die Breite und die Hintergrundfarbe der formattierten Box ändern?

Problem 2:

Wenn ich \lstinputlisting{} verwende, dann erhalte ich immer eine zusätzliche Leerzeile. Manchmal möchte ich aber gerne alles hinter einander weg geschrieben haben. Wie kann ich das in der externen Datei ermöglichen, so dass es in der Ausgabe korrekt erscheint? (Externe Datei liegt als Anhang vor)



\documentclass{beamer}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstset{%
extendedchars=\true,%
inputencoding=utf8,%
language=[LaTeX]TeX,%
backgroundcolor=\color{yellow},%
keywordstyle=\bfseries\ttfamily\color{blue},%
basicstyle=\small\ttfamily,%
commentstyle=\color{red}\ttfamily,%
stringstyle=\rmfamily,%
numbers=none,%
showstringspaces=false,%
frameround=ffff,%
frame=single,%
framerule=1pt,%
nolol=false,%
breaklines=true,%
}
\usepackage{showexpl}

\begin{document}

\begin{frame}[fragile]{showexpl}
\begin{LTXexample}[pos:a,width=.5\linewidth]
\LaTeX{} \\
\textbf{test}
\end{LTXexample}
\end{frame}

\lstinputlisting{listings.tex}

\end{document}


Gruß
Bilbo

Bilbo
24-04-2010, 19:58
Die unerwünschten Leerzeilen kommen vom Paket listingsutf8, welches bei mir sowieso nicht den gewünschten Effekt bringt. Mit dem normalen Paket listings tritt es nicht auf.

Die Zahlen kann ich komischerweise nicht mal mit numbers=none ausschalten.

voss
24-04-2010, 20:19
Die unerwünschten Leerzeilen kommen vom Paket listingsutf8, welches bei mir sowieso nicht den gewünschten Effekt bringt. Mit dem normalen Paket listings tritt es nicht auf.

Die Zahlen kann ich komischerweise nicht mal mit numbers=none ausschalten.

es könnte ja sein, dass showexpl _nach_ deinem \lstset wieder
alles umdefiniert ...;)

Herbert

Bilbo
24-04-2010, 20:27
es könnte ja sein, dass showexpl _nach_ deinem \lstset wieder
alles umdefiniert ...;)

Herbert

Für eine Sekunde hattest du mir Hoffnung gemacht, da es mir als logisch erscheint und ich diese Option übersehen habe. Allerdings ändert es nichts, wenn ich showexpl vor listings lade.

Hast du auch diese Probleme, Herbert? In deinen wundervollen Büchern, die meinen Schrank schmücken, schöpfst du aus dem Vollen:D Ich nehme mal an du verwendest dort u. a. auch showexpl, oder?

Gruß
Bilbo

voss
24-04-2010, 20:50
Für eine Sekunde hattest du mir Hoffnung gemacht, da es mir als logisch erscheint und ich diese Option übersehen habe. Allerdings ändert es nichts, wenn ich showexpl vor listings lade.


showexpl speichert die Vorgaben alle in explpreset ...


\documentclass{beamer}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{showexpl}
\lstset{%
explpreset={
extendedchars=\true,%
backgroundcolor=\color{yellow},%
keywordstyle=\bfseries\ttfamily\color{blue},%
basicstyle=\small\ttfamily,%
commentstyle=\color{red}\ttfamily,%
stringstyle=\rmfamily,%
numbers=none,%
showstringspaces=false,%
frameround=ffff,%
frame=single,%
framerule=1pt},%
nolol=false,%
breaklines=true,%
}

\begin{document}

\begin{frame}[fragile]{showexpl}
\begin{LTXexample}[pos=l,width=.5\linewidth]
\LaTeX{} \\
\textbf{test}
\end{LTXexample}
\end{frame}

\end{document}

Herbert

Bilbo
24-04-2010, 20:56
Danke Herbert. Wie erklärst du dir, dass ich die Boxenpositionen nicht ändern kann?

Gruß
Bilbo

voss
24-04-2010, 20:59
Wie erklärst du dir, dass ich die Boxenpositionen nicht ändern kann?


pos=l,
pos=r,
pos=t,
pos=b,

Herbert

Bilbo
24-04-2010, 21:02
Die Doku ist voller Fehler :rolleyes: Da steht noch ein Doppelpunkt. Ebenso kommt hsep zwei Mal vor, dabei ist einmal vsep gemeint.

voss
24-04-2010, 21:56
Die Doku ist voller Fehler :rolleyes: Da steht noch ein Doppelpunkt. Ebenso kommt hsep zwei Mal vor, dabei ist einmal vsep gemeint.

man könnte ja den Autor darauf hinweisen ... machmal freuen die
sich sogar über Rückmeldungen ..

Herbert