summaryrefslogtreecommitdiff
path: root/macros/xetex/latex/xepersian/xepersian.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/xetex/latex/xepersian/xepersian.dtx')
-rw-r--r--macros/xetex/latex/xepersian/xepersian.dtx142
1 files changed, 105 insertions, 37 deletions
diff --git a/macros/xetex/latex/xepersian/xepersian.dtx b/macros/xetex/latex/xepersian/xepersian.dtx
index 7bf394e7b3..6e3e33a3d4 100644
--- a/macros/xetex/latex/xepersian/xepersian.dtx
+++ b/macros/xetex/latex/xepersian/xepersian.dtx
@@ -5,7 +5,7 @@
%<*readme>
____________________
The XePersian package
-v23.9
+v24.0
The xepersian package provides a convenient interface for
typesetting Persian and English texts in LaTeX, using XeTeX
@@ -31,7 +31,7 @@ also appear in the Discussions space under the Announcements
category.
-Current version release date: 2022/05/20
+Current version release date: 2022/05/22
___________________________________________
Vafa Khalighi
@@ -166,7 +166,7 @@ by Vafa Khalighi.
\documentclass{ltxdoc}
\input{xepersian-doc-preamble.ltx}
\hypersetup{%
- pdftitle={Source documentation for version 23.9 of the XePersian
+ pdftitle={Source documentation for version 24.0 of the XePersian
package}%
}
\EnableCrossrefs
@@ -185,7 +185,7 @@ by Vafa Khalighi.
% \GetFileInfo{\jobname.dtx}
% \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\
%\LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt]
-%\large Source documentation for \textcolor{blue!65!black}{version 23.9}}
+%\large Source documentation for \textcolor{blue!65!black}{version 24.0}}
% \author{Vafa Khalighi\thanks{Thanks to the bidi-tex GitHub organization consisted of David Carlisle and other members of the {\LaTeX} team to maintain the package in the period 2018--2020.}}
%\setcounter{page}{0}
%\thispagestyle{empty}
@@ -195,7 +195,7 @@ by Vafa Khalighi.
%\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}
%
%\Large
-%Source documentation for \textcolor{blue!65!black}{version 23.9}}
+%Source documentation for \textcolor{blue!65!black}{version 24.0}}
%
%\vskip 0pt plus 3fill
%\textit{\large to my Master, \textbf{Ferdowsi The Great}}
@@ -243,7 +243,7 @@ by Vafa Khalighi.
%\iffalse
%<*table>
%\fi
-%% \CheckSum{10976}
+%% \CheckSum{11097}
%% \CharacterTable
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
@@ -3218,14 +3218,36 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
%\fi
% \section{File \texttt{scrartcl-xepersian.def}}
% \begin{macrocode}
-\ProvidesFile{scrartcl-xepersian.def}[2010/07/25 v0.2 adaptations for scrartcl class]
+\ProvidesFile{scrartcl-xepersian.def}[2022/05/22 v0.3 adaptations for scrartcl class]
\renewcommand*{\thepart}{\@tartibi\c@part}
-\renewcommand*\appendix{\par%
+\renewcommand*\appendix{%
+ \Ifstr{\@currenvir}{appendix}{%
+ \ClassWarning{\KOMAClassName}{%
+ You are using
+ `\string\begin{appendix}...\string\end{appendix}'.\MessageBreak
+ You should note, that `\string\appendix' is a mostly
+ globally\MessageBreak
+ working command not an enviroment with only local\MessageBreak
+ effects. Therefore `\string\end{appendix}' will neither\MessageBreak
+ switch back to normal section numbering nor finish\MessageBreak
+ every other effect of `\string\begin{appendix}'.\MessageBreak
+ Nevertheless, some effects may end with\MessageBreak
+ `\string\end{appendix}' and the document may become\MessageBreak
+ inconsistent.\MessageBreak
+ Because of this, you should remove `\string\end{appendix}'\MessageBreak
+ and replace `\string\begin{appendix}' by command\MessageBreak
+ `\string\appendix'%
+ }%
+ }{}%
+ \par
\setcounter{section}{0}%
\setcounter{subsection}{0}%
\gdef\thesection{\@harfi\c@section}%
- \csname appendixmore\endcsname
}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}%
+}{}
+\g@addto@macro{\appendix}{\csname appendixmore\endcsname}
\renewcommand*{\@@maybeautodot}[1]{%
\ifx #1\@stop\let\@@maybeautodot\relax
\else
@@ -3254,19 +3276,41 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
%\fi
% \section{File \texttt{scrbook-xepersian.def}}
% \begin{macrocode}
-\ProvidesFile{scrbook-xepersian.def}[2010/07/25 v0.2 adaptations for scrbook class]
+\ProvidesFile{scrbook-xepersian.def}[2022/05/22 v0.3 adaptations for scrbook class]
\renewcommand*\frontmatter{%
\if@twoside\cleardoubleoddpage\else\clearpage\fi
\@mainmatterfalse\pagenumbering{harfi}%
}
\renewcommand*{\thepart}{\@tartibi\c@part}
-\renewcommand*\appendix{\par%
+\renewcommand*\appendix{%
+ \Ifstr{\@currenvir}{appendix}{%
+ \ClassWarning{\KOMAClassName}{%
+ You are using
+ `\string\begin{appendix}...\string\end{appendix}'.\MessageBreak
+ You should note, that `\string\appendix' is a mostly
+ globally\MessageBreak
+ working command not an enviroment with only local\MessageBreak
+ effects. Therefore `\string\end{appendix}' will neither\MessageBreak
+ switch back to normal section numbering nor finish\MessageBreak
+ every other effect of `\string\begin{appendix}'.\MessageBreak
+ Nevertheless, some effects may end with\MessageBreak
+ `\string\end{appendix}' and the document may become\MessageBreak
+ inconsistent.\MessageBreak
+ Because of this, you should remove `\string\end{appendix}'\MessageBreak
+ and replace `\string\begin{appendix}' by command\MessageBreak
+ `\string\appendix'%
+ }%
+ }{}%
+ \par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@harfi\c@chapter}%
- \csname appendixmore\endcsname
}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}%
+}{}
+\g@addto@macro{\appendix}{\csname appendixmore\endcsname}
\renewcommand*{\@@maybeautodot}[1]{%
\ifx #1\@stop\let\@@maybeautodot\relax
\else
@@ -3295,15 +3339,37 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
%\fi
% \section{File \texttt{scrreprt-xepersian.def}}
% \begin{macrocode}
-\ProvidesFile{scrreprt-xepersian.def}[2010/07/25 v0.2 adaptations for scrreprt class]
+\ProvidesFile{scrreprt-xepersian.def}[2022/05/22 v0.3 adaptations for scrreprt class]
\renewcommand*{\thepart}{\@tartibi\c@part}
-\renewcommand*\appendix{\par%
+\renewcommand*\appendix{%
+ \Ifstr{\@currenvir}{appendix}{%
+ \ClassWarning{\KOMAClassName}{%
+ You are using
+ `\string\begin{appendix}...\string\end{appendix}'.\MessageBreak
+ You should note, that `\string\appendix' is a mostly
+ globally\MessageBreak
+ working command not an enviroment with only local\MessageBreak
+ effects. Therefore `\string\end{appendix}' will neither\MessageBreak
+ switch back to normal section numbering nor finish\MessageBreak
+ every other effect of `\string\begin{appendix}'.\MessageBreak
+ Nevertheless, some effects may end with\MessageBreak
+ `\string\end{appendix}' and the document may become\MessageBreak
+ inconsistent.\MessageBreak
+ Because of this, you should remove `\string\end{appendix}'\MessageBreak
+ and replace `\string\begin{appendix}' by command\MessageBreak
+ `\string\appendix'%
+ }%
+ }{}%
+ \par
\setcounter{chapter}{0}%
\setcounter{section}{0}%
\gdef\@chapapp{\appendixname}%
\gdef\thechapter{\@harfi\c@chapter}%
- \csname appendixmore\endcsname
}
+\IfLTXAtLeastTF{2020/10/01}{%
+ \g@addto@macro{\appendix}{\UseOneTimeHook{\KOMAClassName/appendix}}%
+}{}
+\g@addto@macro{\appendix}{\csname appendixmore\endcsname}
\renewcommand*{\@@maybeautodot}[1]{%
\ifx #1\@stop\let\@@maybeautodot\relax
\else
@@ -3474,8 +3540,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET
% \section{File \texttt{xepersian.sty}}
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\def\xepersian@version{23.9}
-\def\xepersiandate{2022/05/20}
+\def\xepersian@version{24.0}
+\def\xepersiandate{2022/05/22}
\ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space
Persian typesetting in XeLaTeX]
\RequirePackage{fontspec}
@@ -4324,7 +4390,7 @@ Persian typesetting in XeLaTeX]
\newcommand*{\@xepersian@pdfcustomproperties}{%
This is the xepersian package, Version \xepersian@version,
- Released May 20, 2022.
+ Released May 22, 2022.
}
\newcommand\twocolumnstableofcontents{%
@@ -4336,25 +4402,27 @@ Persian typesetting in XeLaTeX]
\end{multicols}}}
\bidi@newrobustcmd*{\XePersian}{\leavevmode$\smash{\hbox{X\lower.5ex
\hbox{\kern-.125em\bidi@reflect@box{E}}Persian}}$}
-\def\figurename{\if@RTL شکل\else Figure\fi}
-\def\tablename{\if@RTL جدول\else Table\fi}
-\def\contentsname{\if@RTL فهرست مطالب\else Contents\fi}
-\def\listfigurename{\if@RTL فهرست تصاویر\else List of Figures\fi}
-\def\listtablename{\if@RTL فهرست جداول\else List of Tables\fi}
-\def\appendixname{\if@RTL پیوست\else Appendix\fi}
-\def\indexname{\if@RTL نمایه\else Index\fi}
-\def\refname{\if@RTL مراجع\else References\fi}
-\def\abstractname{\if@RTL چکیده\else Abstract\fi}
-\def\partname{\if@RTL بخش\else Part\fi}
-\def\datename{\if@RTL تاریخ:\else Date:\fi}
-\def\@@and{\if@RTL و\else and\fi}
-\def\bibname{\if@RTL کتاب‌نامه\else Bibliography\fi}
-\def\chaptername{\if@RTL فصل\else Chapter\fi}
-\def\ccname{\if@RTL رونوشت\else cc\fi}
-\def\enclname{\if@RTL پیوست\else encl\fi}
-\def\pagename{\if@RTL صفحه\else Page\fi}
-\def\headtoname{\if@RTL به\else To\fi}
-\def\proofname{\if@RTL اثبات\else Proof\fi}
+\AtBeginDocument{%
+ \def\figurename{\if@RTL شکل\else Figure\fi}%
+ \def\tablename{\if@RTL جدول\else Table\fi}%
+ \def\contentsname{\if@RTL فهرست مطالب\else Contents\fi}%
+ \def\listfigurename{\if@RTL فهرست تصاویر\else List of Figures\fi}%
+ \def\listtablename{\if@RTL فهرست جداول\else List of Tables\fi}%
+ \def\appendixname{\if@RTL پیوست\else Appendix\fi}%
+ \def\indexname{\if@RTL نمایه\else Index\fi}%
+ \def\refname{\if@RTL مراجع\else References\fi}%
+ \def\abstractname{\if@RTL چکیده\else Abstract\fi}%
+ \def\partname{\if@RTL بخش\else Part\fi}%
+ \def\datename{\if@RTL تاریخ:\else Date:\fi}%
+ \def\@@and{\if@RTL و\else and\fi}%
+ \def\bibname{\if@RTL کتاب‌نامه\else Bibliography\fi}%
+ \def\chaptername{\if@RTL فصل\else Chapter\fi}%
+ \def\ccname{\if@RTL رونوشت\else cc\fi}%
+ \def\enclname{\if@RTL پیوست\else encl\fi}%
+ \def\pagename{\if@RTL صفحه\else Page\fi}%
+ \def\headtoname{\if@RTL به\else To\fi}%
+ \def\proofname{\if@RTL اثبات\else Proof\fi}%
+}
\def\@Abjad#1{%
\ifcase#1\or آ\or ب\or ج\or د%
\or ه\or و\or ز\or ح\or ط%