Problem mit listings

Schriftbild, Absätze und Auflistungen einstellen


Butterbrot25
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Mi 29. Dez 2010, 18:38

Problem mit listings

Beitrag von Butterbrot25 »

hi,
ich habe in meinem quellcode einen programmcode angeben wollen mit lisitings. alles ist ok, jedoch wird die Schriftgröße, art und auch Zeilenabstand verändert, ohne dass ich dieses jemals verändert habe. Ohne den listingscode, sieht alles aus wie es soll...
guckt mal, und sagt mir bitte wie ich es hinbekomme, dass vor dem listingscode der gleiche Schriftart/Größe/Zeilenabstand hinbekomme, wie nach diesem code.
Dateianhänge
list.jpg
list.jpg (23.37 KiB) 2111 mal betrachtet

Syralist
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 71
Registriert: Di 8. Jul 2008, 09:26
Wohnort: Bremen

Beitrag von Syralist »

Also ohne zu wissen, wie du das gezeigte Fragment erzeugst, wird dir vermutlich niemand helfen können. Stichwort Minimalbeispiel.
Vermutlich hast du irgendwo bei dem Listing eine Formatierungsanweisung drin, die nicht lokal geblieben ist. Aber das ist auch nur geraten :)
Ubuntu 11.10 / Windows 7
TexLive 2011 / MikTeX 2.8
vim / TeXworks 0.3
---
Dass jemand paranoid ist heißt nicht, dass er nicht verfolgt wird.

Butterbrot26

Beitrag von Butterbrot26 »

ok,
ein Auszug des codes...
Im folgenden Programmcode wird ein zweidimensionales Array $arrayPriori[i][i]$ des Ressourcenprofils belegt in die H"ohe, wie auch in die Breite:
\scriptsize{
\begin{lstlisting}
for(i = 0; i < durchlaeufe; i++){
for(tt=zielES[arraySortStelle[i]]);tt<(zielLS[arraySortStelle[i]]+1);tt++){
for(t = (tt); t < (tt+(p[arraySortStelle[i]])); t++){
arrayPriori[tt][tt] = (arrayPriori[tt][tt]+zielRiWert[arraySortStelle[i]]);
  }
 }
}
\end{lstlisting}}
\normalsize
Die Variable $durchlaeufe$ ist belegt mit dem Wert von $|\overline{C}|$, welches der for-Schleife entsprechend der $|\overline{C}|$ Anzahl durchl"auft. 

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Wenn du im Code eine Leerzeile vor \scriptsize lässt, dann stimmt der vorherige Absatz. Offensichtlich muss der Absatz definitiv beendet sein, sonst hat die neue Schriftgrösse noch Auswirkungen darauf.
Um die Wirkung von \scriptsize zu begrenzen, musst du die geschweiften Klammern übrigens so setzen:
Normaler Text {\scriptsize kleiner Text} gefolgt von normalem Text.

Aber wenn du schon listings verwendest, dann gib die Schriftgrösse doch wie vorgesehen über lstset an, so klappts einwandfrei und ohne wieder zurückschalten zu müssen:
\documentclass{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}

\usepackage{blindtext}
\usepackage{listings}

\begin{document}

\blindtext
Im folgenden Programmcode wird ein zweidimensionales Array $arrayPriori[i][i]$ des Ressourcenprofils belegt in die H"ohe, wie auch in die Breite:

\lstset{basicstyle=\scriptsize}
\begin{lstlisting}
for(i = 0; i < durchlaeufe; i++){
for(tt=zielES[arraySortStelle[i]]);tt<(zielLS[arraySortStelle[i]]+1);tt++){
for(t = (tt); t < (tt+(p[arraySortStelle[i]])); t++){
arrayPriori[tt][tt] = (arrayPriori[tt][tt]+zielRiWert[arraySortStelle[i]]);
  }
 }
} 
\end{lstlisting}

Die Variable $durchlaeufe$ ist belegt mit dem Wert von $|\overline{C}|$, welches der for-Schleife entsprechend der $|\overline{C}|$ Anzahl durchl"auft. 
\blindtext

\end{document}

Butterbrot27

Beitrag von Butterbrot27 »

super!
das passt.
noch eine Bitte, ich habe das gleiche Problem bei Tabellen...
Wie funktioniert dort dieses?
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
 $j \in \overline{C}$ & 3 & 2 & 10 & 4 \\
\hline
 $LS_{j}$ & 24 & 27 & 28 & 32 \\
\hline
 $r(j)$ & 8 & 5 & 4 & 0 \\
\hline ...
wie müsste ich es dort mit scriptsize machen?
Ein davorhängen bewirkt nur die Verkleinerung mit dem Nebeneffekt, dass der Text vor der Tabelle wieder verändert wird...

Xenara
Forum-Meister
Forum-Meister
Beiträge: 682
Registriert: Mi 25. Nov 2009, 09:41

Beitrag von Xenara »

Ich verstehe ehrlich gesagt nicht ganz, was du willst. Bitte gewöhne dir vollständige, lauffähige Minimalbeispiele an, das erspart einiges an Raten.

Übrigens sind vertikale Linien in Tabellen typographisch gesehen böse.

Meinst du sowas?
\documentclass{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}	

\usepackage{blindtext} 
\usepackage{booktabs}

\begin{document}

\blindtext

\begin{center} 
\tiny
\begin{tabular}{|c|c|c|c|c|} 
\hline 
 $j \in \overline{C}$ & 3 & 2 & 10 & 4 \\ 
\hline 
 $LS_{j}$ & 24 & 27 & 28 & 32 \\ 
\hline 
 $r(j)$ & 8 & 5 & 4 & 0 \\ 
\hline
\end{tabular}
\end{center}


\begin{center} 
\tiny
\begin{tabular}{ccc} 
\toprule 
 $j \in \overline{C}$ & $LS_{j}$ &  $r(j)$ \\
 \cmidrule(lr){1-1}
 \cmidrule(lr){2-2}
 \cmidrule(lr){3-3}
 3 & 24 & 8 \\
 2 & 27 & 5 \\
 10 & 28 & 4 \\
 4 &  32 & 0 \\
\bottomrule
\end{tabular}
\end{center}


\blindtext

\end{document}

Antworten