번호 매기기는 데바나가리 문자로 환경과 페이지를 열거합니다.

번호 매기기는 데바나가리 문자로 환경과 페이지를 열거합니다.

xelatex-devanagari를 사용하여 큰 문서를 작성 중입니다. 그럼에도 불구하고 머리말의 페이지 번호는 기본적으로 로마자 번호로 되어 있습니다. 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 latex2e54.6항목화 및 열거~에texdoc source2e.)

예를 들어, 기본적으로 는 where 로 정의 \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로마 숫자(머리말의 경우) 대신 데바나가리 자음 페이지 번호가 제공되고, 열거의 경우 다음이 표시됩니다. Devanagari 레이블을 사용하여 환경 열거

관련 정보