scrbook
및 scrpage2
headwith를 사용하여 textwithmarginpar
텍스트 본문의 개별 이미지를 더 넓은 헤드 너비로 설정하려고 합니다. \hoffset
이다 0pt
. 을 합산하면 \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}
답변1
headsepline
헤드라인의 너비를 표시하기 위해 a를 사용하겠습니다 .
scrlayer-scrpage
옵션이 예상 headwidth=textwithmarginpar
대로 작동합니다.
\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}
scrlayer-scrpage
옵션과 함께 사용하면 headwidth=textwithmarginpar
제목이 텍스트 영역 위 중앙에 위치하지 않습니다.
또한 KOMA-Script 클래스는 명령을 정의합니다 \Ifthispageodd
.
더 이상 사용되지 않는 패키지에 대한 제안도 있습니다.scrpage2
\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}
결과는 위와 같습니다.
선택적 인수를 사용해야 합니다.
\setheadwidth[0pt]{textwithmarginpar}
선택적 오프셋이 0pt
누락된 경우 헤드라인은 텍스트 영역 위 중앙에 배치됩니다.