PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit lstlisting + frame



heike666
29-09-2008, 11:20
Hallo zusammen,

ich schreibe gerade meine Diplomarbeit und habe da bei der Quellcodeangabe mit lstlisting ein paar Problemchen.
Die Anzeige klappt, der Rahmen darum teilweise auch. Ich habe nur das Problem, dass in einigen Codeabschnitten so was hier vorkommt: P'. Und durch dieses Hochzeichen wird der senkrechte Rahmen an dieser Stelle nicht durchgehend gezeichnet, es entsteht ein kleiner Bruch. Schaue das ganze als pdf an, aber auch beim Ausdrucken ist das Problem noch da. Liegt wohl daran, dass der senkrechte Strich nicht mehr lang genug ist, der Zeilenabstand durch das Hochstellen aber größer wird..

Hat jemand eine Idee, wie ich den Rahmen durchgehend hinkriege?

Danke schonmal!
LG Heike


Hier ein Minimalbeispiel:

\documentclass[12pt,a4paper,pdftex]{report}
\usepackage[pdftex,linktocpage,breaklinks=true]{hyperref}
\usepackage{listings}

\lstset{language=Java, numbers=left, numberstyle=\tiny, numbersep=5pt, escapeinside={\#}{\#}, frame=single, basicstyle=\scriptsize, xleftmargin=18pt,framexleftmargin=15pt,xrightmargi n=3pt}

\begin{document}

\begin{lstlisting}[firstnumber=1]
P#$^{'}$#
\end{lstlisting}

\end{document}

voss
29-09-2008, 11:37
Hat jemand eine Idee, wie ich den Rahmen durchgehend hinkriege?


was spricht denn gegen P'? Wieso muss du denn ' explizit als Exponenten
haben?

Herbert

heike666
29-09-2008, 12:05
Das habe ich anfangs versucht. Aber da gab es ein ziemliches Wirrwar mit den Leerzeichen. Das habe ich so halb in Griff bekommen.
Ich brauche aber auch P''' und das sieht, wenn man es nicht als Exponent macht doof aus, weil es dann so 'langgezogen' wird.

Wenn man sich das hier mal ansieht:

\documentclass[12pt,a4paper,pdftex]{report}

\usepackage[pdftex,linktocpage,breaklinks=true]{hyperref}
\usepackage{listings}

\lstset{language=Java, numbers=left, numberstyle=\tiny, numbersep=5pt, escapeinside={\#}{\#}, frame=single, basicstyle=\scriptsize, xleftmargin=18pt,framexleftmargin=15pt,xrightmargi n=3pt}

\begin{document}

\begin{lstlisting}[firstnumber=1]
P#$^{'}$#
P''#$\leftarrow$# x in P''
bewerte P'''
t#$\leftarrow$# t+1
\end{lstlisting}

\end{document}


dann entstehen bei mir vor t irgendwelche Platzhalter.. Die sind eben nicht da, wenn ich das ganze mit dem Exponenten mache.. und P''' ist sehr unschön..

LG Heike

mechanicus
29-09-2008, 12:34
Streiche


P#$^{'}$#
Setze:

P'
:confused:

heike666
29-09-2008, 12:38
Hmm, ich dachte ich habe gerade geschrieben, warum ich das eben nicht möchte.. weil es doof aussieht und mir dann an anderen Stellen das mit den Leerzeichen verhaut..

voss
29-09-2008, 12:47
Das habe ich anfangs versucht. Aber da gab es ein ziemliches Wirrwar mit den Leerzeichen. Das habe ich so halb in Griff bekommen.
Ich brauche aber auch P''' und das sieht, wenn man es nicht als Exponent macht doof aus, weil es dann so 'langgezogen' wird.

dann entstehen bei mir vor t irgendwelche Platzhalter.. Die sind eben nicht da, wenn ich das ganze mit dem Exponenten mache.. und P''' ist sehr unschön..


dann beseitigst du eben die Platzhalter ...
Nebenbei: die pdftex-Option ist unsinnig!


\documentclass[12pt,a4paper]{report}

\usepackage{listings}

\lstset{language=Java, numbers=left, numberstyle=\tiny,
numbersep=5pt, escapeinside={\#}{\#}, frame=single,
basicstyle=\scriptsize, xleftmargin=18pt,
frame=single,xleftmargin=15pt,xrightmargin=3pt}

\begin{document}

\begin{lstlisting}[columns=flexible,showstringspaces=false]
P'
P''#$\leftarrow$# x in P''
bewerte P'''
t#$\leftarrow$# t+1
\end{lstlisting}

\end{document}


Herbert

heike666
29-09-2008, 13:15
Danke für die Hilfe!