Нумерация перечисляет среды и страницы с помощью алфавита деванагари

Нумерация перечисляет среды и страницы с помощью алфавита деванагари

Я создаю большой документ с помощью xelatex-devanagari. Тем не менее, номера страниц в титульном листе по умолчанию имеют римскую нумерацию. Как мне изменить их на пользовательскую алфавитную нумерацию Devanagari, напримерА,А...илик,б,г...?

Аналогичная нумерация необходима для пронумерованных списков. В настоящее время первый уровень нумерации показывает цифры деванагари. Какой наилучший метод достижения алфавитной нумерации деванагари также и на других уровнях?

Образец кода -

\documentclass[oneside]{book}
\usepackage{fontspec}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Sanskrit 2003}

\renewcommand{\chaptername}{अध्यायः}
\renewcommand{\contentsname}{विषयसूची}

\begin{document}

\frontmatter
\tableofcontents
\chapter{भूमिका}

\mainmatter
\chapter{सङ्ग्रहः}
\begin{enumerate}
  \item प्रथमम्
  \begin{enumerate}
    \item द्वितीयम्
    \begin{enumerate}
      \item तृतीयम्
      \begin{enumerate}
        \item चतुर्थम्
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

\end{document}

демо перечисления

решение1

Как отображаются счетчики

В LaTeX счетчик отображается в одном из нескольких «стилей», заданных как \arabic, \roman, \Roman, \alph, \Alph, и \fnsymbol. (См.Глава 13Счетчикивtexdoc latex2e, или Файл mltcounts.dtxвtexdoc source2e, илиздесь/здесь/здесь/здесь.) Из них \fnsymbol— это просто символы, используемые для сносок ( *, ‡, ‡, §, ¶, ∥, **, ††, ‡‡), поэтому достаточно переопределить остальные.

Например, по умолчанию \Alphопределяется через \@Alphкоторый определяется как

\def\@Alph#1{%
 \ifcase#1\or A\or B\or C\or D\or E\or F\or G\or H\or I\or J\or
  K\or L\or M\or N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or X\or
   Y\or Z\else\@ctrerr\fi}

Мы можем изменить это так, чтобы всегда везде использовать согласные деванагари क, ख, ग, …вместо римских цифр или букв латинского алфавита. (Вы также можете захотеть использовать гласные деванагари अ, आ, इ, ई, …для одного из них; это на ваше усмотрение.)

Как отображаются метки в перечислениях

Метки enumerateна каждом уровне задаются как \labelenumi, \labelenumii, \labelenumiii, и \labelenumiv. (См.раздел 8.7перечислитьв texdoc latex2e, или 54,6Перечислить и перечислитьвtexdoc source2e.)

Например, по умолчанию \labelenumiiопределяется как , (\theenumii)где \theenumiiв свою очередь определяется как \@alph\c@enumii, поэтому на втором уровне вложенности в списках вы видите метки типа (a). Вы также можете переопределить их, если вы (скажем) хотите, чтобы скобки или точки были в разных местах.

Собираем все вместе

Вот пример исходного кода LaTeX из вопроса с соответствующими изменениями ( изменено только то, что находится внутри \makeatletterto ):\makeatother

\documentclass[oneside]{book}
\usepackage{fontspec}
\setmainfont[Script=Devanagari,Mapping=devanagarinumerals]{Sanskrit 2003}

\makeatletter
% Always use Devanagari consonants for alph/Alph/roman/Roman styles.
\def\devanagari@alph#1{%
 \ifcase#1\or क\or ख\or ग\or घ\or ङ\or च\or छ\or ज\or झ\or ञ\or
  ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द\or ध\or न\or प\or फ\or ब\or भ\or म\or
   य\or र\or ल\or व\or श\or ष\or स\or ह\else\@ctrerr\fi}
% Imitating xgreek.sty and xepersian.sty
\let\@alph\devanagari@alph
\let\@Alph\devanagari@alph
\let\@roman\devanagari@alph
\let\@Roman\devanagari@alph

% Change appearance of enumerate at levels 2, 3, 4.
\renewcommand{\labelenumii}{\theenumii.} % Instead of: (\theenumii)
\renewcommand{\labelenumiii}{(\theenumiii)} % Instead of: \theenumiii.
\renewcommand{\theenumiii}{\@arabic\c@enumiii} % Instead of: \@roman\c@enumiii
\renewcommand{\labelenumiv}{(\theenumiv)} % Instead of: \theenumiv.
\makeatother

\renewcommand{\chaptername}{अध्यायः}
\renewcommand{\contentsname}{विषयसूची}

\begin{document}

\frontmatter
\tableofcontents
\chapter{भूमिका}

\mainmatter
\chapter{सङ्ग्रहः}
\begin{enumerate}
  \item प्रथमम्
  \begin{enumerate}
    \item द्वितीयम्
    \begin{enumerate}
      \item तृतीयम्
      \begin{enumerate}
        \item चतुर्थम्
      \end{enumerate}
    \end{enumerate}
  \end{enumerate}
\end{enumerate}

\end{document}

При запуске этого кода xelatexвместо римских цифр (для вводной части) будут использоваться согласные на деванагари номера страниц, а для нумерации — следующее: перечислить среду с метками деванагари

Связанный контент