Mit Zeilenbreite rechnen?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Mit Zeilenbreite rechnen?

von flodo » So 9. Sep 2012, 17:59

von flodo » Sa 8. Sep 2012, 22:07

hab es jetzt vorübergehend so gelöst:
	% Zeilenbreite des Listings
	\newdimen\lstwidth
	\lstwidth = 0pt
	\advance\lstwidth by \linewidth
	\advance\lstwidth by -15pt			% Minus xleftmargin
	\advance\lstwidth by 1pt			% Minus Rand
	
	\lstset{
        numbers=left,
        linebackgroundcolor={\ifodd\value{lstnumber}\color{codegray}\fi},
        linebackgroundsep=3pt,				% Füllt die Zeile von Beginn an aus
        linebackgroundwidth={\lstwidth},	% ... bis zum Ende
        xleftmargin=15pt,		% Abstand von der Zeile inkl. Nummer zum Rand des Dokuments
        xrightmargin=5pt,
        framexleftmargin=0pt,	% Abstand vom Rand zur Codezeile
        framexrightmargin=0pt
	}
Keine optimale Lösung, aber besser als nichts :)

von flodo » Sa 8. Sep 2012, 21:41

Ich glaube ich muss mal schnell erklären um was es genau geht.

Ich habe mit listings einen Quellcode in mein Doc eingebunden.
Nun habe ich mit lstaddons den Hintergrund eingefärbt.
Zwischen dem Rand des Listings und der eingefärbten Zeile bleibt
jedoch ein weißer Abstand.
Diesen kann man mit linebackgroundsep=3pt aus dem lstaddon-paket
umgehen, jedoch nur links. Für rechts gibt es diese Option nicht!

Jedoch gibt es noch die Option: linebackgroundwidth.

Diese ist standardmäßig auf \linewidth gesetzt, ich würde das aber gerne ändern, und zwar um so viel dass auch der weiße Rand rechts verschwindet.

Daher dachte ich an

linebackgroundwidth={\linewidth{}+6pt}

Das funktioniert aber nicht.

Das normale Rechnen, ala:

\newdimen\lstwidth
\lstwidth = 0pt
\advance\lstwidth by \linewidth
\advance\lstwidth by 3pt

funktioniert leider auch nicht, da \linewidth ja nicht mit der in dem listing übereinstimmt

Mit Zeilenbreite rechnen?

von flodo » Sa 8. Sep 2012, 20:40

Hallo nochmal :)

Ich würde gerne wissen wie ich in Latex mit der Zeilenbreite rechnen kann.
D.h. ich würde gerne die Zeilenbreite auslesen und 5pt dazuaddieren.
Folgendes habe ich bereits versucht:

\linewidth+5pt
\linewidth{}+5pt
{\linewidth}+5pt

Leider hat nichts davon funktioniert!

Kann mir jemand weiterhelfen?
Danke!!

Nach oben