Tampilkan nomor halaman / footer yang sama pada halaman pertama sebuah surat di KOMA scrlttr2?
Saya menggunakan script KOMA scrlttr2
dan hanya ingin menampilkan teks yang sama (penomoran / nomor halaman saya) di semua halaman surat saya, tentu termasuk yang pertama.
Saya telah menemukan jawaban ini dan posting blog yang agak lama ini . Tapi keduanya sangat rumit dan mengharuskan saya untuk mendefinisikan makro LaTex untuk melakukan hal yang sama secara otomatis dimulai dengan halaman dua (2).
Bagaimana cara menampilkan teks yang sama (nomor halaman) di footer halaman pertama seperti di footer di halaman kedua / al lainnya? Berbeda dengan semua pertanyaan lain, saya tidak mencari solusi paling elegan (yang membutuhkan 100 baris), tetapi saya akan baik-baik saja dengan menduplikasi / meng-hardcode footer lagi dengan mengulanginya. Bahkan jika saya perlu menulis "Halaman 1 dari \ letterlastpage".
Saya pada dasarnya menggunakan contoh ini, diambil dari sini :
\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}
Jawaban
Tata letak halaman surat pertama itu istimewa. Gaya halaman dari halaman huruf pertama adalah empty
. Ini menggunakan elemen khusus untuk alamat, lokasi, header, footer dll.
Anda harus menggunakan variabel firstfoot
untuk menambahkan konten di footer halaman pertama. Jika Anda mendefinisikan ulang \pagemark
untuk mendapatkan »Halaman ... dari ...«, maka Anda dapat menggunakan \centering\pagemark
untuk firstfoot
:
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
Contoh:
\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}
Perhatikan bahwa footer pada halaman pertama lebih rendah dari pada halaman lainnya. Jika harus pada posisi yang sama, maka Anda dapat menambal \opening
untuk menggunakan gaya halaman plain
di halaman pertama:
\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer
atau dengan paket xpatch
:
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
Perhatikan bahwa Anda masih dapat menggunakan variabel firsthead
untuk menentukan header halaman surat pertama.
Contoh:
\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}
Footer di halaman pertama surat kosong secara default.
Anda perlu menentukan footer halaman pertama Anda sendiri menggunakan firstfoot
variabel dan mengatur posisinya dari bagian atas halaman dengan firstfootvpos
variabel.
Aktifkan footer dengan firstfoot=true
opsi.
Footer berikutnya (dilakukan dengan \cfoot
dari scrlayer-scrpage
paket dalam contoh kode Anda; berfungsi dengan baik) juga dapat disetel di dalam scrlttr2
dengan menggunakan nextfoot
variabelnya.
Juga, karena tidak ada kop surat dalam contoh, dan tidak ada referensi, saya telah mengambil kebebasan untuk memindahkan alamat-ke dan badan surat lebih jauh ke atas halaman sedikit, untuk menggunakan beberapa ruang.
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}
Dengan menggabungkan beberapa jawaban (ditautkan dalam kode), saya telah menemukan solusi yang hanya menggunakan scrlttr2
parameter internal , yaitu kebanyakan \pagemark
.
Anda juga memiliki satu tempat untuk menentukan gaya nomor halaman di sana.
\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}