如何创建 \pagenumbering 样式?

如何创建 \pagenumbering 样式?

我想创建一个\pagenumbering仅使用天城体字母的样式\frontmatter。下面是我想要创建的一个例子:

i -> अ
ii -> आ
iii -> इ 
iv -> ई
v -> उ
vi -> ऊ

等等。PS 这是使用天城体文字的印地语/梵语字母的自然顺序。

我创建了一个 sty 文件:

% varnamala.sty

\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{varnamala}

\RequirePackage{fancyhdr}

% Define your custom symbols here
\newcommand{\customPageSymbol}[1]{%
  \ifcase#1% 0
  \or अ% 1
  \or आ% 2
  \or इ% 3
  \or ई% 4
  \or उ% 5
  \or ऊ% 6
  \or ऋ% 7
  \or ॠ% 8
  \or ऌ% 9
  \or ॡ% 10
  \or ए% 11
  \or ऐ% 12
  \or ओ% 13
  \or औ% 14
  \or क्% 15
  \or ख्% 16
  \else *\textbf{?}*% for numbers greater than 16
  \fi%
}

这是 tex 文件:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8
\documentclass{book}
\usepackage{polyglossia}
\usepackage{fontspec}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Sahadeva} % Replace with the actual font name
\usepackage{varnamala}
\setdefaultlanguage{hindi}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\frontmatter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\thepage}{\customPageSymbol{\arabic{page}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\title{my title}
\maketitle

\chapter{प्रस्तावना}

यह एक हिंदी किताब की प्रस्तावना है।
\tableofcontents

\mainmatter
\chapter{1}

\end{document}

我做了一些工作,现在它工作正常,但如果我\renewcommand{\thepage}{\customPageSymbol{\arabic{page}}}从主 tex 文件中删除行,我就看不到天城体 varnamala,而是看到罗马数字。

现在问题完全变成了“如何将此命令直接添加到 sty 文件中以使其起作用?”

PS 这里我使用了自定义字体来自此链接

答案1

\thepage并不总是可以与 一起使用的数字\ifcase,它可能是iii或 ,1 of 32具体取决于当前样式。

latex 约定是定义一种\@...采用数字的样式,例如\@roman,以及一种采用计数器名称的文档命令,例如\roman

所以:

\newcommand{\@devnum}[1]{%
  \ifcase#1% 0
  \or अ% 1
  \or आ% 2
  \or इ% 3
  \or ई% 4
  \or उ% 5
  \else *\textbf{?}*% for numbers greater than 5
  \fi%
}
\newcommand{\devnum}[1]{\@devnum{\value{#1}}

然后你可以使用

\fancypagestyle{customstyle}{%%
  \fancyhf{}%%  % Clear all headers and footers
  \renewcommand{\headrulewidth}{0pt}%%  % Remove header line
  \fancyfoot[C]{\devnum{page} (\roman{page})}  % Custom symbol in the center of the footer
}

相关内容