Mit scrbook
und scrpage2
und einer Kopfbreite von textwithmarginpar
versuche ich, einzelne Bilder im Textkörper auf diese breitere Kopfbreite einzustellen. \hoffset
ist . Wenn ich , und 0pt
addiere , bekomme ich mehr als die Kopfbreite, allerdings enden Bild und Seitenzahl nicht in derselben Zeile. Es scheint eine andere Länge zu geben, die die Kopfbreite beeinflusst. Ich bin für jede Idee dankbar!\textwidth
\marginparwidth
\marginparsep
\documentclass[10pt]{scrbook}
\usepackage{xltxtra}
\usepackage[paperwidth=170mm,paperheight=240mm]{geometry}
\usepackage{scrpage2}
\usepackage{mwe}
\usepackage{ifoddpage}
\KOMAoptions{DIV=calc,BCOR=15mm}
\newlength{\TextwithMargin}
\setlength{\TextwithMargin}{\textwidth}
\addtolength{\TextwithMargin}{\marginparwidth}
\addtolength{\TextwithMargin}{\marginparsep}
\pagestyle{scrheadings}
\clearscrheadfoot
\lehead[]{{\pagemark}\quad\rightmark}
\rohead[]{{\rightmark}\quad\pagemark}
\setheadwidth[]{textwithmarginpar} % As expected, I get the same result when using \TextwithMargin.
\begin{document}
\thispagestyle{scrheadings}
\addsec{Section}
\begin{figure}[hptp]
\checkoddpage
\edef\side{\ifoddpage l\else r\fi}%
\makebox[\textwidth][\side]{%
\parbox{\TextwithMargin}{%
\includegraphics[width=\linewidth]{example-image}
\caption{Example image.}
}}
\end{figure}
\end{document}
Antwort1
Ich verwende ein , headsepline
um die Breite der Überschriften anzuzeigen.
Mit scrlayer-scrpage
der Option headwidth=textwithmarginpar
funktioniert es wie erwartet:
\documentclass[10pt]{scrbook}
%\providecommand*\Ifthispageodd{\ifthispageodd}% needed up to and including KOMA-Script version 3.27, see https://komascript.de/faq_deprecatedif
\usepackage{xltxtra}
\usepackage[paperwidth=170mm,paperheight=240mm]{geometry}
\KOMAoptions{DIV=calc,BCOR=15mm}
\newlength{\TextwithMargin}
\setlength{\TextwithMargin}{%
\dimexpr\textwidth+\marginparwidth+\marginparsep\relax}
\usepackage[headwidth=textwithmarginpar,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\lehead{{\pagemark}\quad\rightmark}
\rohead{{\rightmark}\quad\pagemark}
\usepackage{mwe}
\begin{document}
\addsec{Section}
\blindtext[4]
\begin{figure}[htb]
\Ifthispageodd{\edef\side{l}}{\edef\side{r}}%
\makebox[\textwidth][\side]{%
\parbox{\TextwithMargin}{%
\includegraphics[width=\linewidth]{example-image}
\caption{Example image.}
}}
\end{figure}
\end{document}
Beachten Sie, dass scrlayer-scrpage
bei Verwendung dieser Option headwidth=textwithmarginpar
die Überschrift nicht über dem Textbereich zentriert wird.
Zusätzlich definieren die KOMA-Script-Klassen einen Befehl \Ifthispageodd
.
Hier ist auch ein Vorschlag mit dem veralteten Paketscrpage2
\documentclass[10pt]{scrbook}
%\providecommand*\Ifthispageodd{\ifthispageodd}% needed up to and including KOMA-Script version 3.27, see https://komascript.de/faq_deprecatedif
\usepackage{xltxtra}
\usepackage[paperwidth=170mm,paperheight=240mm]{geometry}
\KOMAoptions{DIV=calc,BCOR=15mm}
\newlength{\TextwithMargin}
\setlength{\TextwithMargin}{\dimexpr\textwidth+\marginparwidth+\marginparsep\relax}
\usepackage[headsepline]{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfoot
\lehead{{\pagemark}\quad\rightmark}
\rohead{{\rightmark}\quad\pagemark}
\setheadwidth[0pt]{textwithmarginpar}
\usepackage{mwe}
\begin{document}
\addsec{Section}
\blindtext[4]
\begin{figure}[htb]
\Ifthispageodd{\edef\side{l}}{\edef\side{r}}%
\makebox[\textwidth][\side]{%
\parbox{\TextwithMargin}{%
\includegraphics[width=\linewidth]{example-image}
\caption{Example image.}
}}
\end{figure}
\end{document}
Das Ergebnis ist das gleiche wie oben.
Beachten Sie, dass Sie das optionale Argument verwenden müssen:
\setheadwidth[0pt]{textwithmarginpar}
Wenn der optionale Offset 0pt
fehlt, wird die Überschrift zentriert über dem Textbereich platziert.