figure caption in Randnotiz

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: figure caption in Randnotiz

von niederrheiner » Mo 12. Aug 2019, 10:22

Danke für Deine Antwort.
Das ist genau das mir vorschwebte.
Ich werde micht wohl mal mit Deinen theoretischen Anmerkungen auseinandersetzen müssen.

Nochmals vielen Dank für Deine Hilfe und Tipps.
esdd hat geschrieben:Du kannst lokal \setcapindent oder dessen Sternform verwenden, um die Beschriftung nicht hängend zu setzen. Damit die Beschriftung nicht im Blocksatz erfolgt, kannst Du \setcaptionalignment{l} bzw. \setcaptionalignment{L} (braucht das Paket ragged2e) ebenfalls lokal nutzen.
\documentclass{scrbook} 
\usepackage[ngerman, main=english]{babel}% ngerman statt german 

\usepackage{graphicx} 
\usepackage[dvipsnames]{xcolor} 
\usepackage{mwe}% Fülltext und Beispielbilder 

\usepackage{microtype}
\usepackage{ragged2e}
% neue Befehle 
\newcommand{\marginpicture}[3]{% 
  \leavevmode\marginpar{% 
    \setcapindent*{0pt}% oder \setcapindent{0pt}
    \setcaptionalignment{L}% braucht ragged 2e, sonst \setcaptionalignment{l}
    \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}
      {\includegraphics[width=#1cm]{#2}}% 
      \captionof{figure} {#3}% 
}} 

\begin{document} 
\marginpicture{3}{example-image}{Figure caption example that needs more than one line}\Blindtext 
\end{document}
Die Breite der Beschriftung richtet sich auch hier übrigens nicht nach der Breite Deines Bildes sondern nach \marginparwidth. Insofern wäre es vielleicht geschickter die Breite des Bildes relativ zu \marginparwidth anzugeben statt in Zentimetern.

von esdd » So 11. Aug 2019, 22:57

Du kannst lokal \setcapindent oder dessen Sternform verwenden, um die Beschriftung nicht hängend zu setzen. Damit die Beschriftung nicht im Blocksatz erfolgt, kannst Du \setcaptionalignment{l} bzw. \setcaptionalignment{L} (braucht das Paket ragged2e) ebenfalls lokal nutzen.
\documentclass{scrbook} 
\usepackage[ngerman, main=english]{babel}% ngerman statt german 

\usepackage{graphicx} 
\usepackage[dvipsnames]{xcolor} 
\usepackage{mwe}% Fülltext und Beispielbilder 

\usepackage{microtype}
\usepackage{ragged2e}
% neue Befehle 
\newcommand{\marginpicture}[3]{% 
  \leavevmode\marginpar{% 
    \setcapindent*{0pt}% oder \setcapindent{0pt}
    \setcaptionalignment{L}% braucht ragged 2e, sonst \setcaptionalignment{l}
    \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}
      {\includegraphics[width=#1cm]{#2}}% 
      \captionof{figure} {#3}% 
}} 

\begin{document} 
\marginpicture{3}{example-image}{Figure caption example that needs more than one line}\Blindtext 
\end{document}
Die Breite der Beschriftung richtet sich auch hier übrigens nicht nach der Breite Deines Bildes sondern nach \marginparwidth. Insofern wäre es vielleicht geschickter die Breite des Bildes relativ zu \marginparwidth anzugeben statt in Zentimetern.

Re: figure caption in Randnotiz

von niederrheiner » So 11. Aug 2019, 21:51

Danke für Deine Antwort.
Die Bildunterschrift steht nun da wo sie hingehört.
Wie formatiere ich die Bildunterschrift, wenn sie länger ist als das Bild breit ist?

Nochmals Danke
esdd hat geschrieben:
\documentclass{scrbook} 
\usepackage[ngerman, main=english]{babel}% ngerman statt german

\usepackage{graphicx} 
\usepackage[dvipsnames]{xcolor} 
\usepackage{mwe}% Fülltext und Beispielbilder

% neue Befehle 
\newcommand{\marginpicture}[3]{% 
  \leavevmode\marginpar{% 
    \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}% 
      %[\ht\strutbox][\dimexpr\totalheight-\ht\strutbox\relax]% <- so nicht nötig
      {\includegraphics[width=#1cm]{#2}}% 
      \captionof{figure} {#3} % 
}} 

\begin{document} 
\marginpicture{3}{example-image}{Bild 3}\Blindtext 
\end{document}

Re: figure caption in Randnotiz

von esdd » So 11. Aug 2019, 21:20

niederrheiner hat geschrieben:..., aber die caption zu diesem Bild wird aber nicht unter sondern im Bild gesetzt.
Das ist kein Wunder. Du stellst mit dem zweiten optionalen Argument von \raisebox ein, dass als Tiefe nur \dp\strutbox berücksichtigt wird. Die tatsächliche Tiefe nach der Verschiebung beträgt aber \totalheight-\ht\strutbox. Wenn tatsächliche Höhe und Tiefe verwendet werden sollen, kannst Du aber auch gleich auf die Angabe der beiden optionalen Argumente verzichten.


\documentclass{scrbook} 
\usepackage[ngerman, main=english]{babel}% ngerman statt german

\usepackage{graphicx} 
\usepackage[dvipsnames]{xcolor} 
\usepackage{mwe}% Fülltext und Beispielbilder

% neue Befehle 
\newcommand{\marginpicture}[3]{% 
  \leavevmode\marginpar{% 
    \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}% 
      %[\ht\strutbox][\dimexpr\totalheight-\ht\strutbox\relax]% <- so nicht nötig
      {\includegraphics[width=#1cm]{#2}}% 
      \captionof{figure} {#3} % 
}} 

\begin{document} 
\marginpicture{3}{example-image}{Bild 3}\Blindtext 
\end{document}

von Bartman » So 11. Aug 2019, 16:37

Die Optionen beim Laden der Dokumentklasse sind alle voreingestellt.

Du lädst babel bewußt mit der alten deutschen Rechtschreibung für deutschen Text in Deinem englischsprachigen Dokument?

Kennst Du das Paket sidenotes und dessen Umgebung marginfigure?

figure caption in Randnotiz

von niederrheiner » So 11. Aug 2019, 15:48

Hallo an Alle,
im folgenden Minimalbeispiel wird ein Image korrekt in die Randnotiz gesetzt, aber die caption zu diesem Bild wird aber nicht unter sondern im Bild gesetzt.
Was muss ich machen um das zu ändern?
\documentclass[twoside,11pt]{scrbook}
\usepackage[german, english]{babel}

\usepackage{graphicx}
\usepackage[dvipsnames]{xcolor}
\usepackage{blindtext}

% neue Befehle
\newcommand{\marginpicture}[3]{%
  \leavevmode\marginpar{%
    \raisebox{\dimexpr-\totalheight+\ht\strutbox\relax}%
      [\ht\strutbox][\dp\strutbox]{\includegraphics[width=#1cm]{#2}}%
      \captionof{figure} {#3} %
}}

\begin{document}

\marginpicture{3}{bilder/test.pdf}{Bild 3}\Blindtext

\end{document}

Danke für Eure Hilfe und Tipps.

Bis dann ...
MfG
Günter[/code]

Nach oben