PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dringendes Listing-Problem - Ausrichtung



firegyver
25-03-2009, 13:12
Hallo Leute,

ich versuche verzweifelt, folgendes im angehängten Projekt hinzubekommen:


Die Caption soll linksbündig mit dem oberen und unteren Text sein. Mit einer Minipage bekomme ich das hin - gibt es eine bessere Möglichkeit?
Der Quelltext inklusive Zeilennummern soll ebenfalls linksbündig mit dem Text sein, also weiter rechts, wie bekomme ich das hin?
Wie kann ich den Abstand ober- und unterhalb des listings regeln? Mit "aboveskip=0pt,belowskip=0pt" erreiche ich zu wenig Effekt.
Das Schlüsselwort "let!" soll ebenso wie das Schlüsselwort "let" erkannt werden, wie bekomme ich das hin?


Danke für eure schnelle Antwort!

Zmaster
25-03-2009, 13:40
Hallo,




Der Quelltext inklusive Zeilennummern soll ebenfalls linksbündig mit dem Text sein, also weiter rechts, wie bekomme ich das hin?



Laut Listings Dokumentation (dante.ctan.org/CTAN/macros/latex/contrib/listings/listings.pdf) kann man das mit der Option xleftmargin = ... erreichen (siehe 4.10 Margins and line shape).





Das Schlüsselwort "let!" soll ebenso wie das Schlüsselwort "let" erkannt werden, wie bekomme ich das hin?


In der Sprachdefinition musst du zwischen morekeywords={let} und otherkeywords={let!} unterscheiden. Das zweite enthält Zeichen vom Typ other.

Bei den anderen beiden Problemen weiß ich jetzt auf Anhieb nix.

Grüße,
Moritz

firegyver
25-03-2009, 14:36
Hey,

danke für die schnelle Antwort! Das Problem mit den Keywords ist behoben, wie kann ich aber den Einrückabstand rausfinden, um den ich die listings einrücken muss? Prinzipiell wäre das meiner Meinung nach \textwidth-\linewidth, aber wie baue ich das ein? Bei \lstset meckert er, direkt in der lstlisting-Umgebung auch - wie kann ich den Wert berechnen und einbauen?

Zmaster
25-03-2009, 15:08
Du kannst \lstset auch nicht innerhalb einer Umgebung verwenden. Hast du dir mal die Dokumention angesehen? Optionen für einzelne Umgebungen werden in eckigen Klammern übergeben: \begin{lstlisting}[xleftmargin = ...]. Wie man das dann dynamisch berechnet - keine Ahnung.

Gruß,
Moritz