Memoiren-Fußnoten am Rand mit ragged2e

Memoiren-Fußnoten am Rand mit ragged2e

Ich möchte es so einrichten, memoirdass, wenn ich verwende \footnote{foo}, fooim 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 ragged2edie 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, \footnotesinmarginhauptsä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 \footnotemit der Option \footnotesinmarginund \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 \RaggedRightoder 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 \footnoteRandnotizen 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 memoirKlasse stellt einen \mpjustificationBefehl bereit, der durch den Aufruf einer der folgenden Optionen aktiviert wird:

  1. \marginparmargin{}

outerist die Standardeinstellung, die Randnotizen an der Vorderkante einstellt. Dadurch wird auch der folgende Befehl eingerichtet.

  1. \setmpjustification{}{}

\raggedleftund sind Standardeinstellungen, die Sie möglicherweise im Paket \raggedrightändern möchten .\RaggedLeft\RaggedRightragged2e

Der \mpjustificationBefehl richtet den folgenden Text abhängig davon aus, auf welcher Seite der Text erscheint.

Lösung

Das Manipulieren des \foottextfontBefehls 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}}

\footnotesetzt den Text nun in den Seitenrand und bündig zum Schriftblock.

verwandte Informationen