페이지 나누기 후 잘못된 쪽(짝수/홀수)의 상단 정렬 여백

페이지 나누기 후 잘못된 쪽(짝수/홀수)의 상단 정렬 여백

옵션이 있는 일반 LaTeX에서는 단락 시작 부분에 상단 정렬 여백 메모를 얻기 위해 twoside사용합니다 . \leavevmode\marginpar{#1}페이지 나누기 직후 여백 메모가 잘못된 면에 나타날 수도 있고 그렇지 않을 수도 있습니다.

관련 질문은 이전에 요청되었지만 설득력 있는 답변은 제공되지 않았습니다. 예를 들어 pdflatex 확장이 필요한 해킹이 제안되었습니다.

따라서 이 문제에 대한 해결책이 실제로 없는 경우에는 적어도 이해하고 싶습니다.LaTeX는 \marginpar실패하고 개선할 수 없습니다.

실제 사례:

\documentclass[11pt,a5paper,twoside]{report}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true]{german}

\def\baselinestretch{1.07}
\topmargin -2.3cm
\textheight 16.6cm

\newdimen\pagewidth\pagewidth=14.8650889cm
\hoffset -1in
\advance\hoffset by 1.2cm
\marginparsep 0.5cm
\marginparwidth 1.cm
\advance\hoffset by 0.5\marginparwidth
\evensidemargin 0.5\marginparwidth
\oddsidemargin  \marginparwidth
\advance\evensidemargin by \marginparsep
\textwidth 11cm

\parindent 0pt
\parskip .8\baselineskip plus .3\baselineskip minus .2\baselineskip

\def\MP#1{\pagebreak[3]\leavevmode\marginpar{#1}}

\begin{document}
\mag 1414
\flushbottom

\MP{I.}%
Saget, Steine, mir an, o sprecht, ihr hohen Paläste!
   Straßen, redet ein Wort! Genius, regst du dich nicht?

Ja, es ist alles beseelt in deinen heiligen Mauern,
   Ewige Roma; nur mir schweiget noch alles so still.

O wer flüstert mir zu, an welchem Fenster erblick ich
   Einst das holde Geschöpf, das mich versengt und erquickt?

Ahn’ ich die Wege noch nicht, durch die ich immer und immer,
   Zu ihr und von ihr zu gehn, opfre die köstliche Zeit?

Noch betracht’ ich Kirch’ und Palast, Ruinen und Säulen,
   Wie ein bedächtiger Mann schicklich die Reise benutzt.

Doch bald ist es vorbei; dann wird ein einziger Tempel,
   Amors Tempel nur sein, der den Geweihten empfängt.

Eine Welt zwar bist du, o Rom; doch ohne die Liebe
   Wäre die Welt nicht die Welt, wäre denn Rom auch nicht Rom.

\MP{II.}%
Ehret, wen ihr auch wollt! Nun bin ich endlich geborgen!
   Schöne Damen und ihr, Herren der feineren Welt;

Fraget nach Oheim und Vettern und alten Muhmen und Tanten;
   Und dem gebundnen Gespräch folge das traurige Spiel.

Auch ihr übrigen fahret mir wohl, in großen und kleinen
   Zirkeln, die ihr mich oft nah der Verzweiflung gebracht,

Wiederholet, politisch und zwecklos, jegliche Meinung,
   Die den Wandrer mit Wut über Europa verfolgt.

So verfolgte das Liedchen Malbrough den reisenden Briten
   Einst von Paris nach Livorn, dann von Livorno nach Rom,

\MP{III.}%
Laß dich, Geliebte, nicht reun, daß du mir so schnell dich ergeben!
   Glaub’ es, ich denke nicht frech, denke nicht niedrig von dir.

Vielfach wirken die Pfeile des Amor: einige ritzen,
   Und vom schleichenden Gift kranket auf Jahre das Herz.

\MP{IV.}%
Fromm sind wir Liebende, still verehren wir alle Dämonen,
   Wünschen uns jeglichen Gott, jegliche Göttin geneigt.

Und so gleichen wir euch, o römische Sieger! Den Göttern
   Aller Völker der Welt bietet ihr Wohnungen an,

\end{document}

다음 페이지 2를 생성합니다.

여기에 이미지 설명을 입력하세요

답변1

문제는 LaTeX가 여백 메모 "III"을 구성할 때 여전히 1이 포함된 페이지 카운터를 기반으로 면을 선택한다는 것입니다(LaTeX는 일반적으로 페이지 나누기를 삽입하기 전에 한 페이지에 맞는 것보다 더 많은 자료를 수집합니다). 개체의 페이지 번호를 얻는 신뢰할 수 있는 유일한 방법은 레이블을 사용하는 것입니다. 따라서 다음 코드는 여백 메모와 함께 단락 시작 부분에 레이블을 넣은 다음 이 레이블의 페이지 번호가 홀수인지 짝수인지 확인합니다. 홀수이면 마진파를 오른쪽에 배치하고, 짝수이면 왼쪽에 배치합니다. 다른 레이블 사용과 마찬가지로 문서도 두 번 컴파일해야 합니다.

\documentclass[11pt,a5paper,twoside]{report}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true]{german}

\def\baselinestretch{1.07}
\topmargin -2.3cm
\textheight 16.6cm

\newdimen\pagewidth\pagewidth=14.8650889cm
\hoffset -1in
\advance\hoffset by 1.2cm
\marginparsep 0.5cm
\marginparwidth 1.cm
\advance\hoffset by 0.5\marginparwidth
\evensidemargin 0.5\marginparwidth
\oddsidemargin  \marginparwidth
\advance\evensidemargin by \marginparsep
\textwidth 11cm

\parindent 0pt
\parskip .8\baselineskip plus .3\baselineskip minus .2\baselineskip

\usepackage{ifthen}
\usepackage{refcount}

\makeatletter
\@mparswitchfalse
\newcounter{mpcount}
\def\MP#1{%
\pagebreak[3]%
\leavevmode
\stepcounter{mpcount}%
\label{marginpar\the\c@mpcount}%
\ifthenelse{\isodd{\getpagerefnumber{marginpar\the\c@mpcount}}}{%
  \normalmarginpar
  \marginpar{#1}%
  }{%
  \reversemarginpar
  \marginpar{#1}%
}}
\makeatother

\begin{document}
\mag 1414
\flushbottom

\MP{I.}%
Saget, Steine, mir an, o sprecht, ihr hohen Paläste!
   Straßen, redet ein Wort! Genius, regst du dich nicht?

Ja, es ist alles beseelt in deinen heiligen Mauern,
   Ewige Roma; nur mir schweiget noch alles so still.

O wer flüstert mir zu, an welchem Fenster erblick ich
   Einst das holde Geschöpf, das mich versengt und erquickt?

Ahn’ ich die Wege noch nicht, durch die ich immer und immer,
   Zu ihr und von ihr zu gehn, opfre die köstliche Zeit?

Noch betracht’ ich Kirch’ und Palast, Ruinen und Säulen,
   Wie ein bedächtiger Mann schicklich die Reise benutzt.

Doch bald ist es vorbei; dann wird ein einziger Tempel,
   Amors Tempel nur sein, der den Geweihten empfängt.

Eine Welt zwar bist du, o Rom; doch ohne die Liebe
   Wäre die Welt nicht die Welt, wäre denn Rom auch nicht Rom.

\MP{II.}%
Ehret, wen ihr auch wollt! Nun bin ich endlich geborgen!
   Schöne Damen und ihr, Herren der feineren Welt;

Fraget nach Oheim und Vettern und alten Muhmen und Tanten;
   Und dem gebundnen Gespräch folge das traurige Spiel.

Auch ihr übrigen fahret mir wohl, in großen und kleinen
   Zirkeln, die ihr mich oft nah der Verzweiflung gebracht,

Wiederholet, politisch und zwecklos, jegliche Meinung,
   Die den Wandrer mit Wut über Europa verfolgt.

So verfolgte das Liedchen Malbrough den reisenden Briten
   Einst von Paris nach Livorn, dann von Livorno nach Rom,

\MP{III.}%
Laß dich, Geliebte, nicht reun, daß du mir so schnell dich ergeben!
   Glaub’ es, ich denke nicht frech, denke nicht niedrig von dir.

Vielfach wirken die Pfeile des Amor: einige ritzen,
   Und vom schleichenden Gift kranket auf Jahre das Herz.

\MP{IV.}%
Fromm sind wir Liebende, still verehren wir alle Dämonen,
   Wünschen uns jeglichen Gott, jegliche Göttin geneigt.

Und so gleichen wir euch, o römische Sieger! Den Göttern
   Aller Völker der Welt bietet ihr Wohnungen an,

\end{document}

여기에 이미지 설명을 입력하세요

답변2

이는 Golovan의 솔루션과 동일하지만 ifoddpage 패키지를 사용하여 코딩을 단순화합니다.

\documentclass[11pt,a5paper,twoside]{report}

\usepackage{polyglossia}
\setdefaultlanguage[spelling=new,babelshorthands=true]{german}

\def\baselinestretch{1.07}
\topmargin -2.3cm
\textheight 16.6cm

\newdimen\pagewidth\pagewidth=14.8650889cm
\hoffset -1in
\advance\hoffset by 1.2cm
\marginparsep 0.5cm
\marginparwidth 1.cm
\advance\hoffset by 0.5\marginparwidth
\evensidemargin 0.5\marginparwidth
\oddsidemargin  \marginparwidth
\advance\evensidemargin by \marginparsep
\textwidth 11cm

\parindent 0pt
\parskip .8\baselineskip plus .3\baselineskip minus .2\baselineskip

\usepackage{ifoddpage}
\makeatletter
\def\MP#1{\pagebreak[3]\leavevmode\checkoddpage
  \ifnum\oddpage@page=\value{page}\normalmarginpar
  \else\reversemarginpar
  \fi
  \marginpar{#1}}
\makeatother

\begin{document}
\mag 1414
\flushbottom

\MP{I.}%
Saget, Steine, mir an, o sprecht, ihr hohen Paläste!
   Straßen, redet ein Wort! Genius, regst du dich nicht?

Ja, es ist alles beseelt in deinen heiligen Mauern,
   Ewige Roma; nur mir schweiget noch alles so still.

O wer flüstert mir zu, an welchem Fenster erblick ich
   Einst das holde Geschöpf, das mich versengt und erquickt?

Ahn’ ich die Wege noch nicht, durch die ich immer und immer,
   Zu ihr und von ihr zu gehn, opfre die köstliche Zeit?

Noch betracht’ ich Kirch’ und Palast, Ruinen und Säulen,
   Wie ein bedächtiger Mann schicklich die Reise benutzt.

Doch bald ist es vorbei; dann wird ein einziger Tempel,
   Amors Tempel nur sein, der den Geweihten empfängt.

Eine Welt zwar bist du, o Rom; doch ohne die Liebe
   Wäre die Welt nicht die Welt, wäre denn Rom auch nicht Rom.

\MP{II.}%
Ehret, wen ihr auch wollt! Nun bin ich endlich geborgen!
   Schöne Damen und ihr, Herren der feineren Welt;

Fraget nach Oheim und Vettern und alten Muhmen und Tanten;
   Und dem gebundnen Gespräch folge das traurige Spiel.

Auch ihr übrigen fahret mir wohl, in großen und kleinen
   Zirkeln, die ihr mich oft nah der Verzweiflung gebracht,

Wiederholet, politisch und zwecklos, jegliche Meinung,
   Die den Wandrer mit Wut über Europa verfolgt.

So verfolgte das Liedchen Malbrough den reisenden Briten
   Einst von Paris nach Livorn, dann von Livorno nach Rom,

\MP{III.}%
Laß dich, Geliebte, nicht reun, daß du mir so schnell dich ergeben!
   Glaub’ es, ich denke nicht frech, denke nicht niedrig von dir.

Vielfach wirken die Pfeile des Amor: einige ritzen,
   Und vom schleichenden Gift kranket auf Jahre das Herz.

\MP{IV.}%
Fromm sind wir Liebende, still verehren wir alle Dämonen,
   Wünschen uns jeglichen Gott, jegliche Göttin geneigt.

Und so gleichen wir euch, o römische Sieger! Den Göttern
   Aller Völker der Welt bietet ihr Wohnungen an,

\end{document}

관련 정보