Guten Tag!
Ich nutze bei doppelseitigem Layout innerhalb der captionbeside-Umgebung die Option [i], um Abbildungen immer außen auf der Seite zu haben.
Bei sehr kurzem Titeltext (1-2 Worte) und kleiner Grafik (.2\linewidth) ergibt sich auf ungeraden Seite eine, etwas unschön wirkende, Lücke zwischen Titel und Abbildung.
Ich würde gern den Titeltext auf ungeraden Seiten rechtsbündig zur Abbildung ausrichten.
Wie lässt sich das realisieren?
Vielen Dank!
Sebastian
Beispiel?
Mach mal ein vollständiges Minimalbeispiel.
Minimalbeispiel
Hallo!
Hier also ein Minimalbeispiel. Im ersten Fall das normale Verhalten von captionbeside mit i-Option mit entsprechend großer Lücke. Im zweiten Fall ein (zugegeben unschönes) Beispiel, wie ich mir das vorstellen.
Vielen Dank und schönen ersten Advent!
Sebastian
\documentclass[twoside]{scrreprt}
\begin{document}
\begin{figure}
\begin{captionbeside}{rechts, mit L\"ucke}[i][\linewidth]%
\fbox{%
\parbox[b][5\baselineskip][c]{0.2\linewidth}{%
\hspace*{\fill}Bild\hspace*{\fill}%
\par}}
\end{captionbeside}
\end{figure}
\begin{figure}
\raggedleft%
so \"ahnlich solls sein
\fbox{%
\parbox[b][5\baselineskip][c]{0.2\linewidth}{%
\hspace*{\fill}Bild\hspace*{\fill}%
\par}}
\end{figure}
\end{document}
Schwierig
OK, ich habe jetzt verstanden, was Du willst und warum. Das Problem ist, dass das natürlich nur einzeilige Bildtitel betrifft. Genau die Unterscheidung, ob es sich um einen einzeiligen oder mehrzeiligen Bildtitel handelt gibt es aber bei
captionbeside
nicht. Unter der Voraussetzung, dass man bereits festgestellt hat, dass es sich um einen einzeiligen Titel handelt, kann man mit einem ganz üblen Hack, der auf Wissen der internen Funktion der aktuellen KOMA-Script-Version basiert, das Problem lösen. Das geht aber vermutlich bereits schief, wenn man beispielsweise das caption-Paket verwendet. Es kann auch jederzeit nach einem Update von KOMA-Script in die Hose gehen!Weitere Nachteil: Es funktioniert zwar für Abbildungen, bei denen der Titel links steht, aber nicht bei solchen, bei denen der Titel rechts steht. Bei einer Änderung des Umbruchs erhält man also ein nicht erwünschtes Ergebnis. Das kann man eventuell mit
\ifthispageodd
lösen.captionbeside [o]
In meinem Fall möchte ich die Bilder am äußeren Rand, die caption direkt daneben innen am Bild ausgerichtet.
Mein Minimalbeispiel:
%%%
\documentclass[
twoside,
noonelinecaption,
]{scrreprt}
\setcapwidth[o]{.4\textwidth}
\setcapmargin*[4cm]{-2cm}
\setcapindent{0em}
\begin{document}
\begin{figure}
\begin{captionbeside}[erste Seite]{Erste Seite:\\Seite rechts, Bild ist am rechten Rand und caption soll links daneben rechtsbündig am Bild ausgerichtet sein}[i][.7\linewidth][.4\linewidth]*
\rule{4cm}{12cm}
\end{captionbeside}
\end{figure}
\pagebreak
\begin{figure}
\begin{captionbeside}[zweite Seite]{Zweite Seite:\\Seite links, Bild ist am linken Rand und caption soll rechts daneben linksbündig am Bild ausgerichtet sein}[i][.7\linewidth][.4\linewidth]*
\rule{4cm}{12cm}
\end{captionbeside}
\end{figure}
\pagebreak
\begin{figure}
\begin{captionbeside}[dritte Seite]{Dritte Seite:\\Seite rechts, Bild ist am rechten Rand und caption soll links daneben rechtsbündig am Bild ausgerichtet sein}[i][.7\linewidth][.4\linewidth]*
\rule{8cm}{12cm}
\end{captionbeside}
\end{figure}
\end{document}
%%%
Die ersten 2 Bilder sind richtig, doch weil [Breite] für caption+Bild gilt, werden die captions bei grossen Bildern zu klein. Die caption-Breite soll allerdings konstant sein.
Sehe ich das richtig, dass weder \setcapwidth noch \setcapmargin auf die captionbeside Umgebung Einfluss haben?
Kann ich die beiden [Anordnung][Breite][Offset] in der Präambel festlegen?
Wie aktiviere ich das Syntaxhighlighting hier im Forum?
Gruß,
Paolo
konstante Breite gibt es durch konstante Breite
Da die Breite der
captionbeside-
Umgebung die Breite von Inhalt + Breite des caption-Textes ist, erreicht man eine konstante Maximal-Breite des caption-Textes am besten dadurch, dass man dem Inhalt eine konstante Breite gibt. Das wiederum geht am Einfachsten mit einerminipage
oder einer\parbox
.Zu der Frage wie man Beiträge im Forum oder Blog formatieren kann gibt es einen Eintrag in den FAQ.
Mit parbox
\begin{captionbeside}[dritte Seite]{\parbox{4cm}{Dritte Seite:\\Seite rechts, Bild ist am rechten Rand und caption soll links daneben rechtsbündig am Bild ausgerichtet sein}}[i][\linewidth][0em]*
\rule{8cm}{12cm}
\end{captionbeside}
So kommt allerdings das Label außerhalb der parbox.
Ich hatte zu Anfang [i][.7\linewidth][.4\linewidth]* gesetzt, um das Label etwas einzugrenzen, gleichzeitig die figure wieder an den äußeren Rand zu setzen, da sie sonst zentriert wurde. Für unterschiedliche Bildgrößen müßte ich dieses Verhältnis jedesmal neu austesten. Ich hätte gerne eine "Standardumgebung" für meine Abbildungen, die sich gutmütig für verschiedene Bildgrößen verhält.
Einen Satz Befehle wie \setcapwidth \setcapmargin für die captionbeside Umgebung fände ich praktisch.
Ich kapiere nicht, was du willst
Ich fasse mal zusammen, was ich bisher zu verstehen geglaubt hatte:
Wegen der letzten Bedingung habe ich empfohlen, den Inhalt der Umgebung in eine
minipage
oder\parbox
konstanter Breite zu setzen, damit dieser immer gleich breit ist und damit bei ebenfalls konstanten Werten für diecaptionbeside-
Umgebung die Beschriftung ebenfalls eine konstante Breite zur Verfügung hat. Du hast nun aber das Beschriftungsargument in eine\parbox
gesetzt.Bezüglich der rechtbündigen Ausrichtung im Falle einzeiliger Beschriftungen habe ich mich ja bereits geäußert. Das ist nur per üblem Hack möglich, der dann zusätzlich zu verwenden ist.
Mehr Flexibilität gibt es eventuell mit dem Paket floatrow ggf. zusammen mit dem caption-Paket, das sich damit vertragen sollte. Allerdings kann ich bei beiden nicht weiterhelfen, da ich beide nicht verwende.
Notfalls kann man sich eventuell auch selbst etwas basteln. AFAIR habe ich in der KOMA-Script-Anleitung ein Beispiel, wie man sich etwas wie
captionbeside
selbst basteln könnte, wenn es das nicht bereits gäbe. Den Code kann man beliebig modifizieren. Einen einfachen Satz Parameter, an dem man einfach mal drehen kann, gibt es für den Wunsch jedoch nicht. Ich kann den auch nicht einfach herbeizaubern. Etwas vernünftiges zu entwerfen, zu implementieren und zu dokumentieren kosten viel Zeit. Außerdem ist diecaptionbeside-
Umgebung ohnehin schon ein nicht handhabbares Monster: viel zu viele teilweise optionale Parameter. Mit einer Erweiterung in dieser Richtung sollte man nicht rechnen, bevor KOMA-Script eine 3 vor dem Punkt in der Versionsnummer bekommt.