Problem mit setspace und float

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: Problem mit setspace und float

von Senbei » Fr 1. Aug 2008, 14:54

Besser gehts wohl kaum. Danke! :D

von KOMA » Fr 1. Aug 2008, 10:58

Senbei hat geschrieben:Habe 12pt und gerad mal in das style-file reingeschaut. Für \onehalfspacing bei 12pt wird der Wert auf 1.241 gesetzt. Per Dreisatz ergibt sich mir für einen Durchschuss von 1.25 ein Wert von 1.034, also \setstretch{1.034}. Richtig soweit?
Vielleicht ist ja noch von Interesse, wie setspace überhaupt dazu kommt. Wählt man bei den Standardklassen die Schriftgröße 12pt, so wird size12.clo oder bk12.clo (bei book.cls) geladen. Dort ist die 12pt-Schrift dann als
\renewcommand\normalsize{%
   \@setfontsize\normalsize\@xiipt{14.5}%
   \abovedisplayskip 12\p@ \@plus3\p@ \@minus7\p@
   \abovedisplayshortskip \z@ \@plus3\p@
   \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@
   \belowdisplayskip \abovedisplayskip
   \let\@listi\@listI}
definiert. Entscheidend ist hier die LaTeX-interne Anweisung
 \@setfontsize\normalsize\@xiipt{14.5}
Diese definiert, dass bei \normalsize die Schriftgröße 12pt mit dem Grundlinienabstand 14.5pt verwendet wird. In den fd-Dateien für CM (oder leicht abgewandelt auch für EC) ist dann folgendes festgelegt:
\DeclareFontShape{OT1}{cmr}{m}{n}%
     {<5><6><7><8><9><10><12>gen*cmr%
      <10.95>cmr10%
      <14.4>cmr12%
      <17.28><20.74><24.88>cmr17}{}
Entscheidend ist hier die Angabe: »<12>gen*cmr«. Das bedeutet, dass cmr12 geladen werden soll. Es wird also tatsächlich eine 12pt-Schrift mit einem Grundlinienabstand von 14,5pt verwendet. 14,5 / 12 = 1,20833... Der normale Durchschuss beträgt also bereits 20,833.. Prozent. Will man nun 50% so gilt: 1,5 / ( 14,5 / 12 ) = 18 / 14,5 = 1,2414.

Statt auf dem Umweg über die Faktoren von setspace kannst Du jetzt also auch direkte den Faktor ausrechnen: 1,25 / ( 14,5 / 12 ) = 15 / 14,5 = 1,034. Bei dem geringen Wert würde ich übrigens noch nicht unbedingt zum setspace-Paket greifen, sondern die 3% mehr an Durchschuss einfach generell per \linespread{1,034} setzen. Macht man das nach \begin{document} braucht man noch ein \selectfont.

Nähere Informationen zu \DeclareFontShape, \linespread und \selectfont sind dem fntguide zu entnehmen. \@setfontsize ist im dokumentierten LaTeX-Kern, source2e, zu finden. Die genannten Dokumente sind Bestandteil jeder zulässigen LaTeX-Distribution.

Achja: Für 11pt würde beispielsweise \@setfontsize\normalsize\@xipt{13.6} verwendet. \@xipt steht für 10.95. Die restliche Rechnung überlasse ich zur Übung dem interessierten Anwender.

Und noch ein Hinweis: Grundsätzlich könnten in anderen fd-Dateien tatsächlich leicht abweichende Schriftgrößen ausgewählt werden. setspace kann also bei anderen Schriften eventuell nur ungefähr korrekte Einstellungen liefern. Außerdem arbeitet es bei anderen Schriftgrößen als 10, 11 oder 12pt auch nur näherungsweise richtig. Ihr wisst jetzt aber, wie Ihr für andere Schriftgrößen ebenfalls den korrekten Faktor bestimmen könnt.

setstrecht und linespread für Zeilenabstand / Durchschuss

von DonCube » Do 31. Jul 2008, 09:53

Ich würde sagen, dass hört sich gut an. Ob man diesen Wert nun mit \setstretch oder \linespread eingibt, ist egal (vermute ich). Genau weiß ich das aber nicht.

Gruß
DonCube[/quote]

von Senbei » Do 31. Jul 2008, 09:39

Moin DonCube!

Habe 12pt und gerad mal in das style-file reingeschaut. Für \onehalfspacing bei 12pt wird der Wert auf 1.241 gesetzt. Per Dreisatz ergibt sich mir für einen Durchschuss von 1.25 ein Wert von 1.034, also \setstretch{1.034}. Richtig soweit?

Danke für den Tip mit \recalctypearea. Kannte ich noch nicht :D

Durchschuss / Zeilenabstand

von DonCube » Do 31. Jul 2008, 09:08

Guten morgen Senbei,
also zunächsteinmal müsste man wissen welche Schriftgröße du benutzt. Den LaTeX setzt natürlich bereits einen Zeilenabstand (Durchschuss).

Beispiel:
Bei einer Schriftgröße von 10pt setzt Latex üblicherweise bereits einen Zeilenabstand von 2pt. Der Faktor beträgt also schon 1,2. Wenn du nun auf 1,25 erhöhen willst musst du zusätzlich den Faktor 1,042 verwenden.

Konkret sähe dies dann so aus:
\documentclass[10pt,DIV=calc] {scrreprt}
\linespread{1.042}
\recalctypearea %Neuberechnung des Satzspiegels
Den Satzspiegel sollte man nach jeder Änderung an Schrift, Zeilen oder Seiteneinstellungen durchführen. Alternativ kann dies auch mit
\typearea[current]{last} durchgeführt werden. Hierbei kann in der ersten Klammer eine Bindekorrektur angegeben werden und in der zweiten ein neuer DIV Wert.

Falls die 1,25 als Durchschuss zu wenig sein sollten ist es mittels deinem verwendeten package setspace diesen einzustellen.
\documentclass[10pt,DIV=calc] {scrreprt}
\usepackage{setspace}
\onehalfspacing
\recalctypearea %Neuberechnung des Satzspiegels
So ich hoffe ich konnte nun diesmal richtig helfen :-D.

Gruß
DonCube

von Senbei » Do 31. Jul 2008, 08:20

Fehler gefunden! Lag wohl irgendwie an meiner setspace.sty. Habe sie bei CTAN nochmal neu geladen und die Alte überschrieben, siehe da es geht plötzlich.

Dennoch danke für eure Hilfe!

Gruß, Karsten

Edit:
Kleine Rückfrage zu setspace hät ich noch, die sicher einfach zu beantworten ist. (Auch wenn es jetzt das falsche Subforum ist :wink:)
Was muss ich bei \setstretch{} angeben wenn ich 1,25 als Zeilenabstand haben möchte? Wenn ich den realen Wert angebe erscheint mir das so groß.

von Stefan Kottwitz » Mi 30. Jul 2008, 23:19

Hallo Senbei,

wenn ich Dein Minimalbeispiel übersetze, wenngleich mit einer anderer Bilddatei, da sie nicht angegeben ist, dann erscheint die Abbildung genau zwischen den Auslassungspunkten, wie beabsichtigt. Bei Dir nicht?
Falls doch, dann ergänze Dein Minimalbeispiel so, dass der Fehler auftriutt.

Viele Grüße,

Stefan

von DonCube » Mi 30. Jul 2008, 21:02

Ahhh sry mein Fehler, habe das \usepackage{float} übersehen. Ja man sollte keine Beiträge nach groben überfliegen beantworten. :lol: Meine Auskunft stimmt nur bei nicht Verwendung von float.

pospiech hat geschrieben: Ganz so schlau ist LaTeX auch nicht. Aber es zwingt einen dennoch zu besseren Lösungen. Bei vielen Bildern muss man dennoch viel Handarbeit anlegen.
Allerdings kann ich mich noch nicht dieser Aussage anschließen. Ich dachte dies wäre eine zentrale Eigenschaft von Latex. :?

Gruß
DonCube

Re: Problem mit Gleitobjekt in Latex / Tex

von pospiech » Mi 30. Jul 2008, 20:17

DonCube hat geschrieben:Hallo Senbei,
also spontan würde ich sagen gibt es die Option "H" nicht höchstens "h"
das stimmt nicht. Das Paket float definiert "H". Und das ist sehr hilfreich den es definiert damit ein "exakt hier und nirgentswo anders".
DonCube hat geschrieben: Im allgemeinen jedoch fügt LaTeX die Bilder immer typographisch korrekt ein.
Ganz so schlau ist LaTeX auch nicht. Aber es zwingt einen dennoch zu besseren Lösungen. Bei vielen Bildern muss man dennoch viel Handarbeit anlegen.

Zum Problem: Ich kann es mit deinem Beipiel nicht nachvollziehen. Es muss an irgentetwas weiterem liegen.

Matthias

Problem mit Gleitobjekt in Latex / Tex

von DonCube » Mi 30. Jul 2008, 17:08

Hallo Senbei,
also spontan würde ich sagen gibt es die Option "H" nicht höchstens "h" und die löst auch eine Warnung bei mir im TeXnicCenter aus. Die besagt das er die Option in "ht" ändert, da "h" alleine nicht gültig ist.

Aber zurück zur Frage. Wo möchtest du denn die Grafik haben? Oben, unten, mittig??? Poste doch mal den Text und die Grafik.

Im allgemeinen jedoch fügt LaTeX die Bilder immer typographisch korrekt ein. Das dies für uns Word-geschädigte etwas ungewohnt ist, ist klar. Denn da wo wir eine Grafik haben wollen ist sie noch lange nicht typographisch korrekt.

Daher verweist man im Text meistens mit \ref{label} und gegebenenfalls \pageref{label} auf die Grafik.


Gruß
DonCube

Nach oben