PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : graphics - grafik auf volle Textbreite skalieren



dermoritz
13-10-2010, 11:57
Ich habe das Problem, dass



\begin{center}
\includegraphics[width=\textwidth]{Bild.png}
\end{center}


das Bild nicht auf die volle Textbreite skaliert. Der linke Rand ist bei der Grafik ca 1cm Breiter der des Textkörpers.
Falls ich jedoch sowas mache wie


\includegraphics[width=(\textwidth)+3cm]{Bild.png}

wirft Latex lustige Fehler:"illegal unit of measure" und "missing number treated as zero".

Das wiederum funktioniert aber:


\includegraphics[width=3cm]{Bild.png}


Damals bei meiner Diplomarbeit hatte ich diese Probleme nicht dort hat man mit "width=(\textwidth)" ein Bild exakt auf Textbreite skaliert und sowas wie "+3cm" "-3cm" hat auch Problemlos funktioniert?!
Woran kann das liegen?!
Hier noch eine art Minimalbeispiel:


\documentclass[a4paper]{article}
\usepackage{a4wide}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage[T1]{fontenc}
%%\usepackage[urw-garamond]{mathdesign}
\usepackage[scaled]{helvet}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif

\setdescription{font=\normalfont}
\usepackage{graphicx}


\begin{document}


\section*{bla}



\section{blub}



\section{blubber}

\begin{figure}[h]
\begin{center}
\includegraphics[width=(\textwidth)+1cm]{Bild.png}
\end{center}
\end{figure}

\end{document}

Schweinebacke
13-10-2010, 13:12
Möglicherweise ist der Rand links von der Abbildung in Wirklichkeit Teil der Abbildung. Man kann das mit
\frame{\includegraphics[width=\textwidth]{Grafikdatei}} testen. Übrigens solltest Du innerhalb von Gleitumgebungen keine center-Umgebung, sondern ggf. die Anweisung \centering (in Deinem Beispiel ist das aber überflüssig, das die Abbildung ohnehin Seitenbreite hat) verwenden. Siehe dazu auch »Das LaTeX2e Sündenregister« (http://ctan.org/pkg/l2tabu). Das Dokument solltest Du auch aus anderen Gründen einmal lesen.

edico
13-10-2010, 13:34
Wenn du übergrosse Bilder auf Textweite setzen willst, musst du mit den Optionen 'spielen'. Da hier (in deinem Bsp.) Berechnungen erfolgen, musst du das calc package laden. Ob float oder nicht, spielt bei der Betrachtung keine Rolle.

Dein Besipiel minimalisiert und mit Variationen bestückt:



\documentclass[a4paper]{article}
\usepackage{showframe} % nur demo
\usepackage[demo]{graphicx}
\usepackage{calc}


\begin{document}

\section{textwidth}

%\begin{figure}[htb]
\includegraphics[width=\textwidth,height=1cm]{Bild}
%\end{figure}

\section{\"ubergross}
\subsection{\ldots und into margin}

%\begin{figure}[htb]
%%\begin{center}
\includegraphics[width=(\textwidth)+1cm,height=1cm]{Bild}
% ^^^^^^^^^^^^^^^^ requires calc env
%%\end{center}
%\end{figure}

\subsection{\ldots und zentriert}

%\begin{figure}[htb]
\makebox[\textwidth]{%
\includegraphics[width=1.1\textwidth,height=1cm]{Bild}}
%\end{figure}

\subsection{\ldots und textwidth skalieren}

%\begin{figure}[htb]
% \centering
\resizebox{\textwidth}{!}{%
\includegraphics{Bild}}
% \caption[flag]{Ein Bild}
% \label{fig:flag}
%\end{figure}

\section{textwidth und textheigth ... angepasst}
float positioniert sich ganzseitig

\begin{figure}[htb]
\includegraphics[height=\textheight,%
width=\textwidth,%
keepaspectratio]{Bild}
\end{figure}

\end{document}


edico

voss
13-10-2010, 14:43
\begin{center}
\includegraphics[width=\textwidth]{Bild.png}
\end{center}


das Bild nicht auf die volle Textbreite skaliert. Der linke Rand ist bei der Grafik ca 1cm Breiter der des Textkörpers.

In dem Fall ist sie _garantiert_ so breit wie deine Textzeile. Wenn nicht, dann
hast du noch etwas anderes als den obigen Code.




Falls ich jedoch sowas mache wie


\includegraphics[width=\textwidth+3cm]{Bild.png}

wirft Latex lustige Fehler:"illegal unit of measure" und "missing number treated as zero".


Das setzt das Paket calc voraus und vor allen Dingen nicht deine rudnen Klamemrn.




\begin{center}
\includegraphics[width=\textwidth+1cm]{Bild.png}
\end{center}


das funktioniert nur, wenn du es in eine Box setzt


\makebox[[width=\textwidth+1cm]{\includegraphics[width=\linewidth]{Bild.png}


sonst wird es nicht zentriert, trotz der Center-Umgebung.

Herbert

rstuby
13-10-2010, 15:34
Ich glaube allerdings, das Zentrieren ist hier eher kontraproduktiv.

voss
13-10-2010, 16:26
Ich glaube allerdings, das Zentrieren ist hier eher kontraproduktiv.

wieso?

Herbert

dermoritz
13-10-2010, 16:27
Vielen Dank! "calc" ist die Rettung.

und auch explizit Danke an voss für

"In dem Fall ist sie _garantiert_ so breit wie deine Textzeile. Wenn nicht, dann
hast du noch etwas anderes als den obigen Code."

Das hat mich stutzig gemacht und siehe da, das Bild hat einen weißen Rand :-P

rstuby
13-10-2010, 16:59
Wenn du ein Bild mit einem 1cm weißen Rand hast und nicht das Bild editierst (was natürlich in jedem Fall vorzuziehen wäre), dann lässt du doch besser den weißen Rand über die Textbreite hinaus ragen (Bild linksbündig) als es zu zentrieren, so dass es auf jeder Seite 0.5 cm über den Rand hinausragt. Dann ist ja links ein halber Zentimeter des Bildes außerhalb des Satzspiegels und rechts ein halber Zentimeter des weißen Bildrandes innerhalb des Satzspiegels, das sichtbare "Bild" also verschoben.