Cambiar la forma en que se imprime el número de una sola página

Cambiar la forma en que se imprime el número de una sola página

Estoy trabajando con un libro y me gustaría cambiar un número de página arbitrario de arabica alphsin depender de ningún marcador o referencia en el texto del documento. No tengo idea de por dónde empezar.Esta pregunta es similarCreo, pero no pude traducir ninguna de esas soluciones a mi problema.

En el MWE a continuación, me gustaría cambiar el número de página "3" en el asunto principal a "tres", dejando todos los demás números de página como están.

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

\begin{document}

\frontmatter
\blinddocument

\mainmatter
\blinddocument

\end{document}

Entonces, el recuento final de páginas en el asunto principal sería (1, 2, tres, 4).

ACTUALIZACIÓN: Me di cuenta de que en mi ejemplo simple (tontamente) no especifiqué cómo se estilizaron las páginas, y eso hace que la implementación sea un poco más complicada. Seguí adelante con la sugerencia de Christian de no cambiar ninguna \the...macro, aunque encontré que la solución de Henri era más sencilla de implementar, porque estoy usando una tabla de contenido. Mi código original era:

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

Actualizado a:

\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}
} 

Probablemente haya mejores formas de hacer esto, ¡pero parece funcionar!

Respuesta1

Esto supone que el plainestilo de página se aplicará después \mainmattery verifica si el número de página es igual a algún número predefinido, por ejemplo 3, y luego aplica la \numberstringnummacro.

\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}

ingrese la descripción de la imagen aquí

Respuesta2

Puede redefinir \thepagepara imprimir en el formato deseado. El \mainmattercomando \thepagetambién se redefine, por lo que debe colocar la redefinición después de eso.

\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}

información relacionada