PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umschalten Einseitiges-Zweiseitiges Layout



jamuehli
29-11-2005, 16:06
Hallo Fachleute,

in meinem Dokument würde ich gerne den ersten Teil (Zusammenfassung, Vorwort, Verzeichnisse) in einseitigem, den Rest (Hauptteil, Anhang) in zweiseitigem Layout setzen.

Der Versuch die Klassenoption twoside zu nutzen und, wo notwendig mit \cleardoublepageempty zu arbeiten, endet am Inhaltsverzeichnis, das ich ja nicht willentlich an einer bestimmten Stelle umbrechen kann. Nebenbei ergibt sich dabei das Problem, daß die Seiten 1, 3, 5 etc. nummeriert werden (was aber manuell abzustellen wäre).

Wie ist es möglich, in Latex vorübergehend zu einseitigem Satz überzugehen, i.e. Latex dazu zu bringen bei umbruch auf eine neue Seite gleich eine clearpage einzufügen?

Vielen Dank für Hinweise!
Janis


P.S.:
Ich würde gerne keine Belehrung über "richtigen"/"sinnvollen"/... Buchsatz erhalten und beantworte vorauseilend auch die Frage "Bist Du Dir wirklich sicher, daß das notwendig ist?" mit "Ja!". ;-)

Boron
29-11-2005, 16:08
Einfachste Lösung: mach zwei verschiedene Dokumente :rolleyes:.

Salnic
29-11-2005, 18:21
guck Dir mal folgendes an: http://www.mrunix.de/forums/showthread.php?t=41760

Salnic

jamuehli
29-11-2005, 19:08
An Salnic: Danke, aber multicols macht ja auf einer Seite zwei Spalten, ich möchte ja beide Seiten eines Blattes beschreiben (bzw. nicht).

An Boron: Damit hätte sich das mit dem Inhaltsverzeichnis auch ganz elegant erledigt: das ist dann nämlich leer. Hmm, überzeugt nicht ganz. :(

Salnic
30-11-2005, 01:11
Sorry jamuehli,

ich hatte Deine Frage nicht richtig gelesen. Vielleicht auch deswegen, weil ich nicht daran gedacht habe, dass Du tatsächlich einseitig und zweiseitig gleichzeitig benutzen möchtest. (kann auch daran liegen, dass ich so was noch nie gesehen habe.) Sorry. Verspreche demnächst besser zu lesen.

Habe gerade die Anleitung zum KOMA-Script Paket durchgeblättert, habe dort keine Möglichkeit gefunden, einseitig und zweiseitig gleichzeitig zu schreiben.

Salnic

rais
30-11-2005, 21:07
Moin moin,

Der Versuch die Klassenoption twoside zu nutzen und, wo notwendig mit \cleardoublepageempty zu arbeiten, endet am Inhaltsverzeichnis, das ich ja nicht willentlich an einer bestimmten Stelle umbrechen kann.
Wieso, kannst Du nicht mit


\addtocontents{toc}{\protect\cleardoublepageempty}

einen solchen Umbruch auch erzwingen?
MfG,

Salnic
01-12-2005, 12:36
Hi Rais,

die Idee gefällt mir, ich hatte schon überlegt vorzuschlagen, die .toc-Datei manuell zu ändern.

Salnic

jamuehli
01-12-2005, 19:09
Hallo Rais,

ich merke selbst, daß ich schwer zufriedenzustellen bin ;) , aber wenn ich Deinen Vorschlag richtig durchschaut habe, läuft das ja darauf hinaus, daß ich manuell dort wo das Inhaltsverzeichnis an den unteren Seitenrand stößt, vor die korrespondierende Kapitelüberschrift den vorgeschlagenen Befehl setzen muß. So als flexible Dauerlösung ist es das auch noch nicht ganz...

A propos: der Befehl lautet \cleardoubleemptypage, das war mein Fehler.

jamuehli
01-12-2005, 20:57
Ha, das könnte es sein!

Markus Kohm schlägt bei http://groups.google.com/group/de.comp.text.tex (http://groups.google.com/group/de.comp.text.tex/browse_thread/thread/a72bb3e10b23c6f1/fa0294515d8c1211?q=%5CInsertEmptyEvenPage&rnum=1#fa0294515d8c1211) folgende Methode vor:



\documentclass[twoside]{scrbook}
\usepackage{german,xspace}
\usepackage{afterpage}
\newcommand*{\InsertEmptyEvenPage}
{\afterpage{\expandafter\ifodd\value{page}
\else\null\thispagestyle{empty}\newpage\fi
\InsertEmptyEvenPage}}
\newcommand*{\OrigAppendix}{}
\let\OrigAppendix\appendix
\renewcommand*{\appendix}{\let\InsertEmptyEvenPage \relax\OrigAppendix}


\newcommand{\Satz}{Dies ist ein Satz, dessen einziger Zweck darin
besteht, die
Seiten mit irgendetwas zu f"ullen.\xspace}
\newcommand{\Par}{\Satz \Satz \Satz \Satz \Satz \Satz \Satz \Satz\par}

\begin{document}
\InsertEmptyEvenPage
\chapter{Ka}
\section{Sa}
\Par\Par\Par\Par\Par\Par\Par\Par\Par
\appendix
\chapter{Aa}
\Par\Par\Par\Par\Par\Par\Par\Par\Par
\end{document}


Das ganze hab' ich jetzt mal an den konkreten Fall angepaßt:


\documentclass[twoside]{scrbook}
\usepackage{german,xspace}

%----------------hier wird's interessant-------
\usepackage{afterpage}
\newcommand*{\einseitig}
{\afterpage{\expandafter\ifodd\value{page}
\else\null\thispagestyle{empty}\newpage\fi
\einseitig}}
\newcommand*{\zweiseitig}{\let\einseitig\relax}
%----------------------------------------------

%----------------zum erstellen von Fülltext----
\newcommand{\Satz}{Dies ist ein Satz, dessen einziger Zweck darin
besteht, die
Seiten mit irgendetwas zu f"ullen.\xspace}
\newcommand{\Par}{\Satz \Satz \Satz \Satz \Satz \Satz \Satz \Satz\par}
\newcommand{\Absatz}{\section{Blubb}\Par\section{B la}\Par\section{Laber}\Par}
\newcommand{\Vieleabsaetze}{\Absatz\Absatz\Absatz\ Absatz\Absatz}
%----------------------------------------------

\begin{document}
\einseitig
\tableofcontents
\chapter{Einseitiger Teil}
\Vieleabsaetze\Vieleabsaetze\Vieleabsaetze
%---------------Schnipp: umgeschaltet---------
\zweiseitig
\chapter{Zweiseitiger Teil}
\Vieleabsaetze\Vieleabsaetze\Vieleabsaetze
\end{document}

jamuehli
02-12-2005, 13:09
Jetzt verbleibt noch das Problem, daß die Seitenzählung weiterhin zweiseitig läuft, d. h. die einzig bedruckten rechten Seiten 1, 3, 5, 7, ... zählen. Wie kommt man da weiter?

Meine Idee war, das Ergebnis der Berechnung

\fancyfoot[OR]{\value{(\thepage-1)/2+1}}
anstatt der "echten" Seitenzahl ausgeben zu lassen, aber da scheine ich wohl an der Befehlsarchitektur von LaTeX ein bißchen vorbeizuschießen, oder?

Wie könnte soetwas gehen?

Salnic
02-12-2005, 14:55
Hi Jamuehli,

ich würde es ein wenig anders machen, ich würde den Seitenzähler nach jeder eingefügten Leerseite (\newpage} um eins zurücksetzen. Am besten in Deinem Makro. Aber ob es funktioniert? Nur so als Idee

\addtocounter{page}{-1}

Salinc

jamuehli
02-12-2005, 17:12
Hi Salnic,

nein, das habe ich auch schon probiert, aber (wie ich persönlich ganz ahnungslos finde gar nicht soo sinnvollerweise) scheint LaTeX nicht die Seitenzahl aus der Lage der Seite (links/rechts) abzuleiten, sondern legt die Seite auf eine linke oder rechte Seite je nachdem, ob sie eine gerade oder ungerade Zahl hat. Mit der genannten Methode führt das dazu, daß er die (jetzt ungerade bezifferten) Seiten wieder nach links schieben will.

Hmm.

Janis

Salnic
02-12-2005, 17:19
Hi Jamuehli,

\value{(\thepage-1)/2+1}
Bin mir nicht sicher, ob Latex so einfach rechnen kann. Hast Du das calc-Packet eingebunden?

Salnic

rais
03-12-2005, 00:34
Hallo Janis,

A propos: der Befehl lautet \cleardoubleemptypage, das war mein Fehler.
Erstmal Danke für die Korrektur.

aber (wie ich persönlich ganz ahnungslos finde gar nicht soo sinnvollerweise) scheint LaTeX nicht die Seitenzahl aus der Lage der Seite (links/rechts) abzuleiten, sondern legt die Seite auf eine linke oder rechte Seite je nachdem, ob sie eine gerade oder ungerade Zahl hat. Mit der genannten Methode führt das dazu, daß er die (jetzt ungerade bezifferten) Seiten wieder nach links schieben will.

Wie wär's denn, wenn Du Dein Ergebnis für die Seitenzahl in einen neuen Zähler packst und diesen dann als Seite Nr. sowieso ausgiebst? Dann sollte LaTeX doch weiterhin odd/even in Bezug auf page so beibehalten, wie gewohnt...;)
Also statt \pagemark im Fuß \DeinSpeziellerSeitenzähler (ggf. genügt es auch, einfach nur \thepage entsprechend umzudefinieren, den Du anschließend bei \zweiseitig ja wieder auf \arabic{page} zurücksetzen kannst).
MfG,

jamuehli
04-12-2005, 23:47
Hallo Rais,

das ist eine gute Idee, aber ich bekomme es nicht hin, LaTeX dazu zu bringen, Berechnungen wie diese "dynamisch" durchzuführen. D. h., wenn ich (z. B. in einem neuen Zähler) die Zuweisung mit (\thepage-1)/2+1 mache, dann wertet er diesen Ausdruck direkt bei der erstmaligen Definition des Zählers mit der dort aktuellen Seitenzahl aus, weist dieses Ergebnis dem Zähler als Zahl zu und diesen Wert behält der Zähler dann auf ewig.

Ich glaube, die Stoßrichtung sollte sein, einen Befehl zu finden, der den Zähler "seiteneu" mit jedem Auftreten eines "Schlüsselereignisses" (z. B. \ifodd\value{page}) um eins inkrementiert. Irgendwie sowas wie \stepcounterif{zähler}{bedingung}.

Wer baut mir den Befehl? ;)

Gruß
Janis

rais
05-12-2005, 00:56
Hallo Janis,
wieso, wenn Du z.B. scrpage2 lädst und in Deiner Präambel ein paar kleine Änderungen vornimmst:

\usepackage{scrpage2}
:
\newcounter{mypage}
:
\newcommand*{\einseitig}
{\afterpage{\expandafter\ifodd\value{page}
\else\null\thispagestyle{empty}\newpage\fi
\einseitig}%
\ofoot{%
\setcounter{mypage}{(\value{page}-1)/2+1}\arabic{mypage}%
}%
}
\newcommand*{\zweiseitig}{\let\einseitig\relax\ofo ot{\thepage}}
:
\pagestyle{scrheadings}
\ifoot{}\cfoot{}
\renewcommand*{\chapterpagestyle}{scrheadings}
:

dann werden die ungeraden Seiten bei einseitig doch mit 1,2,3... nummeriert. Der Haken ist jetzt natürlich, daß nach dem Umschalten auf zweiseitig Deine Seitenzahl von 12 (23) auf 25 springt - dabei fällt mir auf, Du darfst \zweiseitig wohl erst nach dem ersten Kapitel darin aufrufen.
Naja, das ist eine kleine Angelegenheit, die Du mit \setcounter{page} wohl in den Griff bekommst, aber: Worauf sollen sich nun Deine Seitenzahlen im Inhaltsverzeichnis beziehen...?
MfG,