Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Abbildung mit oberer und unterer Begrenzung

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.08.2011
    Beiträge
    77

    Abbildung mit oberer und unterer Begrenzung

    Hallo zusammen,

    ich würde gerne meine Abbildungen mit einer oberen und unteren Begrenzungslinie versehen. Zurzeit nutze ich \fbox, was mir allerdings einen kompletten Rahmen (oben, links, unten, rechts) setzt. Gibt es einen \fbox ähnlichen Befehl der mir den Rahmen nur oben und unten setzt? Hier mein MB:

    Code:
    \documentclass{scrbook}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{graphicx}
    \usepackage[format=hang,justification=justified,singlelinecheck=false]{caption} % format=hang sorgt für eine hängende Abbildungsbezeichnung, justification=justified sorgt für einen Blocksatz in der Abbildungsbeschriftung
    \addtokomafont{caption}{\small\bfseries} % sorgt für small und fette Schriftart in der Abb.beschriftung
    \addtokomafont{captionlabel}{\small\bfseries} % small und fette Schriftart für Abbildung xyz
    \newcommand\Quelle[1]{\\[2mm]{Quelle: #1}} % Definiert einen neuen Befehl, damit der Abstand zwischen Quelle und Abbildung vergrößert werden kann
    
    \usepackage{amsmath}
    \usepackage{amsfonts}
    
    
    
    \begin{document}
    
    \begin{figure}[htbp] 
    			\fbox{	
          		{\begin{minipage}{1\textwidth}
        				\centering
        				\includegraphics[trim=15mm 115mm 15mm 128mm,clip,width=1\textwidth,draft=false]{images/platzhalter}
       			\end{minipage}}}
        	\textit{\small{\Quelle{Eigene Darstellung}}}
        	\caption{Beispielabbildung.}
    \end{figure}
    
    \end{document}
    Vielen Dank.

  2. #2
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Wenn Du schon – löblicherweise – einen Befehl \Quelle definierst, solltest Du darin auch die komplette Formatierung der Quelle vornehmen. BTW: \small ist keine Anweisung mit Argument, sondern ein Umschalter, der bis zum Ende der aktuellen Gruppe reicht. Damit der aktuelle Absatz auch wirklich mit den Einstellungen von \small gesetzt wird, muss \small am Ende des Absatzes noch gültig sein. Das ist nicht der Fall, wenn \small in \textit steht. Deshalb im folgenden Beispiel umgekehrt und explizit mit \par am Anfang und Ende.
    Code:
    \documentclass{scrbook}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage[demo]{graphicx}
    \usepackage[format=hang,justification=justified,singlelinecheck=false]{caption} % format=hang sorgt für eine hängende Abbildungsbezeichnung, justification=justified sorgt für einen Blocksatz in der Abbildungsbeschriftung
    \addtokomafont{caption}{\small\bfseries} % sorgt für small und fette Schriftart in der Abb.beschriftung
    \addtokomafont{captionlabel}{\small\bfseries} % small und fette Schriftart für Abbildung xyz
    \newcommand\Quelle[1]{\par\vskip-\parskip\raggedleft\small\textit{Quelle: #1}\par} % Definiert einen neuen Befehl, damit der Abstand zwischen Quelle und Abbildung vergrößert werden kann
    \newcommand*{\framerule}{%
      \vskip-\parskip\vskip-\ht\strutbox
      \noindent\rule{\linewidth}{\fboxrule}\par
    }
    \newcommand*{\frametoprule}{\framerule\vskip\fboxsep}
    \newcommand*{\framebottomrule}{\vskip\fboxsep\framerule}
    
    \usepackage{amsmath}
    \usepackage{amsfonts}
    
    
    
    \begin{document}
    
    \begin{figure} 
      \centering
      \frametoprule
      \includegraphics[trim=15mm 115mm 15mm 128mm,clip,width=1\textwidth,draft=false]{images/platzhalter}
      \Quelle{Eigene Darstellung}
      \framebottomrule
      \caption{Beispielabbildung.}
    \end{figure}
    
    \end{document}
    Damit das als vollständiges Minimalbeispiel läuft, habe ich Option demo bei graphicx hinzugefügt. Die nimmst Du natürlich wieder heraus, wenn Du das mit Deiner eigenen Abbildung sehen willst.

    Außerdem sollte man Platzierungsoptionen bei den Gleitumgebungen sparsam, also nicht von vorn herein bei jeder Gleitumgebung, verwenden. Siehe auch die Anmerkungen zur h-Option im verlinkten Beitrag.

  3. #3
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Hallo,

    alternativ kann man auch das Paket mdframed nutzen:
    Code:
    \documentclass{scrbook}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage{graphicx}
    \usepackage[format=hang,justification=justified,singlelinecheck=false]{caption} % format=hang sorgt für eine hängende Abbildungsbezeichnung, justification=justified sorgt für einen Blocksatz in der Abbildungsbeschriftung
    \addtokomafont{caption}{\small\bfseries} % sorgt für small und fette Schriftart in der Abb.beschriftung
    \addtokomafont{captionlabel}{\small\bfseries} % small und fette Schriftart für Abbildung xyz
    \newcommand\Quelle[1]{\par\vskip-\parskip\raggedleft\small\textit{Quelle: #1}\par} % Definiert einen neuen Befehl, damit der Abstand zwischen Quelle und Abbildung vergrößert werden kann
    
    \usepackage{mdframed}
    \mdfdefinestyle{tabelle}{leftline=false,rightline=false,nobreak}
    
    \begin{document}
    
    \begin{figure}[htbp] 
      \begin{mdframed}[style=tabelle]	
          \centering
          \includegraphics{bild}
          \Quelle{Eigene Darstellung}
      \end{mdframed}
      \caption{Beispielabbildung.}
    \end{figure}
    
    \end{document}
    Gruß
    Elke

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.08.2011
    Beiträge
    77
    Hallo Klops,

    vielen Dank für deine Hilfe. Ich hab deinen Vorschlag mal bei mir umgesetzt. Dabei sind leider einige Probleme aufgetreten. Bspw. nutze ich den Befehl \Quelle auch unter meinen Tabellen. Sobald ich jedoch deine neu definierte Version von \Quelle verwende, wird diese umgebrochen (im MB wird "Eigene Darstellung" nach "Eigene" umgebrochen). Außerdem steht die Quelle dann viel zu dicht an der unteren Begrenzung der Tabelle, sprich an \bottomrule. Das Abstandsproblem ließe sich ja bspw. über
    Code:
    \bottomrule
    \vskip 2mm
    \Quelle{Eigene Darstellung}
    lösen, oder? Wie aber verhindert man den oben beschriebenen Zeilenumbruch?

    Hier das MB:

    Code:
    \documentclass{scrbook}
    %\usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage[ngerman]{babel}
    
    \usepackage[demo]{graphicx}
    \usepackage[format=hang,justification=justified,singlelinecheck=false]{caption} % format=hang sorgt für eine hängende Abbildungsbezeichnung, justification=justified sorgt für einen Blocksatz in der Abbildungsbeschriftung
    \addtokomafont{caption}{\small\bfseries} % sorgt für small und fette Schriftart in der Abb.beschriftung
    \addtokomafont{captionlabel}{\small\bfseries} % small und fette Schriftart für Abbildung xyz
    \newcommand\Quelle[1]{\par\vskip-\parskip\raggedright\small\textit{Quelle: #1}\par} % Definiert einen neuen Befehl, damit der Abstand zwischen Quelle und Abbildung vergrößert werden kann
    
    \newcommand*{\framerule}{%
      \vskip-\parskip\vskip-\ht\strutbox
      \noindent\rule{\linewidth}{\fboxrule}\par
    }
    \newcommand*{\frametoprule}{\framerule\vskip\fboxsep}
    \newcommand*{\framebottomrule}{\vskip\fboxsep\framerule}
    
    \usepackage{booktabs}
    \usepackage{tabularx}
    \usepackage{tabu}
    
    
    
    \begin{document}
    
    \begin{figure} 
      \centering
      \frametoprule
      \includegraphics[trim=15mm 115mm 15mm 128mm,clip,width=1\textwidth,draft=false]{images/platzhalter}
      \framebottomrule
      \Quelle{Eigene Darstellung}
      \caption{Beispielabbildung}
    \end{figure}
    
    \begin{table}
      \captionsetup{singlelinecheck=true}
      \caption{Beispielüberschrift}
      \centering
      \tabulinesep=2mm
      \begin{tabu} to 1\linewidth{X[2,r,m]X[3,r,m]X[2,r,m]}
        \toprule
          Spalte 1 &  Spalte 2                         	& Spalte 3 \\
        \midrule
          Zeile1   & > 0\,\%                           	& test \\
          Zeile2   & < 10\,\%             				& test \\
          Zeile3   & < 10\,\% 							& test \\
          Zeile4   & > 5\,\%                           	& test \\
          Zeile5   & < 10\,\%             				& test \\
        \bottomrule			
      \Quelle{Eigene Darstellung}
      \end{tabu}
    \end{table}
    
    \end{document}
    Ehrlich gesagt, verstehe ich auch noch nicht ganz den Code, den du mir geschrieben hast. Ich versuche ihn mal zu erklären, so wie ich ihn verstehe. Also es geht um:
    Code:
    \newcommand*{\framerule}{%
      \vskip-\parskip\vskip-\ht\strutbox
      \noindent\rule{\linewidth}{\fboxrule}\par
    }
    Du definierst also einen neuen Befehl \framerule. Ok. Sehe ich es jetzt richtig, dass der Abstand oberhalb von \rule über
    Code:
    \vskip-\parskip\vskip-\ht\strutbox
    erzeugt wird? Könntest du mir den mal genauer erklären? Warum nicht einfach \vskip 2mm oder so ähnlich?

    Außerdem würde ich gerne wisse, ob dein Vorschlag
    Code:
    \newcommand\Quelle[1]{\par\vskip-\parskip\raggedright\small\textit{Quelle: #1}\par}
    dazu führt, dass nach der Abbildung ein Absatz eingefügt wird, der eine variable Länge aufweisen kann. Vergrößert Latex nicht den Absatzabstand, wenn beispielsweise lediglich eine Abbildung auf einer Seite steht und darüber hinaus kein Text? Ich möchte nämlich, dass der Abstand zwischen unterer Begrenzung einer Abbildung oder einer Tabelle und der Quellenangabe immer gleich groß ist.

    Zu deiner Anmerkung bzgl. Gleitumgebung: Das heißt, ideal wäre es eigentlich die optionalen Parameter überhaupt nicht anzugeben, richtig? Also lediglich \begin{figure}.

    Vielen Dank nochmals für deine Hilfe zu meiner ursprünglichen Frage und natürlich zu den vielen weiteren Anmerkungen, auf die ich ohne deinen Hinweis niemals alleine gekommen wäre.

    VG

  5. #5
    Registrierter Benutzer
    Registriert seit
    21.08.2009
    Beiträge
    496
    Verwende \Quelle erst nach \end{tabu}. In deinem Code wird die Quelle in der ersten Tabellenspalte ausgegeben und deshalb erfolgt der Zeilenumbruch.

  6. #6
    Registrierter Benutzer
    Registriert seit
    08.08.2011
    Beiträge
    77
    Hi esdd,

    sorry, mein Fehler. Na klar, kein Wunder. Vielen Dank.

    Um den Abstand zwischen unterer Tabellenbegrenzung und Quelle herzustellen verwende ich nun

    Code:
    ...
    \bottomrule
    \end{tabu}
    \vskip 2mm
    \Quelle{Eigene Darstellung}
    Kann man das so machen oder ist das nicht Latex-konform?

    Viele Grüße

  7. #7
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Code:
    \newcommand\Quelle[2][0pt]{\par\vskip-\parskip\vskip#1{\raggedleft\small\textit{Quelle: #2}\par}}
    Dann kannst Du einen eventuell gewünschten zusätzlichen Abstand per optionalem Argument erreichen, also beispielsweise:
    Code:
    \Quelle[1ex]{Das ist die Quelle}
    Innerhalb von figure- oder table-Umgebungen werden vertikale Abstände übrigens nicht gedehnt.
    Geändert von klops (03-07-2013 um 20:45 Uhr) Grund: Fehlende Gruppenklammern ergänzt (siehe unten)

  8. #8
    Registrierter Benutzer
    Registriert seit
    08.08.2011
    Beiträge
    77
    Hallo klops,

    ja, das ist eine gute Idee. Vielen Dank.

  9. #9
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Mir fällt gerade auf, dass da noch Gruppenklammern fehlen, um die Wirkung von \raggedleft zu begrenzen. Ich werde die direkt im Kommentar oben einfügen, damit künftige Leser nicht erst bist hier blättern müssen …

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •