LaTex: Unterschied zwischen linespread und setspace

TeXLive 2007 ist seit ein paar Wochen draußen. Hier ein Link, der ausführlich die Installation von TeXLive auf dem Mac beschreibt. Vorsicht: Kommandozeile!
(eigentlich unumgänglich für ordentliches TeX :D )

http://home.arcor.de/helge.baumann/mactex.html

Eine Neuinstallation würde ich aber nur vor oder nach der Diplomarbeit wagen (never change a running system...).
 
Das ist ganz einfach. LaTeX setzt bei 10pt voreingestellt mit einem Durchschuß von 1,2. Wenn Du nun \linespread{1.5} verwendest, kommst Du auf einen Zeilenabstand von 1,2 * 1,5 = 1,8. Um auf einen Zeilenabstand von 1,5 zu kommen, müßte man \linespread{1,25}, eingeben: 1,2 * 1,25 = 1,5. {setspace} mach genau das, und zwar jeweils für 10pt, 11pt und 12pt, weil sich bei allen drei Schriftgrößen der von LaTeX voreingestellte Durchschuß unterscheidet:

Code:
%%% setspace.sty

\newcommand{\singlespacing}{%
  \setstretch {\setspace@singlespace}%  normally 1
  \vskip \baselineskip  % Correction for coming into singlespace
}

\newcommand{\onehalfspacing}{%
  \setstretch{1.25}%  default
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.25}%
  \or % 11pt
    \setstretch {1.213}%
  \or % 12pt
    \setstretch {1.241}%
  \fi
}

\newcommand{\doublespacing}{%
  \setstretch {1.667}%  default
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.667}%
  \or % 11pt
    \setstretch {1.618}%
  \or % 12pt
    \setstretch {1.655}%
  \fi
}

Grüße,

Peisistratos
moment, allerdings würde ich um den durchschuss zu erhalten, eben diesen in die neuberechnung des zeilenabstandes einfliessen lassen. immerhin ist der einfache zeilenabstand einer von 1.2, der anderthalbfache sollte also durchaus folgerichtig zwischen 1.7 (1.2 + 0.5*Schriftgröße) und 1.8 (1.2 * 1.5) liegen. wie der ursprungsposter im folgenden dokumentiert, scheint dies auch bspw. ein wortprozessor aus dem hause eines washingtoner softwareunternehmens entsprechend zu handhaben. ebenso scheinen die entwicklerinnen von linespread dies ähnlich zu sehen. wenn man die beiden verlinkten dokumente ausserdem vergleicht, stellt man fest, das word dokument besitzt den größeren zeilenabstand, das latex dokument hingegen keinen, in welchem korrekturbemerkungen platz fänden (das ist ja der grund, weshalb 1.5 gefordert ist).
 
moment, allerdings würde ich um den durchschuss zu erhalten, eben diesen in die neuberechnung des zeilenabstandes einfliessen lassen. immerhin ist der einfache zeilenabstand einer von 1.2, der anderthalbfache sollte also durchaus folgerichtig zwischen 1.7 (1.2 + 0.5*Schriftgröße) und 1.8 (1.2 * 1.5) liegen.
Wieso? Das was in LaTeX gemeinhin als „einfacher“ Zeilenabstand bezeichnet wird, ist _kein_ einfacher Zeilenabstand, sondern, wie Du eigentlich auch feststelltst, ein 1,2-facher, d. h. Schriftgröße 1 + Durchschuß 0,2. Und das anderhalbfache von 1 bleibt nun mal 1,5. Die Bezugsgröße für den Zeilenabstand ist die Schriftgröße (http://de.wikipedia.org/wiki/Zeilenabstand), nicht aber Schriftgröße+Durchschuß. Der Durchschuß _ergibt_ sich aus dem Zeilenabstand. Deswegen hat er bei der Berechnung des Zeilenabstandes nichts zu suchen.
wie der ursprungsposter im folgenden dokumentiert, scheint dies auch bspw. ein wortprozessor aus dem hause eines washingtoner softwareunternehmens entsprechend zu handhaben. ebenso scheinen die entwicklerinnen von linespread dies ähnlich zu sehen.
Auch wenn Kleinweich-Wort dies so sieht, heißt das nicht, daß die Bezeichnung „eineinhalbzeilig“, die sich für deren Auffassung eingebürgert hat, korrekt ist (ich wiederhole mich). Es ist ein „einvierfünftel“ Zeilenabstand. Und es hat seinen Grund, warum \linespread in der LaTeX-Gemeinde als obsolet betrachtet wird.
(das ist ja der grund, weshalb 1.5 gefordert ist).
In 10 Semestern hat bei mir noch keiner zwischen den Zeilen korrigiert, auch nicht, als ich noch mit Word geschrieben habe. ;)

Ansonsten sorry für meine Korinthenkackerei! ;)

Grüße,

Peisistratos
 
Zuletzt bearbeitet von einem Moderator:
Soweit, so richtig, Peisistratos, doch bedenken wir bitte auch, der Schriftkegel von CMT ist eigentlich für den Buchdruck etwas zu klein, also ohne Durchschuss nicht anwendbar. Ausserdem hast Du einen kleinen logischen Fehlschluss begangen
Peisistratos schrieb:
Auch wenn Kleinweich-Wort dies so sieht, heißt das nicht, daß die Bezeichnung „eineinhalbzeilig“, die sich für deren Auffassung eingebürgert hat, korrekt ist.
Denn obschon Monopolisten natürlich irren können, haben sie häufig den Nachteil, ihre "Ansichten" setzen sich fälschlicherweise durch.

Daher bleibt ein Zeilenabstand von 1.7 ein anderthalbzeiliger, vgl. auch http://de.wikipedia.org/wiki/Zeilenabstand
 
Für mich wäre nun interessant, wie ich zu diesen 1,7 kommen kann. Mein Prof. will Anderthalbzeilen-Abstand. Aber so wie im Word. Mit welchem Befehl kann ich da nun bei Setspace noch 0,2 drauf tun?

Geht sowas?

Vielen Dank

Daniel
 
Ganz einfach. Setspace enthält folgenden Code:
Code:
\newcommand{\onehalfspacing}{%
  \setstretch{1.25}%  default
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.25}%
  \or % 11pt
    \setstretch {1.213}%
  \or % 12pt
    \setstretch {1.241}%
  \fi
}
den kannst du mittels \renewcommand ganz oder teilweise überschreiben. In deinem Falle sollte
Code:
\makeatletter
\renewcommand{\onehalfspacing}{%
  \setstretch{1.5}%  default
  \ifcase \@ptsize \relax % 10pt
    \setstretch {1.5}%
  \or % 11pt
    \setstretch {1.5}%
  \or % 12pt
    \setstretch {1.5}%
  \fi
}
den gewünschten Effekt erzielen. Das hier veränderte Codeschnipsel fügst Du einfach in den Kopf Deiner Arbeit ein.
 
Das hier veränderte Codeschnipsel fügst Du einfach in den Kopf Deiner Arbeit ein.

Hey Danke, das ist zwar sicher keine elegante Lösung aber es funktioniert gut. Jetzt habe ich in Latex 34 Zeilen auf einer Seite und in Word waren es ja 35 Zeilen. Wenn man beides übereinander legt / nebeneinander legt, sieht man kaum einen Unterschied.

Vielen Dank
 
die elegante lösung bekommst du, wenn du aus deine immer wieder verwandten makros in eine "style" datein einbaust.
 
die elegante lösung bekommst du, wenn du aus deine immer wieder verwandten makros in eine "style" datein einbaust.

Wenn ich nach meiner Diplomarbeit weiterhin LaTex verwende, werde ich darüber nachdenken. So reicht mir das nun erstmal völlig.
 
Klar, der Thread ist schon 5 Jahre alt, aber weil er bei Google immer noch an 2. Stelle angezeigt wird, wenn man nach 'latex setspace' sucht, hier eine einfachere Lösung:
Statt /onehalfspacing einfach /spacing{} benutzen.
Ich komme zum Beispiel mit /spacing{1.45} auf die 34 Zeilen meiner Wordvorlage.

Viele Grüße
Michael
 
Hallo,
ich hänge mich mal hier ran. In einem sehr umfangreichen Dokument will ich grundsätzlich 1,5 Zeilenabstand haben, jedoch sehr oft auch auf einfachen Abstand umschalten (z.B. für Tabellen, caption, Verzeichnisse, Literatur, Textfragmente). Ich binde externe .tex-Dateien ein, die u.a. auch nur den Tabellencode endhalten. Wenn ich jetzt im Dokument den Abstand umschalte (baselineskip oder mit setspace), dann betrifft die Änderung teilweise auch andere (nichtgemeinte) Textstellen (z.B. Text in der Nähe von mehrseitigen Tabellen). Wie kann ich dieses Problem sauber lösen?
Danke.
 
Grundsätzlich ist es keine gute Idee, in dem Text selbst Kommandos einzugeben, die das Layout ändern (außer vielleicht, wenn es nur wenige Stellen betrifft). Denn wie du bereits festgestellt hast, müsste man diese bei (kleinen) Layoutänderungen dann mühsam im ganzen Text ändern. Das kostet Zeit und zudem kann man gerne mal die ein oder andere Stelle übersehen.

Viel besser ist es sich entsprechende Umgebungen (mit Gruppen) zu definieren, in denen man die Layoutänderungen hineinschreibt. Dann hat man eine Umgebung für die Captions, eine für die Tabellen usw. und benutzt die entsprechenden Umgebungen bei den passenden Elementen. Für dich mag das jetzt keine Arbeit einsparen, wenn du diese Umgebungen ergänzt, die nun überflüssigen Layoutänderungen im Text löschst usw., der Vorteil ist aber: Willst du nun das Layout bestimmter Elemente ändern, musst du das nur noch an einer Stelle (nämlich der Umgebungsdefinition) machen und kannst dann sicher sein, dass alle entsprechenden Stellen geändert werden (außer, du hast vergessen die Umgebung zu verwenden).
 
OK, gruppen also. Wenn ich nach Groups suche, finde ich alle möglichen Nutzergruppen und nichts zur Umgebung. Könntest Du mir noch ein paar Stichworte nennen, welches Package, z.B.?
Danke
 
Damit meine ich Konstruktionen wie "Hier steht {\it kursiver} Text". Damit kann erreicht werden, dass bestimmte Kommandos nur auf bestimmte Teile des Textes wirken. In deinem Fall könntest du also beispielsweise ganze Absätze in eine solche Gruppe packen (die Absätze also einfach mit {} umgeben) und dann in der Gruppe das Layout ändern. Diese Änderungen wirken dann nur innerhalb der Gruppe, danach wird das Layout von vor der Gruppe weiterbenutzt.
 
Zurück
Oben Unten