%20Bilder%20au%C3%9Ferhalb%20der%20Seite%3F.png)
Mir ist aufgefallen, dass TeX/LaTeX beim Versuch, ein Bild zu zentrieren, das über die Seite hinausgeht, aufzugeben scheint und das Bild einfach linksbündig ausrichtet. Warum ist das so?
Antwort1
Der grundlegende Mechanismus, mit dem Tex funktioniert, ist ein Mechanismus, der als Boxen und Kleber bekannt ist. Das Zentrieren ist keine primitive Operation.
Klebstoff ist ein weißer Raum, der eine natürliche Länge und separate Längen hat, um die er sich ausdehnen oder zusammenziehen kann.
X
in LaTeX erfolgt die Zentrierung (z. B. des Buchstabens ) durch das Platzieren von Klebstoff auf beiden Seiten, was \hfil
dem entspricht0pt plus 1fil minus 0pt
Also in
\hbox to \textwidth{%
\hspace{0pt plus 1fil}X\hspace{0pt plus 1fil}%
}
Die gewünschte Schachtel ist \textwidth
breit, X
wenn nicht kleiner, sodass sich die beiden Klebeelemente gleichmäßig ausdehnen, um die Lücke zu füllen.
Beachten Sie jedoch die Mindestklebegröße auf beiden Seiten, 0pt
damit die Schachtel beim Ersetzen X
durch etwas Breiteres \textwidth
übervoll wird (und rechts übersteht).
Andere Möglichkeiten wären möglich, zum Beispiel \centerline
ist das einfache Tex-Makro dem obigen ähnlich, verwendet aber \hss
welches eine unendliche Dehnung hatUndWerte verkleinern. Dadurch kann der Text breiter als die Textbreite sein, und der Kleber nimmt automatisch negative Werte an, um dies auszugleichen. Dadurch wird immer zentriert, aber Sie erhalten keine Warnung, dass die Textgrenzen (oder sogar die Seitengrenzen) überschritten wurden.
Antwort2
Davids Antworterklärt den Zentriermechanismus sehr schön. Wenn Sie wissen möchten, wie Sie ein Bild, das breiter als ist \textwidth
, zentrieren können, besteht eine Möglichkeit darin, TeX mit einer Box auszutricksen:
\documentclass[]{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage[margin=3cm,showframe]{geometry}
\begin{document}
\lipsum[4]
\noindent\makebox[\linewidth]{\includegraphics[scale = 1.3]{example-image-a} }
\lipsum[4]
\end{document}
Die beste Lösung besteht natürlich darin, die Breite des Bildes so zu kontrollieren, dass sie Folgendes nicht überschreitet \textwidth
:
\includegraphics[width=\textwidth]{example-image}