Im Zusammenhang mit scrlttr2
ergaben sich Fragen, die mit dem Paket marginnote
zu tun haben:
\parbox
zu lösen, das geht jedoch nicht. Die zweite Textpassage sollte logischerweise erst nach entsprechendem vertikalen Abstand gesetzt werden wenn die Grafik zu Ende ist. (Man könnte im Beispiel die Grafik kleiner machen. Aber hier gehts ums Prinzip, denn das tatsächliche Randbild ist halt bei Verkleinerung nicht mehr zu erkennen.)twoside
, dann werden die Grafiken in der richtigen Höhe gesetzt (auch auf der ersten ungeraden Seite, die ja bei ein- und zweiseitigem Satz vollkommen gleich aussieht).Macht man die \parbox
1 inch hoch (so hoch wie die Grafik ist), z. B. mit \parbox[t][1in]{\textwidth}{ ...
, bringt das dann bei einer längeren Textpassage alles durcheinander. Gibt es da keine automatisierte Lösung?
Vielen Dank schon einmal,
Jo
% Beispiel mit \marginnote und \includegraphics \documentclass[% DIV=10, parskip=full-,%Absatzabstand eine Zeile % twoside,%zweiseitig fontsize=11pt ]{scrartcl} \usepackage[ngerman]{babel} \usepackage{blindtext,mwe} \usepackage{graphicx} \usepackage{marginnote} %definieren von \grqq und \glqq ( „ bzw. “), sonst Fehler bei Blindtext \renewcommand*{\glqq}{\quotedblbase} \renewcommand*{\grqq}{\textquotedblleft} \begin{document} \blindtext %\parbox{\textwidth}{ \parbox[t][1in]{\textwidth}{ \marginnote{% \includegraphics[draft,width=1in]{example-image-1x1}} Blindtext -- Blindtext\par Blindtext -- Wer diesen Text liest, ist selbst schuld.\par Blindtext -- Der Text gibt lediglich den Grauwert der Schrift an. Ist das wirklich so? } %\parbox{\textwidth}{ \parbox[t][1in]{\textwidth}{ \marginnote{% \includegraphics[draft,width=1in]{example-image-1x1}} Blindtext -- Blindtext\par Blindtext -- Wer diesen Text liest, ist selbst schuld.\par Blindtext -- Der Text gibt lediglich den Grauwert der Schrift an. Ist das wirklich so? } \blindtext \blindtext \end{document}
[Admin-Edit:]
Beispiel nicht lauffähig, gewünschter Effekt unklar
Bitte lies die Seite, die du in der Anmeldebestätigung erhalten hast. Wenn Du Bilder verwendest, die wir nicht haben, dann können wir mit Deinen Beispielen nichts anfangen!
Ich weiß jetzt auch nicht, was das gewünschte Ergebnis ist. Auf jeden Fall aber hast Du
\marginnote
falsch angewendet. Mit der\parbox
beeinflusst Du nicht die\marginnote
, sondern den restlichen Text. Dadurch haben die Absätze an der Stelle dann auch keinen Absatzabstand mehr, weil\parbox
mit eigenen Absatzeinstellungen arbeitet. Dazu kommen bei Dir unerwünschte Leerzeichen durch nicht auskommentierte Zeilenenden.So wie ich Dich verstehe, willst Du gar nicht
\marginnote
. Diese Anweisung setzt eine Randnotiz nämlich immer auf Höhe der aktuellen Zeile. Das ist der tiefere Sinn dieser Anweisung. Dabei ist es vollkommen egal, ob das schon etwas steht oder nicht. Du willst wohl eher\marginline
oder\marginpar
. Diese setzen die Randnotiz in den nächsten freien Bereich ab der aktuellen Stelle. Wenn man sie im vertikalen Modus anwendet, kann es allerdings passieren, dass die Randnotiz zu früh gesetzt wird. Also ggf. ein\leavevmode
davor setzen und unbedingt auf unerwünschte Leerzeichen achten.Ob Du die
\parbox
tatsächlich willst oder nicht, kann ich nicht sagen. Wenn Du sie willst, könntest Du die\marginline
-Anweisung beispielsweise davor setzen. Da ich nicht genau weiß, was Du willst, hier ein Beispiel, das sowohl die Verwendung mit als auch ohne\parbox
zeigt:Die
\raisebox
dient dabei dazu, die Grafik nicht komplett auf/über die aktuelle Grundlinie zu setzen. Das ist eine Standardmethode, wenn eine Grafik mit ihrer Oberkante an der Oberkante der aktuellen Zeile abschließen soll.Eine weitere Alternative wäre u. U. die Verwendung des experimentellen Paket
scrlayer-notecolumn
. Das hat eine Kollisionserkennung in der Randspalte. Es ist aber nahezu ungetestet und die Anwendung ist etwas komplizierter, weil man es mit zerbrechlichen Befehlen zu tun bekommt. Außerdem ist dann eben auch wieder eine Eigenschaft, dass man keine volle Kontrolle über die vertikale Position der Randnotizen bekommt:Dafür ist der Effekt innerhalb einer Box vielleicht so, wie Du Dir das vorstellst:
Achtung: Bei der Verwendung von scrlayer-notecolumn benötigt man nach Änderung immer mehrere LaTeX-Läufe, bis diese sich auf die Randnotizen auswirken. Siehe auch unbedingt die Anleitung dazu in der KOMA-Script-Anleitung oder im KOMA-Script-Buch.
Anschließend sei noch darauf hingewiesen, dass Du mit dem optionalen Argument von
\parbox
die Höhe des darin befindlichen Blindtextes bestimmst, nicht die Höhe der Randnotiz. LaTeX ist dann vollkommen egal, ob der Inhalt wirklich so hoch ist. Das siehst Du leicht, wenn Du den Text einmal länger machst, beispielsweise ein\blindtext
einfügst. Der überschreibt dann den Text darunter.Noch eine Frage
Vielen Dank, Deine Beispiele haben mir sehr weitergeholfen.
Ich möchte aber nochmals auf meine Ausgangsfrage zurückkommen (das Beispiel funktioniert jetzt auch ;-): Warm stimmen im Beispiel nur bei der Option
twoside
die Oberkanten von Grafik und der Textzeile „Blindtext – Blindtext“ überein? Ohnetwoside
ist „Blindtext – Blindtext“ eine Zeile höher als die Grafik.Jo
\marginparwidth < 1in
Das liegt an der
Overfull \hbox
, die wiederum ihre Ursache in den unterschiedlich breiten Rändern und damit den unterschiedlichen Werten für\marginparwidth
hat. Es ist immer gefährlich solche Warnungen zu ignorieren.Ich werde das nächste Mal
Ich werde das nächste Mal besser auf die Overfull-\hbox-Meldungen achten ...