KOMA scrlttr2'de bir mektubun ilk sayfasında sayfa numarası / aynı altbilgi gösterilsin mi?

Jan 08 2021

KOMA komut dosyasını kullanıyorum scrlttr2ve 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

1 esdd Jan 08 2021 at 22:26

İ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 \pagemarkarasında ... «...» Sayfasına almak için, o zaman kullanabilirsiniz \centering\pagemarkiç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 \openingsayfa 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}

1 Cicada Jan 08 2021 at 16:58

Bir mektubun ilk sayfasındaki altbilgi varsayılan olarak boştur.

firstfootDeğ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=trueseçenekle açın.

(İle yapılır müteakip altbilgi \cfootgelen scrlayer-scrpagekod örneğinde paketin, aynı Tamam çalışır) de içinde set olabilir scrlttr2onun kullanarak nextfootdeğ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}
rugk Jan 08 2021 at 22:32

Birden fazla yanıtı birleştirerek (kodla bağlantılı), yalnızca dahili scrlttr2parametreyi 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}