KOMA scrlttr2에서 글자의 첫 페이지에 페이지 번호 / 동일한 바닥 글을 표시 하시겠습니까?
KOMA 스크립트를 사용하고 첫 번째를 포함 하여 scrlttr2
내 편지의 모든 페이지에 동일한 텍스트 (내 페이지 번호 / 번호)를 표시하고 싶습니다 .
이 답변 과 다소 오래된 블로그 게시물을 찾았 습니다 . 그러나 둘 다 어색하게 복잡하고 2 페이지부터 자동으로 수행하는 것과 동일한 작업을 수행하기 위해 LaTex 매크로를 정의해야합니다 (2).
첫 번째 페이지의 바닥 글에 두 번째 / 다른 페이지의 바닥 글과 동일한 텍스트 (페이지 번호)를 표시하려면 어떻게해야합니까? 다른 모든 질문과 달리 가장 우아한 솔루션 (100 줄이 필요함)을 찾고 있지는 않지만 반복하여 바닥 글을 다시 복제 / 하드 코딩하는 것이 좋습니다. 비록 "Page 1 of \ letterlastpage"를 써야하더라도.
기본적으로 여기 에서 가져온 이 예제를 사용합니다 .
\documentclass{scrlttr2}
\usepackage{scrlayer-scrpage}
\cfoot{Page \thepage\ of \letterlastpage}
\usepackage{lipsum}
\begin{document}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}
답변
첫 글자 페이지의 레이아웃은 특별합니다. 첫 글자 페이지의 페이지 스타일은입니다 empty
. 주소, 위치, 머리글, 바닥 글 등에 특수 요소를 사용합니다.
firstfoot
첫 페이지의 바닥 글에 내용을 추가 하려면 변수를 사용해야합니다 . 당신이 다시 정의 경우 \pagemark
의 ...«...»페이지를 얻으려면, 당신은 사용할 수 있습니다 \centering\pagemark
에 대한 firstfoot
:
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
예:
\documentclass{scrlttr2}
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}
첫 페이지의 바닥 글은 다른 페이지보다 낮습니다. 동일한 위치에 있어야 하는 경우 첫 페이지에서 \opening
페이지 스타일을 사용하도록 패치 할 수 있습니다 plain
.
\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer
또는 패키지 xpatch
:
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
변수 firsthead
를 사용하여 첫 글자 페이지의 헤더를 정의 할 수 있습니다 .
예:
\documentclass{scrlttr2}
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}
편지의 첫 페이지에있는 바닥 글은 기본적으로 비어 있습니다.
firstfoot
변수를 사용하여 첫 페이지 바닥 글을 정의하고 변수를 사용하여 페이지 상단에서 위치를 설정해야 firstfootvpos
합니다.
firstfoot=true
옵션으로 바닥 글을 켭니다 .
후속 바닥 글 ( 코드 예제 \cfoot
의 scrlayer-scrpage
패키지에서 수행되었으며 정상적으로 작동 함)은 scrlttr2
해당 nextfoot
변수 를 사용하여 설정할 수도 있습니다 .
또한 예제에는 레터 헤드도없고 참조도 없기 때문에 일부 공간을 사용하기 위해 to-address와 letter body를 페이지 위로 조금 더 이동할 수있는 자유를 얻었습니다.
MWE
\documentclass[firstfoot=true,
enlargefirstpage=true,
firsthead=false,
]{scrlttr2}
%%\usepackage{scrlayer-scrpage}
%\cfoot{Page \thepage\ of \letterlastpage}
\setplength{toaddrvpos}{\footskip}
\setplength{refvpos}{3.5\footskip}
\pagestyle{myheadings}
%\markboth{}{}
\setplength{firstfootvpos}{\pageheight-1.5\footskip}\setkomavar{firstfoot}{%
\parbox[t]{\linewidth}{%
\centering \textit{Page \thepage\ of \letterlastpage}%
}%
}
\setkomavar{nextfoot}{%
\parbox[t]{\linewidth}{%
\centering \textit{Page \thepage\ of \letterlastpage}%
}%
}
\usepackage{lipsum}
\begin{document}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}
여러 답변 (코드에 연결됨)을 결합하여 내부 scrlttr2
매개 변수, 즉 대부분 \pagemark
.
또한 페이지 번호 스타일을 정의 할 수있는 한 곳이 있습니다.
\documentclass[enlargefirstpage=true]{scrlttr2}
\usepackage{scrlayer-scrpage}
% better page numbers with total number
% https://tex.stackexchange.com/a/578072/98645
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
%\usekomafont{pagenumber}{-~\thepage~von~\letterlastpage~-}% different style example
}
% also show page number on first page
% https://tex.stackexchange.com/a/578050/98645
\markboth{}{}
\setkomavar{firstfoot}{%
\parbox[t]{\linewidth}{%
\centering \pagemark%
}%
}
\usepackage{lipsum}
\begin{document}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\begin{letter}{%
Jerry Garcia\\
710 Ashbury St\\
San Francisco\\
CA 94117
}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}