Sie sind hier

Chapter und marginnote

Ich würde gern auf der Höhe des Chaptertextes im äußeren Randbereich der Seite eine Markierung (Text oder etwas Anderes) ausgeben. Folgendermaßen funktioniert es:

\listfiles
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{marginnote}
\usepackage{blindtext}
 
\addtokomafont{chapter}{%
  \marginnote{\fbox{XXX}}%
}  
 
\begin{document}
  \blinddocument
\end{document}

Da dies ein Missbrauch der Anweisung zur Schrifteinstellung ist, wüsste ich gern, ob es eine bessere Lösung gibt. Im voraus vielen Dank.

Bild von Markus Kohm

Die Form der Überschrift definiert man am besten über eine Änderung von \chapterlinesformat und ggf. \chapterlineswithprefixformat um. Je nachdem, was konkret passieren soll, kann auch \chapterformat geeignet sein. Das gibt es aber nur bei nummerierten Kapitelüberschriften.

\listfiles
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{marginnote}
\usepackage{blindtext}
 
\renewcommand*{\chapterlinesformat}[3]{%
  \csname @hangfrom\endcsname{\ifstr{#1}{chapter}{\marginnote{\fbox{XXX}}}{}#2}{#3}%
}
% oder:
\renewcommand*{\chapterlinesformat}[3]{%
  \csname @hangfrom\endcsname{#2\ifstr{#1}{chapter}{\marginnote{\fbox{XXX}}}{}}{#3}%
}
 
\begin{document}
  \blinddocument
\end{document}

Genau genommen braucht man dafür gar kein marginnote und damit keinen Umweg über die aux-Datei:

\listfiles
\documentclass{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
 
\renewcommand*{\chapterlinesformat}[3]{%
  \ifstr{#1}{chapter}{%
    \makebox[0pt][l]{%
      \hspace*{\dimexpr\linewidth+\marginparsep}\smash{\fbox{XXX}}%
    }%
  }{}%
  \csname @hangfrom\endcsname{#2}{#3}%
}
 
\begin{document}
  \blinddocument
\end{document}

Vielen Dank! Die Hinweise sind hilfreich.

Bild von Markus Kohm

Vielleicht sollte ich an der Stelle auch noch einmal explizit darauf hinweisen, dass marginnote von mir nicht mehr gepflegt wird und einen neuen Maintainer sucht. Die Uridee des Pakets stammt aus einem Buchprojekt, bei dem ziemlich intensiver Gebrauch von Randnotizen in Verbindung mit umrandeten Boxen u. ä. gemacht wurde. Der ursprüngliche Code war daher auch auf diesen speziellen Fall zugeschnitten und da der Satz von einem Profi erledigt wurde, störte es auch nicht, wenn man hier und da manuell ein wenig nachsteuern musste. Aufgrund einer Frage im Usenet oder auf TeX-D-L – genau weiß ich das nicht mehr –, habe ich dann eine leicht modifizierte Version davon öffentlich gemacht. Dann gab es immer wieder Fragen dazu und schließlich habe ich das nahezu unverändert als Paket veröffentlicht – erst nur auf komascript.de, dann auf weitere Nachfragen auch auf CTAN.

Ein richtiges Design gab es für das Paket nie. Und weil in bestimmten Situationen nicht das Ergebnis heraus kam, das gewünscht war, wurde dann hier etwas dazugepfriemelt, dort etwas geändert, da etwas entfernt. Insgesamt ist das Paket an einem Punkt angelangt, an dem ein komplettes Redesign und eine Neuimplementierung notwendig wäre. Weil ich das aber nicht auch noch leisten kann, habe ich es stattdessen aufgegeben. In der letzten offiziellen Release ist auch darauf hingewiesen und im CTAN-Kataog-Eintrag bin ich zwar noch als Maintainer, aber inaktiv genannt. Damit kann jeder, der mag, das Paket übernehmen. Empfehlen würde ich demjenigen aber, sich bei mir zu melden, dann bekommt er den allerletzten Stand.

Ob man das Paket in diesem Zustand trotzdem verwenden sollte oder kann, muss jeder selbst entscheiden. Ich verwende es natürlich weiter, solange es genau das macht, was ich davon erwarte oder ich das Ergebnis damit einfach zurechtgebogen bekomme. Wenn es irgendwann etwas besseres gibt, dann werde ich aber sicherlich wechseln. Ich verwende das Paket aber auch nicht auf Teufel komm raus, sondern nur dort, wo es wirklich die einfachste Lösung ist (beispielsweise den Änderungsvermerken in der Anleitung, die sich ganz bewusst überlappen und auch über normale Randnotizen gedruckt werden dürfen). Schließlich gibt es auch noch das normale \marginpar, das darauf aufbauende \marginline und das Paket scrlayer-notecolumn, das wiederum seine ganz eigenen Grenzen hat.

Comments for "Chapter und marginnote" abonnieren