Wie zentriert TeX (LaTeX?) Bilder außerhalb der Seite?

Wie zentriert TeX (LaTeX?) Bilder außerhalb der Seite?

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.

Xin LaTeX erfolgt die Zentrierung (z. B. des Buchstabens ) durch das Platzieren von Klebstoff auf beiden Seiten, was \hfildem entspricht0pt plus 1fil minus 0pt

Also in

\hbox to \textwidth{%
\hspace{0pt plus 1fil}X\hspace{0pt plus 1fil}%
}

Die gewünschte Schachtel ist \textwidthbreit, Xwenn 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, 0ptdamit die Schachtel beim Ersetzen Xdurch etwas Breiteres \textwidthübervoll wird (und rechts übersteht).

Andere Möglichkeiten wären möglich, zum Beispiel \centerlineist das einfache Tex-Makro dem obigen ähnlich, verwendet aber \hsswelches 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}

Bildbeschreibung hier eingeben

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}

verwandte Informationen