이미지 너비 = head가 textwithmarginpar인 경우의 헤드 너비

이미지 너비 = head가 textwithmarginpar인 경우의 헤드 너비

scrbookscrpage2headwith를 사용하여 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누락된 경우 헤드라인은 텍스트 영역 위 중앙에 배치됩니다.

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

관련 정보