如何才能将单词更改پیوست اول
为پیوست آ
目录中,请注意我的最小代码。
\documentclass{book}
\usepackage{zref-perpage}
\zmakeperpage{footnote}
\usepackage{titlesec}
\usepackage{titletoc,geometry}
\usepackage{calc}
\usepackage{amsthm,amssymb,amsmath}
\usepackage{etoolbox}
% % % % % % % % % % % % % % % % % % %
\usepackage[numbers,sort&compress]{natbib}
\usepackage{standalone}
%\includeonly{context}
\usepackage{pxfonts}
\usepackage{scrextend}
\usepackage{perpage}
\makeatletter
\def\@myharfi#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 ی\else \@ctrerr\fi}
\def\myharfi#1{\expandafter\@myharfi\csname c@#1\endcsname}
\makeatother
\makeatletter
\patchcmd{\@chapter}{\addcontentsline{toc}{chapter}{\protect \numberline{\thechapter}#1}}{\addcontentsline{toc}{chapter}{\protect{\numberline{\chaptername~\tartibi{chapter} : #1}}}}{}{}
%\fi
\patchcmd{\l@chapter}{\setlength\@tempdima{1.5em}}{\setlength\@tempdima{4.5em}}{}{}
\long\def\@subcaption#1[#2]#3{%
\par
\addcontentsline{\csname ext@#1\endcsname}{#1}%
{\protect\numberline{\csname #1name\endcsname{} \csname the#1\endcsname}{\ignorespaces #2}}%
\begingroup
\@parboxrestore
\if@minipage
\@setminipage
\fi
\normalsize
\@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
\endgroup}
\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\renewcommand*\l@subsection{\@dottedtocline{1}{3em}{4.3em}}
\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{3.3em}}
\let\l@table\l@figure
\let\stdl@chapter\l@chapter
\renewcommand*{\l@chapter}[2]{\stdl@chapter{{#1}}{}}
\makeatother
\usepackage{hyperref}
\usepackage{xepersian}
\begin{document}
\tableofcontents
\chapter{this is first chapter}
\chapter{this is second chapter}
\appendix
\renewcommand{\chaptername}{پیوست}
\chapter{this is first appendix}
\end{document}
答案1
如果我正确理解了您的要求,您可以通过定义\mynumberstyle
在修补的章节命令中使用的命令(而不是)来实现。然后,只需将该数字样式命令设置为文档开头,并将其重置为启动附录时\tartibi
即可。\tartibi
\myharfi
因此,您要做的就是\patchcmd\@chapter
将以以下内容开头的行替换为
\newcommand\mynumberstyle[1]{\tartibi{#1}}
\patchcmd{\@chapter}{\addcontentsline{toc}{chapter}{\protect \numberline{\thechapter}#1}}{\addcontentsline{toc}{chapter}{\protect{\numberline{\chaptername~\mynumberstyle{chapter} : #1}}}}{}{}
然后,紧接着\appendix
,添加
\renewcommand\mynumberstyle[1]{\myharfi{#1}}
希望这可以帮助。
附言:您的示例确实不够简洁,不足以展示您想要实现的目标。\makeatletter
和之间的大多数自定义代码\makeatother
根本没有必要,而且您加载了太多包。下次您寻求帮助时,请尝试缩小示例,这对试图帮助您的人更友好,而且您尝试分析您想要实现的目标也是在帮自己一个忙。