Overfull \hbox bei Hochformatbildern

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 65
Registriert: Do 4. Jan 2018, 02:32

Overfull \hbox bei Hochformatbildern

Beitrag von Bebbi »

Hallo,

ich habe Problem mit hochformatigen Bildern. Dort gibt es häufiger die Fehlermeldung \hbox overfull. Wenn ich sie in GIMP runterskaliere, klappt es dann. Das finde ich aber keine überzeugende Lösung.

Wenn ich aufgrund eines Tipps
\includegraphics[height=\textheight, max width=\textwidth]
nehme, bekomme ich nur Fehlermeldungen, dass max width undefiniert sei und das es ein Keyval-Problem sei. Wenn ich dass dann mit \usepackage[keyval] einbinde, ändert sich nichts. Wenn ich dann gemäß
http://texwelt.de/wissen/fragen/6725/wo ... ner-klasse
über die Eingabeauffiorderung die Dokumentation aufrufe, hilft die mir nicht weiter.

Wenn ich dann width statt max width nehme, führt dass dazu, das die Bilder verzerrt werden beim Einfügen und manchmal gedreht und manchmal nicht.

Wenn ich Code aus dem darauf folgenden Post einfüge, werden die Bilder so groß skaliert, dass sie die Seite ausfüllen und der Rest wird abgeschitten.

Ich bin ratlos. :-(

Grüße

Bebbi

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hallo Bebbi, das ist völlig klar:

max width kenne ich nicht.

width stellt Dein Bild auf die gewünschte Breite und skaliert die Höhe automatisch im richtigen Verhältnis.

height skaliert Dein Bild auf die gewünschte Höhe und skaliert die Breite automatisch ebenfalls.

Gibst Du beides an, wird Dein Bild verzerrt, wenn width : height ungleich dem tatsächlichen Verhältnis ist.

Üblicherweise sagt man width = \textwidth oder width = 0.8\textwidth oder was in der Art.

Gruß vom Rolli

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 65
Registriert: Do 4. Jan 2018, 02:32

Beitrag von Bebbi »

Hallo Rolli,

das regelt alles:
\newcommand{\portraitphoto}[2]{%
\ifthenelse{\isodd{\thepage}}{\hspace*{-\lrdiffspace}\includegraphics[height=\textheight]{#1}}{}%	include the image and add some space => image is shifted by 0.5\cropspace to the left
	\begin{picture}(0,0)%
		\put(0,0.5){%
			\ifthenelse{\isodd{\thepage}}{%
				\makebox(0,0)[l]{%	right page
					\hspace*{\commentspace}%
					\begin{minipage}{\commentwidth}\raggedright #2\end{minipage}%
				}%
			}{%
				\makebox(0,0)[r]{%	left page
					\begin{minipage}{\commentwidth}\raggedleft #2\end{minipage}%
					\hspace*{\commentspaceeven}%
				}%
			}%
		}%
	\end{picture}%
%
	\ifthenelse{\isodd{\thepage}}{}{\hspace*{\lrdiffspace}\includegraphics[height=\textheight]{#1}}%	include the image and add some space => image is shifted by 0.5\cropspace to the right
	\newpage
}
Das sorgt dafür, dass die Beschriftung immer außen ist und das funktioniert im Prinzip auch - zumindest wenn ich die Bilder extern skaliert habe. Da muss ich irgendwie noch die Skalierung eingebaut bekommen.

Grüße

Bebbi

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Hallo Bebbi,

lies mal das, was ich gerade in Deinem anderen Thread geantwortet hatte.

Ich verstehe überhaupt nicht, wozu Du diese wahnsinnig komplizierte bedingte Compilierung überhaupt brauchst.

Geht es um den Satzspiegel, d.h. darum, dass ein Bild auf dem linken Teil einer Doppelseite weiter nach links, und auf dem rechten Teil weiter nach rechts muss?

Derartiges regelt doch schon die richtige \documentclass, und zwar vollautomatisch, sodass man sich überhaupt nicht darum kümmern muss ???

Ansonsten gibt es z.B. für so etwas auch noch ragged2e.

Gruß vom Rolli

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

... P.S.: Die Bildskalierung machst Du in Deinem Codesnippet an den beiden Stellen
\includegraphics[height=\textheight]{#1}}% 
.
Das hat mit \begin{minipage} überhaupt nichts zu tun!

Je nachdem wie Dein Satzspiegel eigestellt ist, und Deine (nimms mir nicht übel: Komplizierten und undurchsichtigen) \commentspace und \lrdiffspace etc. hast Du für ein Bild einen Bereich von maximal x mal y zur Verfügung. Das kannst Du Dir übrigens mit \textwidth und \textheight ausgeben lassen.

Mit Deiner obigen Skalierung wird Dein Bild so hoch, wie maximal möglich.

Wenn das Seitenverhältnis Deines Bildes Höhe : Breite größer ist als Dein verfügbares y : x, dann ist Deine Seite in horizontaler Richtung nicht ganz ausgefüllt.

Wenn es anders herum ist, dann quillt Dein Bild über.

Wenn Du mit
 width=\textwidth
zusätzlich Dein Bild so breit machst, wie es der verfügbare Platz zulässt, wird Dein Bild höchstwahrscheinlich verzerrt.

Das hat mit LaTEX überhaupt nichts zu tun. Das macht WORD genau so, oder Photoshop etc.

Gruß vom Rolli

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 65
Registriert: Do 4. Jan 2018, 02:32

Beitrag von Bebbi »

Hallo Rolli,

danke für deine Geduld.

Ich will möglichst effizient schlichte Fotobücher erstellen und genau das macht die Vorlage.
Ich gebe jeweils in einer Zeile Dateinamen und Beschriftung an und LaTeX prüft ob Hoch oder Quer und packt den Text bei nach außen.

- Das eine Problem ist das mit der Silbentrennung (s. anders Thema).
- Und dann habe ich hier in einem extra Thema das Problem, dass Hoch, ab einer bestimmten Größe nicht mehr eingepasst werden kann.

Ich will eben nicht jede Seite von vorne aufbauen. Dann kann ich das auch mit Scribus machen etc.

Ich habe mal so ein Crash-Kurs gemacht und mich ein wenig eingelesen, aber da bleibt so wenig hängen, dass ich nun an einem Beispiel mal LaTeX nutze, damit ich dann das verstehe, was ich in den Büchern lese.

Grüße

Bebbi

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

... Ja aber: Latex, Scribus und sogar das sündhaft teure In-Design sind halt nun mal überfordert, wenn Du z.B. ein Grafikfile der Mona Lisa (im Original 77 cm × 53 cm) auf z.B. einer DIN-A4-Seite so ausgibst, dass es die Seitenbreite gerade ausfüllt. Dann quillt es nämlich oben und unten um insgesamt rund 0,8 cm über.

Dann hast Du eben nur die Wahl

- a) es unter Beibehaltung des Seitenverhältnisses kleiner machen, dann bleibt ein Teil der Seite weiß
- b) es so zu verzerren, dass die Seite ausgefüllt ist
- c) ein Teil des Originals abzuschneiden

Beides [a) und b)] geht einfach:

a) entweder \width oder \height angeben, und zwar genau das Richtige von beiden;

b) beides angeben;

c) ist etwas komplizierter, geht aber z.B. mit tikz, oder möglicherweise hat graphics dafür auch eine Option, die ich gerade nicht parat habe.

Wenn Deine Vorlage (wie Du schreibst) das automatisch machen soll, dann verstehe ich so langsam, warum der Code so kompliziert ist.

Wenn das aber nicht fehlerfrei gehen sollte, dann muss in dem Algorithmus irgendwo ein Bug sein. Und den zu finden, geht über ein Minimalbeispiel weit hinaus. Da solltest Du Dich am Besten an den Autor dieser Vorlage wenden.

Gruß vom Rolli

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 65
Registriert: Do 4. Jan 2018, 02:32

Beitrag von Bebbi »

Naja, es sind einfach JPEG-Fotos ... :-)

Rolli hat geschrieben: - a) es unter Beibehaltung des Seitenverhältnisses kleiner machen, dann bleibt ein Teil der Seite weiß

a) entweder \width oder \height angeben, und zwar genau das Richtige von beiden;
Nur das soll passieren.

Rolli
Forum-Guru
Forum-Guru
Beiträge: 382
Registriert: Mi 15. Feb 2017, 08:50
Wohnort: Mittelfranken

Beitrag von Rolli »

Wie gesagt: Wenn das Deine Vorlage nicht fehlerfrei macht, muss man den Fehler suchen (großer Aufwand). Oder halt doch manuell das bei den hoffentlich nur 2 ... 3 Bildern nachkorrigieren (geringer Aufwand).

Vielleicht ist Scribus für diese Aufgabe doch die bessere Wahl - zumindestens dann, wenn Du Python kannst. "Programmieren" in LaTEX ist schon arg kryptisch und nicht ganz unproblematisch.

Gruß vom Rolli

P.S.: Bevor mich jetzt die Gurus zerfleischen: Ich habe in meinem Leben mehr als 500.000 Zeilen FORTRAN- und mehr als 1 Mio. Zeilen C-Code geschrieben ...

Bebbi
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 65
Registriert: Do 4. Jan 2018, 02:32

Beitrag von Bebbi »

Kann ich aber nicht und müsste Buch für Buch jedes Bild einzeln einladen und so …

So, nun gute Nacht.

Bebbi

Antworten