Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Abbildungsbeschriftung am Seitenrand -- sieht (fast) toll aus!

  1. #1
    Registrierter Benutzer
    Registriert seit
    31.10.2008
    Beiträge
    30

    Abbildungsbeschriftung am Seitenrand -- sieht (fast) toll aus!

    Hallo Leute,

    ich habe ein Frage zu marginfix.

    Ich habe wenig Platz in einem Dokument (viele Abbildungen). Daher habe ich mich entschlossen auch die Abbildungsbezeichnungen neben die Abbildung in den Seitenrand zu legen.

    Gemacht habe ich das folgendermaßen:

    Code:
    \usepackage{caption}
    \usepackage{marginfix}
    %...
    \begin{figure}[h]
       \centering
       \includegraphics{tollesBild.jpg}	  
    \end{figure}
    		
    \marginpar[\captionof{figure}{Auf dem tollen Bild sieht man so viele tolle Sachen...}\label{fig:tollesBild}]
    Die Ausgabe ist wirklich fantastisch -- wenn man drauf achtet, dass das Marginpar neben dem Bild auch Platz hat -- mit einem Schönheitsfehler:

    Die Beschriftung startet neben dem Bild erst auf Höhe des Endes. Also sowas hier
    Code:
    ------------------------------------
                                        |
     ---------------------              |
    |                      |            |
    |      ABBILDUNG       |            |
    |                      |            |
    |                      |            |
     ---------------------   Abb 1      | 
                             Auf dem    |
    Text text text text text Bild sieht |
    Text text text text text man so vie-|
    Text text text text text le tolle   |
    Text text text text text Sachen...  |
    Viel schöner wäre es, wenn die Beschriftung am Fuß der Abbildung endet, oder wenigesten mit dem Kopf der Abbildung beginnt:
    Code:
    ------------------------------------
                                        |
     ---------------------   Abb 1      | 
    |                      | Auf dem    |
    |      ABBILDUNG       | Bild sieht |
    |                      | man so vie-|
    |                      | le tolle   |
     ---------------------   Sachen...  |
                                        |
    Text text text text text            |
    Text text text text text            | 
    Text text text text text            |
    Text text text text text            |
    Logischerweise lässt sich aber der \captionof{figure}-Befehl nicht vor \begin{figure}..\end{figure} für die jeweilige Abbildung definieren, sonst könnte man die \marginpar-Anweisung einfach vor die figure-Umgebung setzen.

    Daher die Frage ob man eventuell den Darstellungs-Höhe (relativ zur Aufrufstelle) von marginpar regulieren kann.
    z.B. \marginpar[above=50px][\captionof{figure}{Auf dem tollen ...}] oder so.

    Hat jemand ne Idee?
    Grüße.

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Ein Schuss ins Blaue:

    \marginpar[\vspace*{-50px}\captionof{figure}{Auf dem tollen Bild sieht man so viele tolle Sachen...}\label{fig:tollesBild}]

    Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer Avatar von sommerfee
    Registriert seit
    02.07.2006
    Beiträge
    1.603
    Ich meine im Hinterkopf zu haben, daß das sidecap-Paket das kann.

  4. #4
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Das ganze mit der Randnotiz ist außerdem IMHO seeeehr gefährlich, da hier die Randnotiz außerhalb der Gleitumgebung steht, zu der sie gehört. Damit kann - AFAIK auch bei Verwendung von marginfix - die Gleitumgebung weggleiten, wenn sie beispielsweise auf die nächste Seite verschoben wird. Ich würde deshalb eher etwas wie captionbeside (KOMA-Script-Klassen) oder sidecap (kann floatrow das nicht auch?) verwenden. Notfalls könnte man noch \marginnote (gleichnamiges Paket) innerhalb der Gleitumgebung verwenden. Damit ist dann auch das Grundlinienproblem - ggf. zusammen mit \raisebox{\dimexpr\ht\strutbox-\totalheight}{\includegraphics...} erledigt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.04.2008
    Beiträge
    73

    Umgebung captionbeside mit Koma-Script

    Fragestellung falsch verstanden
    Geändert von medidoc (06-10-2010 um 17:29 Uhr) Grund: Seitenrand wurde überlesen

  6. #6
    Registrierter Benutzer
    Registriert seit
    31.03.2010
    Beiträge
    1.039
    Wer hat die Fragestellung falsch verstanden?

    Hier mal ein Beispiel mit captionbeside streng nach Anleitung:
    Code:
    \documentclass[captions=topbeside,DIV=9]{scrartcl}
    \usepackage[demo]{graphicx}
    \begin{document}
    \begin{figure}
      \begin{captionbeside}{Titel}[o][\dimexpr\textwidth+\marginparsep+\marginparwidth\relax][0pt]
        \parbox[t]{\textwidth}{
          \raisebox{\dimexpr\ht\strutbox-\totalheight\relax}{%
            \includegraphics[width=\linewidth,height=2cm]{demo}}}
      \end{captionbeside}
    \end{figure}
    
    \noindent\hrulefill\ Satzspiegel und Randbreitenmarkierung \marginpar{\hrulefill} \hrulefill
    
    \begin{figure}
      \KOMAoptions{captions=bottombeside}
      \begin{captionbeside}{Titel}[o][\dimexpr\textwidth+\marginparsep+\marginparwidth\relax][0pt]
        \parbox[t]{\textwidth}{\includegraphics[width=\linewidth,height=2cm]{demo}}
      \end{captionbeside}
    \end{figure}
    \end{document}
    In der KOMA-Script-Anleitung sind weitere, die insbesondere die Verwendung der Option captions bezüglich ihrer Wirkung auf captionbeside verdeutlichen.

  7. #7
    Registrierter Benutzer Avatar von voss
    Registriert seit
    10.04.2005
    Beiträge
    5.045
    Zitat Zitat von Ka55i0peia Beitrag anzeigen
    Daher die Frage ob man eventuell den Darstellungs-Höhe (relativ zur Aufrufstelle) von marginpar regulieren kann.
    z.B. \marginpar[above=50px][\captionof{figure}{Auf dem tollen ...}] oder so.

    Hat jemand ne Idee?
    Hier ist eine Lösung, die die Caption immer am Fuß enden lässt. Bei schmalen Abbildungen kann man auch optional eine kleinere Breite angeben, damit der Rand dann nicht genutzt wird. Zweiseitige Dokumente mit Links/Rechts wird beachtet.

    Herbert

    Code:
    \documentclass[ngerman,twoside,a4paper]{article}
    \usepackage[demo]{graphicx}
    \usepackage{babel,calc,ifthen,blindtext}
    
    \RequirePackage[%justification=RaggedRight,
       font={sf,small},labelfont={sf,small,bf},%
       aboveskip=5pt,belowskip=5pt,margin=0pt]{caption}
    \newsavebox\tempbox
    
    \newlength\fullwidth
    \makeatletter
    \newlength\de@Width
    \newlength\de@sepWidth\de@sepWidth=3mm
    \newlength\de@Indent\setlength\de@Indent{\textwidth+\marginparwidth}
    \fullwidth=\de@Indent
    
    \def\Figure{\@ifnextchar[\Figure@i{\Figure@i[]}}
    \def\Figure@i[#1]{\@ifnextchar[{\Figure@ii[#1]}{\Figure@ii[#1][\fullwidth]}}
    \def\Figure@ii[#1][#2]#3{%
      \def\OptCaption{#1}%
      \setlength\de@Width{#2}\addtolength\de@Width{-\de@sepWidth}%
      \setlength\de@Indent{#2}\addtolength\de@Indent{-\textwidth}%
      \def\Caption{#3}%
      \begin{lrbox}{\tempbox}}
    \def\endFigure{%
      \end{lrbox}\begin{figure}[!htb]%
       \abovecaptionskip=0pt\belowcaptionskip=0pt
       \ifthenelse{\isodd{\pageref{\thefigure:WideTable}}}%
        {\minipage{\de@Width}\minipage[b]{\wd\tempbox}
           \usebox\tempbox\endminipage\kern\de@sepWidth%
         \minipage[b]{\de@Width-\wd\tempbox}\label{\thefigure:WideTable}%
           \ifx\relax\OptCaption\relax\caption{\Caption}\else\caption[\OptCaption]{\Caption}\fi%
         \endminipage\endminipage}%
        {\ifdim\de@Width>\textwidth \hspace*{-\de@Indent}\fi\minipage{\de@Width}%
         \minipage[b]{\de@Width-\wd\tempbox}\label{\thetable:WideTable}%
           \ifx\relax\OptCaption\relax\caption{\Caption}\else\caption[\OptCaption]{\Caption}\fi%
         \endminipage\kern\de@sepWidth%
         \minipage[b]{\wd\tempbox}\usebox\tempbox\endminipage\endminipage}%
       \end{figure}}
    \makeatother
    
    \begin{document}
    \title{foo}\author{bar}
    \maketitle
    
    \blindtext
    \begin{Figure}{Meine sagenhaft tolle Bildbeschriftung\label{fig:0}}
    \includegraphics[width=5cm]{foo}
    \end{Figure}
    
    \blindtext 
    \begin{Figure}[Alternative für LOF]{\blindtext}
    \includegraphics[width=8cm]{foo}
    \end{Figure}
    
    \blindtext
    \begin{Figure}[Alternative für LOF][\textwidth]{Meine wieder sagenhaft tolle Bildbeschriftung}
    \includegraphics[width=4cm]{foo}
    \end{Figure}
    
    \blindtext Siehe auch Abbildung~\ref{fig:0}
    \begin{Figure}[][0.8\textwidth]{Meine wieder sagenhaft tolle Bildbeschriftung}
    \includegraphics[width=4cm]{foo}
    \end{Figure}
    
    \listoffigures
    
    \end{document}
    Herbert

Lesezeichen

Berechtigungen

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