Bilder breiter als Textbreite, Bildunterschriften schmaler

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: Bilder breiter als Textbreite, Bildunterschriften schmaler

von Sepp99 » Sa 17. Sep 2011, 09:35

Auf mrunix gibt es dazu eine Lösung mit \makebox (siehe Anmerkung im Beispiel:
% http://texblog.net/latex-archive/layout/centering-figure-table/
% über http://www.mrunix.de/forums/showthread.php?t=71787

\listfiles
\documentclass[a4paper,10pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{tabularx}
\usepackage[demo]{graphicx}
\usepackage{calc}%für \widthof
\begin{document}
 
\blindtext
\bigskip
 
\noindent\makebox[\textwidth]{%
\begin{tabularx}{1.5\textwidth}{XX}
  \blindtext & \blindtext
\end{tabularx}}
 
\bigskip
\blindtext
\bigskip

\begin{figure}[htb]
\noindent\makebox[\textwidth]{%
\includegraphics[width=1.4\textwidth]{mypic}}
\caption{Test}
\end{figure}

\bigskip
\blindtext 
\bigskip

\noindent
\Large Landkreis Musterstadt \\ \normalsize
\makebox[\widthof{\Large Landkreis Musterstadt}][s]{Landkreis Musterland}
\end{document}
@sommerfee
Nett, Deine Werbung :D

Gruß, Sepp.-

von sommerfee » Sa 17. Sep 2011, 08:25

Wayne? hat geschrieben:Ok, ich versuche mich mal an einem Minimalbeispiel
Leider ist es aus diversen Gründen nicht lauffähig. Ich habe mich mal hingesetzt und versucht, fehlende Pakete zu ergänzen, die Verwendung der "centering"-Umgebungen zu sortieren, \makeatletter und \makeatother wo notwendig zu ergänzen, scheitere dann aber spätestens an Konstruktionen wie
} \subfloat[20/5]{\begin{centering}
\subfloat[10/5\label{fig:10/5}]{\begin{centering}
Schade, daß es LyX offensichtlich so schwer macht, Hilfe von LaTeX-Anwendern zu bekommen.

Versuchen wir es also anders, nämlich weiterhin mit Ratschlägen, von denen ich keine Ahnung ab, ob und wie einfach sich diese in LyX umsetzen lassen:

Eine Idee hattest du ja schon:
Ich hab schon versucht, die narrow-Umgebung VOR dem setzen der Bildunterschrift zu beenden, dann kommt aber ein LaTeX-Error beim Kompilieren.
Das sollte problemlos funktionieren, solange \caption noch innerhalb der "figure"-Umgebung steckt. Was für einen Fehler hast du bekommen?

Und dann gäbe es alternativ noch die Möglichkeit, der \caption zusätzlichen Rand zu geben, so daß es wieder stimmt, etwa mit \captionsetup{margin=3.54cm} direkt vor der \caption. (1cm + 1in = 3.54cm)

von Wayne? » Di 13. Sep 2011, 20:33

Ok, ich versuche mich mal an einem Minimalbeispiel, ich benutze den Latex-Vorspann aus LyX und ergänze die sonstigen Einstellungen (Dokumentklasse usw.):
\documentclass[paper=a4, fontsize=11pt]{report} % Kein KOMA(k.A. warum, ist eine von mir abgeänderte Vorlage...)
\usepackage[ngerman]{babel} 
\usepackage[automark, nouppercase,plainfootsepline,plainheadsepline,headsepline]{scrpage2}
\usepackage{microtype} %Schönerer Text
\usepackage{lmodern}

%Abbildungs- und Tabellenbeschriftungen ändern:
\usepackage[labelfont={bf,small}, textfont={sf, small}, margin=1cm, format=hang, justification=justified]{caption}

\pagestyle{scrheadings}
\clearscrheadings
\clearscrplain
\clearscrheadfoot
\renewcommand{\headfont}
\normalfont\sffamily\bfseries


\cfoot{} % Mitte unten: Seitenzahlen bei plain
\setheadsepline{1pt} % Linie unter Head
\cfoot[\pagemark]{\pagemark}
\setheadwidth{text}
\setfootwidth{text}
\@ifundefined{textcolor}{\usepackage{color}}{}
\definecolor{hellgrau}{gray}{0.85}

% Umgebung für Breite Bilder definieren:
\newenvironment{narrow}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#1}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}}%
\item[]}{\end{list}}


\begin{figure}[h]
\begin{narrow}{-1in}{0in}

\begin{centering}
\subfloat[10/5\label{fig:10/5}]{\begin{centering}
\includegraphics[width=10cm,height=10cm]{plank}}
\par\end{centering}

\begin{centering}

\par\end{centering}

} \subfloat[20/5]{\begin{centering}
\subfloat[10/5\label{fig:10/5}]{\begin{centering}
\includegraphics[width=10cm,height=10cm]{plank}}
\par\end{centering}

\begin{centering}

\par\end{centering}

}
\par\end{centering}

\begin{centering}
\caption{Hier steht der lange Bildunterschriftentext. Hier steht der lange Bildunterschriftentext.Hier steht der lange Bildunterschriftentext.Hier steht der lange Bildunterschriftentext.Hier steht der lange Bildunterschriftentext.Hier steht der lange Bildunterschriftentext.Hier steht der lange Bildunterschriftentext.}

\par\end{centering}

\end{narrow}
\end{figure}

von sommerfee » Di 13. Sep 2011, 19:36

Wayne? hat geschrieben:Ich hab mal parboxrestore probiert, leider hat es nichts gebracht.
Das einzige, was es bewirkt hat (egal wo ich es gesetzt habe) war, dass die Bild-/Tabellenunterschriften jetzt auf der rechten Seite korrekt (also etwas kürzer als der Text) gebrochen werden, während auf der linken Seite der Unterschriftenrand immer noch identisch mit dem Bildrand ist.
Dann ist das entweder ein Fehler im caption-Paket oder ein Seiteneffekt von sonstirgendwas.

BTW: Die "narrow"-Umgebung ist so, wie sie bei dir definiert ist, sehr anfällig für Seiteneffekte. Verwende lieber etwas robusteres, wie z.B. die "addmargin"-Umgebung, die KOMA-Script bereitstellt. (Verwendest du eine KOMA-Script-Klasse? In deinem Beispiel steht leider kein \documentclass.)
Hat sonst noch jemand eine Idee wie ich mein Ziel noch erreichen könnte?
Wenn du uns ein lauffähiges Minimalbeispiel geben würdest, hätten wir was, mit dem wir herumspielen könnten.

von Wayne? » Di 13. Sep 2011, 19:22

Hi!

Ich hab mal parboxrestore probiert, leider hat es nichts gebracht.
Das einzige, was es bewirkt hat (egal wo ich es gesetzt habe) war, dass die Bild-/Tabellenunterschriften jetzt auf der rechten Seite korrekt (also etwas kürzer als der Text) gebrochen werden, während auf der linken Seite der Unterschriftenrand immer noch identisch mit dem Bildrand ist.
Ich hab auch mal versucht mit hspace herumzuspielen, das bringt jedoch auch keinen Erfolg (und wäre ja ohnehin nur gefrickelt!).
Hat sonst noch jemand eine Idee wie ich mein Ziel noch erreichen könnte?
Gruß!

von sommerfee » Di 6. Sep 2011, 19:57

Wenn dein TeX-System recht aktuell ist (sprich: das caption-Paket mindestens die Versionsnummer 3.2 hat), dann könntest du versuchen, diesen Code entweder direkt nach dem Laden des caption-Paketes (wenn er global wirken soll), oder in die narrow-Umgebung vor \caption einzubauen (wenn er nur für diese eine Umgebung gelten soll):
\captionsetup{parboxrestore=full}
Dies bewirkt, daß extra Ränder (wie von "narrow", "wide", "itemize", ...) beim Setzen der \caption nicht beachtet werden.

(Diese Option ist noch nicht dokumentiert, weil ich leider noch nicht dazu gekommen bin, die Dokumentation zu aktualisieren.)

Bilder breiter als Textbreite, Bildunterschriften schmaler

von Wayne? » Di 6. Sep 2011, 19:19

Hi!

Ich habe ein zugegeben sehr kosmetisches Problem. Ich schreibe meine Bachelor-Arbeit mit LaTeX (genauer: mit LyX) und benutze eine narrow-Umgebung um breite Grafiken bzw. zwei Grafiken nebeneinander über den Textrand (auf beiden Seiten) herausragen zu lassen.

Dies tue ich via
\begin{narrow}{-1in}{0in}
%Hier kommt das Bild%
\end{narrow}
Die narrow-Umgebung ist im Vorspann definiert.

Das Problem ist, dass auch die Bildunterschriften jetzt über die "volle Breite" gehen, ich hätte es aber gerne so, dass die Bildunterschriften weiter beidseitig etwas eingerückt gegenüber dem Textrand (rechts und links je 1cm) gesetzt werden. Die Unterschriften sind zentriert gesetzt.
Ich hab schon versucht, die narrow-Umgebung VOR dem setzen der Bildunterschrift zu beenden, dann kommt aber ein LaTeX-Error beim Kompilieren.

Ich versuch mal ein Minimalbeispiel (mach sowas zum ersten Mal, also bitte nicht schreien), wird sehr schwer für mich, da ich ja mit LyX arbeite:
\usepackage[automark, nouppercase,plainfootsepline,plainheadsepline,headsepline]{scrpage2}
\usepackage{microtype} %Schönerer Text
\usepackage{lmodern}

%Abbildungs- und Tabellenbeschriftungen ändern:
\usepackage[labelfont={bf,small}, textfont={sf, small}, margin=1cm, format=hang, justification=justified]{caption}

\pagestyle{scrheadings}
\clearscrheadings
\clearscrplain
\clearscrheadfoot
\renewcommand{\headfont}
\normalfont\sffamily\bfseries

\cfoot{} % Mitte unten: Seitenzahlen bei plain
\setheadsepline{1pt} % Linie unter Head
\cfoot[\pagemark]{\pagemark}
\setheadwidth{text}
\setfootwidth{text}
\@ifundefined{textcolor}{\usepackage{color}}{}
\definecolor{hellgrau}{gray}{0.85}

% Umgebung für Breite Bilder definieren:
\newenvironment{narrow}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#1}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}}%
\item[]}{\end{list}}

\begin{document}

\begin{narrow}{-1in}{0in}
\includegraphics{pic\1.jpg}
\caption{Dies ist eine Test-Grafik. Die Bildunterschrift ist sehr lang und geht so über die ganze BIld-Breite und damit auch über die Text-Breite hinaus, wobei sie doch in der vorgegebenen Breite INNERHALB (je 1cm) der Textbreite bleiben soll.}
\end{narrow}
[\code]

Das wird nicht als Minimalbeispiel lauffähig sein, ich denke aber ihr wisst was ich meine, vllt. ist es ja eh ganz einfach und jemand kennt nen einfachen Trick, wie ich zu meinem Ergebnis komme.

Danke schonmal im Voraus!

Nach oben