PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie kann ich herausfinden, ob ich auf einer linken oder rechten Seite bin?



weaker
13-04-2011, 08:59
Hallo,

ich möchte mir zu Debug-Zwecken ausgeben lassen was LaTeX (oder KOMA) denkt, bezüglich dessen ob es sich um eine linke oder rechte Seite handelt. Ich habe nämlich das Gefühl, dass die \marginnotes auf der falschen Seite landen. mparhack hab ich probiert, aber das ist ja nur für \marginpar und hat deshalb auch nix geholfen. Und so könnte ich das Problem möglicherweise näher eingrenzen. Ich benutze scrbook mit Option twoside.

Grüße
weaker

rstuby
13-04-2011, 09:16
Es gibt den Befehl \ifodd, mit dem man feststellen kann, ob ein Wert ungerade ist. Wie man den benutzt, weiß ich allerdings nicht genau. Die ungeraden Seiten sind immer die rechten.
Leider wird das in den meisten Viewern falsch angezeigt. Bei Acrobat Reader und bei Evince kann man es aber richtig einstellen und bei SumatraPDF auch.
Wenn du keine Bindekorrektur BCOR angegeben hast, müsste der innere Seitenrand immer nur halb so groß sein wie der äußere (damit beide zusammen dann ein harmonisches Bild ergeben). Der dürfte somit auch zu klein sein, um vernünftige Randbemerkungen zu enthalten.

Schweinebacke
13-04-2011, 09:26
\ifodd hilft da absolut gar nicht weiter. Auch \ifthispageodd (siehe KOMA-Script-Anleitung) hilft nicht weiter, um herauszufinden, was marginnote denkt. Aber das optionale Argument von \marginnote hilft da weiter:
\marginnote[Ich denke, ich bin im linken Rand]{Ich denke, ich bin im rechten Rand}Übrigens beachtet marginnote auch \reversemarginpar. Das könnte also eine Rolle spielen.

BTW: marginnote benötigt min. 2 LaTeX-Läufe, bis die Notizen richtig platziert werden - und zwar jedes Mal, wenn sich der Seitenumbruch ändert. Es wird dann aber auch eine entsprechende label-Warnung ausgegeben. Gerade sehe ich noch, dass marginnote außerdem in die aux-Datei für jedes \marginnote schreibt, auf welcher Seite sich das seiner Meinung nach befindet. Genau diese Information wird dann beim nächsten LaTeX-Lauf ausgewertet. Also vor dem LaTeX-Lauf die aux-Datei kopieren, dann mit dem Ergebnis nach dem LaTeX-Lauf vergleichen und wenn sich die Information nicht geändert hat, kannst Du im Dokument vergleichen, ob die Entscheidung korrekt war.

weaker
13-04-2011, 09:59
Danke vielmals, sehr erhellende Antworten :-)

Allerdings habe ich bei marginnote nichts gefunden, wie ich angeben kann: "Immer im äußeren Rand". Denn links und rechts als feste Angaben sind bei twoside-Dokumenten ja auch nicht hilfreich. Oder heißt rechter Rand soviel wie äußerer Rand? Da werd ich aus der marginnote-Doku nicht ganz schlau.

EDIT:
Also ich hab mal noch ein Minimalbeispiel gemacht, das mich leider auch nicht schlauer macht. Nur falls es auf einer rechten/linken Seite zu liegen kommt, wird die entsprechende Marginnote gedruckt ansonsten wird nichts gedruckt. Das kann doch nicht sein, wo wäre denn da der Sinn in der Anwendung?



\documentclass[%
final,
paper=a5,%
paper=portrait, % landscape
pagesize=auto, % driver
fontsize=11pt,%
]{scrbook}


\KOMAoptions{%
twoside=true, %
twocolumn=false, %
mpinclude=false,%
headlines=2.1,%
cleardoublepage=empty,
DIV=14,%
BCOR=12mm,%
parskip=relative, %
titlepage=true, %
footnotes=multiple% nomultiple
}%

% Dachte es könnte daran liegen, tut es aber nicht
%\usepackage{setspace}
%\setstretch{1.4}

\usepackage{etex}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{fourier}
\usepackage{blindtext}

\usepackage{marginnote}

\addtokomafont{chapter}{\small}
\renewcommand*{\marginfont}{\tiny\sffamily}

\begin{document}

% Aus marginnote Anleitung, ändert auch nichts
%\edef\marginnotetextwidth{\the\textwidth}

\chapter{Das ist das Chapter}

\marginnote[Das muss nach links 1]{Und das nach rechts 1}
\blindtext
\marginnote[links 2]{}
\blindtext
\marginnote[Das muss nach links 3]{Und das nach rechts 3}
\blindtext
\marginnote[]{rechts 4}
\blindtext
\marginnote[Das muss nach links 5]{Und das nach rechts 5}
\blindtext
\marginnote[links 6]{rechts 6}

\end{document}



Grüße
weaker

u_fischer
13-04-2011, 10:43
Funktioniert bei tadellos und tut das (von mir) erwartete: Gerade = linke Seiten haben links = außen den Eintrag im optionalen Argument und ungerade = rechte Seiten haben rechts = außen den Eintrag im Argument.

Btw: Du kannst auf auf das optionale Argument verzichten: \marginnote{immer}

weaker
13-04-2011, 11:04
@u_fischer:
Also bei Dir wird durch \marginnote{immer} bei twoside-Dokumenten die Marginalie immer im äußeren Rand gesetzt?

Und werden bei \marginnote[links]{rechts} beide Marginalien gesetzt oder nur eine davon? Und ist das Absicht, falls nur eine gesetzt wird?

Grüße
weaker

u_fischer
13-04-2011, 11:07
Ich sagte doch: Dein Dokument tut genau das von mir erwartete (und vom Autor des Befehls geplante). Und was \marginnote{immer} tut, kannst du ja ausprobieren.

rstuby
13-04-2011, 11:34
Ich glaube, ich habe es kapiert! Das optionale Argument ist wirklich dazu da, dass nur eines von beiden tatsächlich gedruckt wird. Und zwar damit man eine Fallunterscheidung machen kann so in dem Stil "siehe rechts" - "siehe links" oder mit Pfeilen.
Stimmt das?
(vielleicht ist es ja so für weaker hilfreicher, wenn es einer formuliert, dem es auch vorher unklar war...)

weaker
18-04-2011, 13:06
@rstuby: Ich denke Du hast Recht.

Trotzdem ist mir noch nicht klar, ob defaultmäßig \marginnote{immer} in den (normalerweise größeren) Außenbund bei doppelseitigen Dokumenten setzt.

rstuby
18-04-2011, 13:40
Bei mir funktioniert es zumindest so.
In deinem Dokument ist ja die BCOR so groß, dass die Ränder optisch von der Breite her kaum zu unterscheiden sind. Aber die ungeraden Seiten sind immer die rechten.