KOMA scrlttr2'de bir mektubun ilk sayfasında sayfa numarası / aynı altbilgi gösterilsin mi?
KOMA komut dosyasını kullanıyorum scrlttr2
ve sadece aynı metni (sayfa numaram / numaram) mektubumun tüm sayfalarında, tabii ki ilki de dahil olmak üzere görüntülemek istiyorum .
Bu cevabı ve bu biraz eski blog gönderisini buldum . Ancak her ikisi de garip bir şekilde karmaşık ve benden, ikinci sayfadan (2) başlayarak otomatik olarak yaptığı aynısını yapmak için bir çok LaTex makro tanımlamamı gerektiriyor.
İlk sayfanın altbilgisinde ikinci / diğer sayfalardaki altbilgideki aynı metni (sayfa numarasını) nasıl görüntüleyebilirim? Diğer tüm soruların aksine, en zarif çözümü aramıyorum (100 satır alır), ancak altbilgiyi tekrarlayarak çoğaltmak / kodlamakta sorun olmaz. "Page 1 of \ letterlastpage" yazmam gerekse bile.
Buradan alınan bu örneği temelde kullanıyorum :
\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}
Yanıtlar
İlk harf sayfasının düzeni özeldir. İlk harf sayfasının sayfa stili empty
. Adres, konum, üstbilgi, altbilgi vb. İçin özel öğeler kullanır.
firstfoot
İlk sayfanın altbilgisine içerik eklemek için değişken kullanmanız gerekir . Eğer yeniden tanımlamak durumunda \pagemark
arasında ... «...» Sayfasına almak için, o zaman kullanabilirsiniz \centering\pagemark
için firstfoot
:
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
Misal:
\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}

İlk sayfadaki altbilginin diğer sayfalardan daha düşük olduğuna dikkat edin. Aynı konumda olması gerekiyorsa , ilk sayfada \opening
sayfa stilini kullanmak için yama uygulayabilirsiniz plain
:
\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer
veya paketle xpatch
:
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
firsthead
İlk harf sayfasının bir başlığını tanımlamak için yine de değişkeni kullanabileceğinizi unutmayın .
Misal:
\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}

Bir mektubun ilk sayfasındaki altbilgi varsayılan olarak boştur.
firstfoot
Değişkeni kullanarak kendi ilk sayfa altbilginizi tanımlamanız ve değişkenle sayfanın üstünden konumunu ayarlamanız gerekecektir firstfootvpos
.
Altbilgiyi firstfoot=true
seçenekle açın.
(İle yapılır müteakip altbilgi \cfoot
gelen scrlayer-scrpage
kod örneğinde paketin, aynı Tamam çalışır) de içinde set olabilir scrlttr2
onun kullanarak nextfoot
değişkeni.
Ayrıca, örnekte antetli kağıt olmadığından ve referans olmadığından, alanın bir kısmını kullanmak için adrese ve harf gövdesini biraz daha yukarı taşıma özgürlüğünü kullandım.


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}
Birden fazla yanıtı birleştirerek (kodla bağlantılı), yalnızca dahili scrlttr2
parametreyi kullanan , yani çoğunlukla bir çözüm buldum \pagemark
.
Ayrıca burada sayfa numarası stilini tanımlamak için tek bir yeriniz var.
\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}