Ändern der Art und Weise, wie eine einzelne Seitenzahl gedruckt wird

Ändern der Art und Weise, wie eine einzelne Seitenzahl gedruckt wird

Ich arbeite an einem Buch und möchte eine beliebige Seitenzahl von arabicin ändern alph, ohne mich dabei auf Markierungen oder Verweise im Text des Dokuments verlassen zu müssen. Ich habe keine Ahnung, wo ich anfangen soll.Diese Frage ist ähnlich, glaube ich, aber ich konnte keine dieser Lösungen auf mein Problem übertragen.

Im folgenden MWE möchte ich die Seitenzahl „3“ im Hauptteil in „drei“ ändern und alle anderen Seitenzahlen so belassen, wie sie sind.

\documentclass{book}
\usepackage[english]{babel}
\usepackage{blindtext}

\begin{document}

\frontmatter
\blinddocument

\mainmatter
\blinddocument

\end{document}

Die endgültige Seitenzahl im Hauptteil wäre also (1, 2, 3, 4).

UPDATE: Mir ist aufgefallen, dass ich in meinem einfachen Beispiel (dummerweise) nicht angegeben habe, wie die Seiten gestaltet werden, was die Implementierung etwas komplizierter macht. Ich bin Christians Vorschlag gefolgt, keine \the...Makros zu ändern – obwohl ich Henris Lösung einfacher zu implementieren fand –, weil ich ein Inhaltsverzeichnis verwende. Mein ursprünglicher Code war:

\RequirePackage[markcase=used]{scrlayer-scrpage}
\providepairofpagestyles{mystyle}{%
    \clearpairofpagestyles%
    \automark[chapter]{chapter}
    \ihead{\headmark}
    \ohead[\pagemark]{\pagemark}
}

Aktualisiert auf:

\def\targetpage{3}
\def\pagestring{\numberstringnum{\targetpage}}

\RequirePackage[markcase=used]{scrlayer-scrpage}
\providepairofpagestyles{mystyle}{%
    \clearpairofpagestyles%
    \automark[chapter]{chapter}
    \ihead{\headmark}
    \ohead[\ifnum\value{page}=\targetpage\pagestring\else\thepage\fi]{\ifnum\value{page}=\targetpage\pagestring\else\thepage\fi}
} 

Es gibt wahrscheinlich bessere Möglichkeiten, dies zu tun, aber es scheint zu funktionieren!

Antwort1

Dies übernimmt den plainals nächstes anzuwendenden Seitenstil \mainmatterund prüft, ob die Seitenzahl einer vordefinierten Zahl entspricht, sagen wir 3, und wendet dann das \numberstringnumMakro an.

\documentclass{book}
\usepackage[english]{babel}

\usepackage{fmtcount}
\usepackage{fancyhdr}
\usepackage{blindtext}

\def\theliteralpage{3}

\fancypagestyle{plain}{%
  \fancyhf{}
  \renewcommand{\headrulewidth}{0pt}
  \cfoot{\ifnum\theliteralpage=\value{page}\numberstringnum{\theliteralpage}\else\thepage\fi}
}

\begin{document}
\frontmatter
\blinddocument

\mainmatter
\pagestyle{plain}
\blinddocument

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Sie können \thepageden Ausdruck im gewünschten Format neu definieren. Der \mainmatterBefehl definiert \thepageebenfalls neu, daher müssen Sie die Neudefinition danach einfügen.

\documentclass{book}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{fmtcount}
\begin{document}

\frontmatter
\blinddocument

\mainmatter
\renewcommand\thepage{%
  \ifnum\value{page}=3
    \numberstring{page}%
  \else
    \arabic{page}%
  \fi}

\blinddocument

\end{document}

verwandte Informationen