Alterar a forma como um único número de página é impresso

Alterar a forma como um único número de página é impresso

Estou trabalhando com um livro e gostaria de alterar um número de página arbitrário de arabicpara alphsem depender de marcadores ou referências no texto do documento. Não tenho ideia por onde começar.Esta questão é semelhante, eu acho, mas não consegui traduzir nenhuma dessas soluções para o meu problema.

No MWE abaixo, gostaria de alterar o número da página "3" no assunto principal para "três", deixando todos os outros números de página como estão.

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

\begin{document}

\frontmatter
\blinddocument

\mainmatter
\blinddocument

\end{document}

Portanto, a contagem final de páginas no assunto principal seria (1, 2, três, 4).

ATUALIZAÇÃO: percebi que em meu exemplo simples (tolamente) não especifiquei como as páginas foram estilizadas e isso torna a implementação um pouco mais complicada. Segui em frente com a sugestão de Christian de não alterar nenhuma \the...macro - embora eu tenha achado a solução de Henri mais simples de implementar - porque estou usando um índice analítico. Meu código original era:

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

Atualizado para:

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

Provavelmente existem maneiras melhores de fazer isso, mas parece funcionar!

Responder1

Isso assume o plainestilo de página a ser aplicado depois \mainmattere verifica se o número da página é igual a algum número predefinido, digamos 3, e aplica a \numberstringnummacro então.

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

insira a descrição da imagem aqui

Responder2

Você pode redefinir \thepagepara imprimir no formato desejado. O \mainmattercomando \thepagetambém redefine, então você deve colocar a redefinição depois disso.

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

informação relacionada