Ich möchte es so einrichten, memoir
dass, wenn ich verwende \footnote{foo}
, foo
im Rand mit der richtigen Beschriftung angezeigt wird und vorzugsweise über Seiten umbricht.
Es gibt eine Option \footnotesinmargin
, die fast genau das bietet, was ich brauche, nur Blocksatz. Ich möchte, dass sie ragged2e
die Ausrichtung basierend auf geraden/ungeraden Seiten verwendet und ändert, sodass die Randnotiz immer bündig zum Haupttextbereich ausgerichtet ist und eine Silbentrennung am Rand ermöglicht.
\documentclass[12pt, draft]{memoir}
\footnotesinmargin
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Minion Pro}
\usepackage{kantlipsum}
\begin{document}
\kant[1]\footnote{\kant[1]}
\kant[2]\footnote{\kant[2]}
\kant[3-5]
\end{document}
Mögliche teilweise Umgehung
Ich habe mich an eine schöne These erinnert, die auf der klassischen Thesenvorlage basiert, und fand dieQuellewas tatsächlich eine mögliche Lösung enthält:
\usepackage{marginnote}
\usepackage{ragged2e}
\newcommand{\sidemark}[1]{#1.{\:}}
\newcommand{\marginelement}[2][0]{%
\marginnote{%
\strictpagechecktrue
\checkoddpage
\ifoddpage%
\RaggedRight\footnotesize%
\else%
\RaggedLeft\footnotesize%
\fi%
#2%
}[#1\onelineskip]%
}%
\newcommand{\sidenote}[2][0]{%
\footnotemark%
\ignorespaces%
\marginelement[#1]{%
\sidemark{\thefootnote}%
\ignorespaces#2%
}%
\unskip%
}%
Dennoch würde ich eine Memoiren-spezifische Lösung mit der Neudefinition von Fußnoten bevorzugen, wenn diese Option verwendet wird, \footnotesinmargin
hauptsächlich aus Gründen der Portabilität. Dieser Workaroundfunktioniert nicht mit Hyperref(es besteht keine Hypertext-Verbindung) undbricht nicht über Seiten umautomatisch.
Antwort1
Ich habe es endlich herausgefunden, werde diese Antwort aber noch nicht akzeptieren, da ich glaube, dass es besser geht.
Ich kombiniere die Verwendung von \footnote
mit der Option \footnotesinmargin
und \sidefootnote
. Ersteres kann verwendet werden, um eine Randnotiz vertikal am Referenzzeichen auszurichten und ist für kurze Notizen gedacht, die nicht über mehrere Seiten verteilt sind, während Letzteres am unteren Seitenrand ausgerichtet ist, über mehrere Seiten verteilt ist und für längere Notizen oder bei Platzmangel gedacht ist.
Beide werden mit diesem Code gehackt, um zu \RaggedRight
oder zu werden \RaggedLeft
, je nachdem, ob die Seite, auf der sie erscheinen, gerade oder ungerade ist:
Ändern Sie das Verhalten von \footnote
:
\makeatletter % All between \makeatletter and \makeatother originally located in memoir.cls
\renewcommand{\@footnotetext}[1]{%
\ifm@mfnmargin% use marginpar
\marginpar{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font
\foottextfont
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
\@makefntext{\ignorespaces
\strictpagechecktrue % <-- Start of change
\checkoddpage
\ifoddpage
\scriptsize\RaggedRight
\else
\scriptsize\RaggedLeft
\fi #1}% <-- End of change
\color@endgroup}%
\else% regular feet
\insert\footins{%
\def\baselinestretch{\m@m@footnote@spacing}%
\reset@font
\foottextfont
\@preamfntext
\hsize\columnwidth
\protected@edef\@currentlabel{%
\csname p@footnote\endcsname\@thefnmark}%
\color@begingroup
\@makefntext{%
\rule\z@\footnotesep\ignorespaces{\foottextfont #1}%
\@finalstrut\strutbox}%
\color@endgroup}%
\fi%
\m@mmf@prepare}
\makeatother
\footnotesinmargin
Ändern Sie das Verhalten von \sidefootnote
:
\renewcommand{\sidefoottextfont}{%
\strictpagechecktrue
\checkoddpage
\ifoddpage
\scriptsize\RaggedRight
\else
\scriptsize\RaggedLeft
\fi
}%
Zusätzliche Änderungen
Vielleicht möchten Sie auch hinzufügen
\letcountercounter{sidefootnote}{footnote}
wenn Sie ihre Zähler zu einem kombinieren möchten, und
\setlength{\footmarkwidth}{0em}
\setlength{\footmarksep}{-\footmarkwidth}
\setlength{\footparindent}{1em}
um das Erscheinungsbild von \footnote
Randnotizen entsprechend zu ändern \sidefootnote
.
Abschließend muss ich sagen, dass TeX die Definition von Chaos ist.
Antwort2
Sie möchten das manipulieren \foottextfont
.
Etwas in dieser Art sollte funktionieren:
\documentclass[12pt, draft]{memoir}
\usepackage{ragged2e}
\footnotesinmargin
\renewcommand{\foottextfont}{%
\strictpagechecktrue
\checkoddpage
\ifoddpage
\scriptsize\RaggedRight
\else
\scriptsize\RaggedLeft
\fi
}%
\usepackage{marginfix}
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[Ligatures=TeX,Numbers=OldStyle]{Minion Pro}
\usepackage{kantlipsum}
\begin{document}
\kant[1]\footnote{\kant[1]}
\kant[2]\footnote{\kant[2]}
\kant[3-5]
\end{document}
Beachten Sie jedoch, dass bei so dickem Randmaterial die Wahrscheinlichkeit gering ist, dass Sie die Notizen richtig platzieren können. Ich hatte bei meiner Abschlussarbeit ein ähnliches Problem und habe den Randbereich vergrößert, damit ich nicht in ein Problem wie in diesem Beispiel geriet (wo Fußnote Nr. 2 auf der falschen Seite landete).
Antwort3
Ich bin nicht sicher, wie ich es hinbekomme, den Seitenumbruch vorzunehmen, aber für die Ausrichtung gibt es eine ganz einfache Lösung.
Hintergrund
Die memoir
Klasse stellt einen \mpjustification
Befehl bereit, der durch den Aufruf einer der folgenden Optionen aktiviert wird:
\marginparmargin{}
outer
ist die Standardeinstellung, die Randnotizen an der Vorderkante einstellt. Dadurch wird auch der folgende Befehl eingerichtet.
\setmpjustification{}{}
\raggedleft
und sind Standardeinstellungen, die Sie möglicherweise im Paket \raggedright
ändern möchten .\RaggedLeft
\RaggedRight
ragged2e
Der \mpjustification
Befehl richtet den folgenden Text abhängig davon aus, auf welcher Seite der Text erscheint.
Lösung
Das Manipulieren des \foottextfont
Befehls reicht nicht aus, da dieser Befehl nur innerhalb einer Fußnote und nicht davor erscheint. Grundsätzlich müssen Sie die Ausrichtung einrichten, bevor die Fußnote überhaupt ausgegeben wird. Das ist ganz einfach: Fügen Sie einfach das Folgende nach den Befehlen zur Fußnotengestaltung ein:
\let\oldfootnot\footnote
\renewcommand*{\footnote}[1]{\oldfootnote{\mpjustification#1}}
\footnote
setzt den Text nun in den Seitenrand und bündig zum Schriftblock.