\marginpar{}
funktioniert bekanntlich nicht überall im Text, z. B. nicht in Fußnoten, \marginnote{}
behebt diese Beschränkungen erfreulicherweise.
Bei der Verwendung der \proofmodetrue
-Optinon des index-Pakets (oder mit dem showidx-Paket) gibt es ein ganz ähnliches Problem: Indexeinträge in z. B. Fußnoten werden nicht in die Kontrolliste eingetragen, was der Liste einen gut Teil ihres Nutzens nimmt.
Ich frage mich, ob es evtl. möglich und sinnvoll wäre, daß das marginnote-Paket (evtl als Option) die Erstellung der Kontrolliste des index-Pakets übernimmt? Oder wäre das ein Fall für ein Anpassungspaket wie scrindex?
Mit freundlichen Grüßen,
Florian.
Vielleicht in diesem Fall nicht nötig, aber der Vollständigkeit halber:
\documentclass[11pt]{scrbook} \usepackage{marginnote} \let\marginpar\marginnote \usepackage{scrindex} \newindex{n}{ndx}{ndn}{Register} \proofmodetrue \begin{document} Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi\index[n]{morbus} commodo, ipsum sed pharetra gravida, orci magna rhoncus neque, id pulvinar odio lorem non turpis.\footnote{Nulla libero. \marginpar{Vivamus pharetra posuere sapien.} Nam consectetuer. Sed aliquam, nunc eget euismod ullamcorper, lectus\index[n]{lectus} nunc ullamcorper orci, fermentum bibendum enim nibh eget ipsum.} \end{document}
[Admin-Edit:]
Da fehlt der Zusammenhang
Nur weil das index-Paket den Rand verwendet, hat das noch lange nichts mit marginnote zu tun. Die Probleme haben wenig bis gar nichts mit einander zu tun. Das Problem ist hier, dass innerhalb eines
\insert
(nämlich Fußnoten) ein weiteres\insert
(für die Index-Marke) verwendet werden müsste. Die ganzen Index-Label-Marken haben mit\marginpar
und\marginnote
von zwei Längen abgesehen nichts gemeinsam.Die Aufgabe ist eine gänzlich andere als bei marginnote. Statt die ganzen Labels zu sammeln und gesammelt auszugeben, könnte man natürlich
\@showidx
so umdefinieren, dass die Labels direkt am Rand der entsprechenden Zeile per\marginnote
ausgegeben werden. Dann hat man aber ein Problem, wenn mehr als eine Marke in einer Zeile steht.... und mir der Einblick
Da sich die Funktionen und die Probleme ähneln, war ich davon ausgegangen, daß da der selbe Mechanismus am Werke wäre. Schade – aber danke für die Aufklärung!
könnte man natürlich
\@showidx
so umdefinieren, dass die Labels direkt am Rand der entsprechenden Zeile per \marginnote ausgegeben werden.Ich hatte einfach zu diesem Zweck
\index
mit einem\marginnote
ergänzt und mir so meinen eigenen proofmode gebastelt.Dann hat man aber ein Problem, wenn mehr als eine Marke in einer Zeile steht.
das war dann auch mein Problem...
Es gibt nicht zufälligerweise eine Möglichkeite,
\marginnote
dazu zu bringen, Kollisionen mit anderen\marginnote
zu vermeiden? Das Problem hatte ich auch in anderen Zusammenhängen schon, z. B. auch bei mehrzeiligen Marginalnoten.Florian Grammel
Kopenhagen, Dänemark
Kollisionen
Kollisionen liegen in der Natur des verwendeten Mechanismus. Ich habe zwar schon einmal über Strategien zu deren Auflösung nachgedacht, aber dabei landet man dann ziemlich schnell wieder bei
\marginpar
und das wollen wir ja gerade nicht.Re: Kollisionen
Ich habe keine echte Lösung anzubieten, aber vielleicht einen Denkansatz. Man könnte die von pdfTeX bereitgestellte Möglichkeit, absolute Positionen zu finden, benutzen. Das Paket "zref-savepos" kann zur Vereinfachung dienen. Eine konkrete Anwendung zeigte Philipp Stephani auf "comp.text.tex" in seiner Antwort zu der mit "Current line number in paragraph" betitelten Frage (11.03.2010). Dort ist das Zusammenspiel von "marginnote" und "zref-savepos" gezeigt für den Fall, dass eine zu einem Absatz gehörige Randnotiz immer auf Höhe der ersten Zeile des betreffenden Absatzes gesetzt wird und zwar unabhängig davon, wo sie innerhalb des Absatzen angegeben wurde.
...Rolf
marginnote verwendet pdfTeX bereits
Allerdings nur, wenn die entsprechenden Features auch bereit stehen.