From 4bf6278f2e9376c5e7a3dd7e7dcb41a09c0a1214 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 5 Sep 2020 03:01:16 +0000 Subject: CTAN sync 202009050301 --- .../xetex/latex/xepersian-hm/xepersian-hm-doc.ltx | 464 +++++++++++++++++---- 1 file changed, 377 insertions(+), 87 deletions(-) (limited to 'macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx') diff --git a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx index 9eaae03396..ca8050dcc3 100644 --- a/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx +++ b/macros/xetex/latex/xepersian-hm/xepersian-hm-doc.ltx @@ -7,12 +7,48 @@ %% version 1.3c or higher (your choice). The latest version of %% this license is at: http://www.latex-project.org/lppl.txt %% + \documentclass{ltxdoc} +\usepackage{fontspec} \usepackage{graphicx} +\usepackage{pdfpages} \usepackage{longtable} -\usepackage{hypdoc} -\usepackage{xepersian-hm} -\settextfont[Scale=1]{HM XKayhan} +\usepackage[colorlinks]{hyperref} +\usepackage{hologo} +\usepackage{xcolor} +\usepackage{iftex} +\usepackage{enumitem} + +\setfontfamily\PeFont[Script=Arabic,Language=Persian]{HM XKayhan} + +\def\XePersianHM{XePersianHM} + +\usepackage{multicol,makeidx} +\makeindex %%% + +% Partly adapted from the code provided by Maroš Beťko in: +% https://tex.stackexchange.com/questions/404820/create-2-column-index-in-1-column-document-on-the-same-page +% Redefine theindex enviroment so it won't place index on new page +% This also makes the index 1 columns, which I don't want +\makeatletter +\renewenvironment{theindex} + {\section*{\indexname}\begin{multicols}{2}% + \@mkboth{\MakeUppercase\indexname}% + {\MakeUppercase\indexname}% + \thispagestyle{plain}\parindent\z@ + \parskip\z@ \@plus .3\p@\relax + \columnseprule \z@ + \columnsep 35\p@ + \let\item\@idxitem} + {\end{multicols}} +\makeatother + +\ifluatex + \def\RtoL#1{\PeFont\pagedir TRT \bodydir TRT \pardir TRT \textdir TRT #1} +\fi +\ifxetex + \def\RtoL#1{\PeFont\TeXXeTstate=1 \beginR #1 \endR} +\fi \title{ The \textsf{xepersian-hm} package\\Fixing kashida in xepersian\\User Documentation @@ -27,29 +63,74 @@ } } -\date{Released \quad 2020-08-05 \quad v1.0d} +\date{Released \quad 2020-09-04 \quad v1.1a} + +\definecolor{HMhighlightBlueI}{rgb}{0,0,1} +\definecolor{HMhighlightbgYellowII}{rgb}{1,1,1} +\definecolor{HMhighlightbgPinkI}{rgb}{1,1,1} +\definecolor{HMhighlightbgPinkII}{rgb}{1,1,1} +\definecolor{HMhighlightbgPinkIII}{rgb}{1,1,1} + +\definecolor{HMcitecolor}{rgb}{1,0,1} + +\definecolor{HMnotecolor}{rgb}{0.6,0,0} + +\def\indexterm#1#2{{\color{HMhighlightBlueI} #2}\index{#1@#2}} +\def\indextermsub#1#2#3{{\color{HMhighlightBlueI} #3}\index{#1@#2!#3}} +\def\indextermsubsub#1#2#3#4{{\color{HMhighlightBlueI} #4}\index{#1@#2!#3!#4}} +\def\ccsterm#1{{\color{HMhighlightBlueI}\tt \textbackslash #1}\index{#1@\tt \textbackslash #1}} +\def\ccstermsub#1#2#3{{\color{HMhighlightBlueI}\tt \textbackslash #3}\index{#1@#2!\tt \textbackslash #3}} -\let\tmpthepage\thepage -\renewcommand{\thepage}{\lr{\Large\textbf\tmpthepage}} \begin{document} -\begin{latin} \maketitle -Kashida feature in \textsf{xepersian} has problems with some fonts such as \mbox{\textsf{HM Series}} -available at -\href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} -and \mbox{\textsf{X Series 2}} available at -\href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. -The \textsf{xepersian-hm} package fixes these problems. +\vskip 50mm +\newbox\hnegar +\setbox\hnegar\hbox{\texttt{HM:}} +\newbox\vnegar +\setbox\vnegar\vbox{ +\hbox{\leaders\hrule\hskip \the\wd\hnegar} +\hbox to -\the\wd\hnegar{\texttt{HM:}}\vskip-0.6em +\hbox{\leaders\hrule\hskip \the\wd\hnegar}} +\unvbox\vnegar +\vskip -\the\baselineskip +\hskip 3em +\begin{minipage}{0.65\linewidth} + \textit{\noindent + HM is an initialism for ``Hossein Movahhedian'' -- the author's name and family. + } +\end{minipage} + +\newpage + +\tableofcontents + +\newpage + +\section{Introduction} + +\indexterm{Kashida}{Kashida} is used in Persian and Arabic typography to justify the text regardless +of the number of the words on the line by elongating characters at certain +points instead of expanding spaces between words or individual letters. + +Kashida feature in \hyperref[HM:Brief-outline-of-the-issues]{\indexterm{xepersian}{\textsf{xepersian}} has problems with some fonts such as \mbox{\textsf{HM Series}}} +% available at +% \href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} +% and \mbox{\textsf{X Series 2}} available at +% \href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. +% The \hyperref[HM:Brief-outline-of-the-issues-2]{\indexterm{xepersian-hm}{\textsf{xepersian-hm}}} package fixes these problems. The following files in the directory \texttt{texmf-dist/doc/xelatex/xepersian-hm/} can be used as simple examples of the usage of the package: \newcounter{beanx} \begin{list}{\arabic{beanx}.}{\usecounter{beanx}\setlength{\rightmargin}{\leftmargin}} - \item \texttt{kashida-glyph-example.tex} - \item \texttt{kashida-leaders-glyph-example.tex} - \item \texttt{kashida-leaders-hrule-example.tex} + \item \texttt{xepersian-hm-glyph.tex} \\ + See pages 26 -- 35 for PDF output. + \item \texttt{xepersian-hm-leaders-glyph.tex} \\ + See pages 36 -- 45 for PDF output. + \item \texttt{xepersian-hm-leaders-hrule.tex} \\ + See pages 46 -- 55 for PDF output. \end{list} Please use the Bitbucket issue tracker: @@ -60,48 +141,63 @@ I will do my best to fix all the bugs you report, but, unfortunately, time is a big hurdle to overcome; so, my apologies in advance for those which I cannot make time to fix. -\section{Brief outline of the issues} +\section{Brief outline of the issues}\label{HM:Brief-outline-of-the-issues} Kashida is one of the most important features that must be included in any -Persian typesetter. In xepersian this feature is implemented but with some -problems. These problems along with the fixes in \textsf{xepersian-hm} are briefly: +Persian typesetter. In \textsf{xepersian} this feature is implemented but with some +problems. See pages 16 -- 25 for pictorial illustrations for various font styles. +These problems along with the fixes in \textsf{xepersian-hm} are briefly: \newcounter{bean} \begin{list}{P-\Roman{bean}}{\usecounter{bean}\setlength{\rightmargin}{\leftmargin}} - \item In \textsf{xepersian} overlapping of glyphs occurs in letter - combinations such as "\rl{‏ب‍ + ‍ی‏}", "\rl{‏ت‍ + ‍ی‏}", and - "\rl{‏پ‍ + ‍ی‏}" because the character - \textsf{U+FEF0 (ARABIC LETTER FARSI YEH FINAL FORM)} is replaced with - another character. This is fixed by modifying the fixed part of the - glue inserted between the consecutive characters. Furthermore, both, - the fixed and the stretchable parts of the glue can be changed by the - user. - \item In letter combinations such as "\rl{‏ه‍ + ‍ی‏}", in \textsf{xepersian}, - the character \textsf{U+FEEB (ARABIC LETTER HEH INITIAL FORM)} is - replaced with \textsf{U+06BE (ARABIC LETTER HEH DOACHASHEMEE)}. This - is fixed by inserting the character \textsf{U+200E} before the - combination "\textsf{U+200D + hrule + U+200D}" which is used as - stretching item. + \item In \textsf{xepersian} \indexterm{overlapping of glyphs}{overlapping of glyphs} occurs in letter + combinations such as "{\RtoL{ﺑ + ﻰ}}", "{\RtoL{ﺗ + ﻰ}}", and + "{\RtoL{ﭘ + ﻰ}}" because the character + \textsf{U+FEF0 (ARABIC LETTER FARSI YEH FINAL FORM)} is replaced with + another character. This is fixed by modifying the fixed part of the + glue inserted between the consecutive characters. Furthermore, both, + the fixed and the stretchable parts of the glue can be changed by the + user. + \item In \indexterm{letter combinations}{letter combinations} such as "{\RtoL{ﻫ + ﻰ}}", in \textsf{xepersian}, + the character \textsf{U+FEEB (ARABIC LETTER HEH INITIAL FORM)} is + replaced with \textsf{U+06BE (ARABIC LETTER HEH DOACHASHEMEE)}. This + is fixed by inserting the character \textsf{U+200E} before the + combination "\textsf{U+200D + hrule + U+200D}" which is used as + stretching item. + + {\color{gray} + Note: \indexterm{Vafa Khalighi}{Vafa Khalighi} has fixed this problem in + \href{https://tug.org/svn/texlive/trunk/Master/texmf-dist/tex/xelatex/xepersian/kashida-xepersian.def?revision=55165&view=co}% + {\texttt{xepersian-23.0}}, + by copying the corresponding code from + \href{http://www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/xelatex/xepersian-hm/kashida-xepersian-hm.def?revision=55123&view=co}% + {\texttt{xepersian-hm-0.5e}}. + Consequently, the + option \texttt{KashidaXBFix} along with the commands \linebreak[4] + \texttt{\textbackslash KashidaXBFixOn} and + \texttt{\textbackslash KashidaXBFixOff} has been removed in \linebreak[4] + \texttt{xepersian-23.0} and the later versions.} + \item In \textsf{xepersian} when outline or shadow fonts are used, the gaps - filled by horizontal rule appears as a solid box. This is fixed by - using the \textsf{kashida} glyph instead of the horizontal rule in - \textsf{xepersian-hm}. - \item Activating kashida in \textsf{xepersian} disturbs ligatures. This is - fixed in \textsf{xepersian-hm} by escaping the components of the - ligature which form the glyph, i.e. by inserting an escape character - before Persian letters joined to form the ligature without any empty - characters, blank characters, invisible characters and whitespace - characters which form the glyph. See - \mbox{Figures \ref{fig:ligatures-xep} and \ref{fig:ligatures-xephm}}. - Currently only 3 ligature glyphs are available in - \textsf{xepersian-hm}, but you can add as many as you want or let - me know the ligature glyphs that you need, so that I can add them in - the next release of the package. Of course, this is not the best - solution, but it works. + filled by horizontal rule appears as a solid box. This is fixed by + using the \textsf{kashida} glyph instead of the horizontal rule in + \textsf{xepersian-hm}. + \item Activating kashida in \textsf{xepersian} disturbs \indexterm{ligatures}{ligatures}. This is + fixed in \textsf{xepersian-hm} by escaping the components of the + ligature which form the glyph, i.e. by inserting an escape character + before Persian letters joined to form the ligature without any empty + characters, blank characters, invisible characters and whitespace + characters which form the glyph. See + \mbox{Figures \ref{fig:ligatures-xep} and \ref{fig:ligatures-xephm}}. + Currently only 3 ligature glyphs are available in + \textsf{xepersian-hm}, but you can add as many as you want or let + me know the ligature glyphs that you need, so that I can add them in + the next release of the package. Of course, this is not the best + solution, but it works. \item If italic or oblique style of some fonts such as \textsf{X Series 2} - is used in \textsf{xepersian}, an extra gap is left between the - stretched characters. This is fixed in \textsf{HM Series} fonts. + is used in \textsf{xepersian}, an extra \indexterm{gap}{gap} is left between the + stretched characters. This is fixed in \textsf{HM Series} fonts. \end{list} For comparing the outputs of \textsf{xepersian} and \textsf{xepersian-hm} with @@ -115,7 +211,7 @@ a variety of options available to these packages, please see the \end{figure} \begin{figure} - \centerline{\fbox{\includegraphics[scale=1]{doc-ligature-xephm.pdf}}} + \centerline{\fbox{\includegraphics[scale=1]{doc-ligature-xepersian-hm.pdf}}} \caption{Package: \textsf{xeprsian-hm}, Font: \textsf{Noto Sans Arabic}, \textsf{Scale=1.1}, \textsf{Kashida=glyph}} \label{fig:ligatures-xephm} \end{figure} @@ -152,28 +248,40 @@ so you may only pass options to the package using the command \end{verbatim} The options available in \textsf{xepersian-hm} are: + \begin{itemize} \item \texttt{Kashida}: \\ which implements kashida feature with three possible values: \begin{itemize} \item \texttt{glyph}: \\ - which uses the \texttt{kashida} character to stretch the text. + which uses the \texttt{kashida} character to stretch the text. \\ + With this option you should run \texttt{xelatex} thrice. For example: \\ - \texttt{rm -f kashida-example.aux \\ - xelatex kashida-example.tex \\ - xelatex kashida-example.tex \\ - xelatex kashida-example.tex} + {\color{magenta} + Imortant notes for \hologo{XeLaTeX} users: \\ - Please note that this feature is still experimental and is not regarded as stable. - If you are going to use this option be ready for unpredictable results. + \begin{itemize} + \item + If you are going to use this option then you should run \texttt{xelatex} thrice. For example: \\ - Also note that with this option, for each gap which is to be filled with kashida, - some commands, current position on the page, and references are saved in the - \texttt{\bslash jobname.aux} file and if the text is long, the file size may get - too large. + \texttt{rm -f kashida-example.aux \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex \\ + xelatex kashida-example.tex} \\ - \item \texttt{leaders+glyph}: \\ + \item + This feature is still experimental in \hologo{XeLaTeX} and is not regarded as stable, + so, if you are going to use this option be ready for unpredictable results. + + \item + With this option, for each gap which is to be filled with kashida, + some commands, current position on the page, and references are saved in the + \texttt{\bslash jobname.aux} file and if the text is long, the file size may get + too large. + \end{itemize}} + + \item \indexterm{leaders+glyph}{\texttt{leaders+glyph}}: \\ which uses kashida glyph leaders to stretch the text. Please note that the option `Kashida=leaders+glyph' is currently only supported by \mbox{\textsf{HM Series}} fonts available at @@ -184,7 +292,7 @@ The options available in \textsf{xepersian-hm} are: Contrary to the option \texttt{Kashida=glyph}, in this case nothing is saved in \texttt{.aux} files. - \item \texttt{leaders+hrule}: \\ + \item \indexterm{leaders+hrule}{\texttt{leaders+hrule}}: \\ which uses horizontal rule (\verb|\hrule|) leaders to stretch the text. \item \texttt{Off}: \\ @@ -199,7 +307,7 @@ The options available in \textsf{xepersian-hm} are: and \linebreak[4] \texttt{Kashida=leaders+glyph} inserts \texttt{kashida} leaders wherever it is needed. - \item \texttt{linebreakpenalty}: \\ + \item \indexterm{linebreakpenalty}{\texttt{linebreakpenalty}}: \\ which specifies the amount of penalty for preventing bad line-breaking. You may strictly specify the value of this option. For example you may either set % \linebreak[4] \texttt{'linebreakpenalty=8'} or @@ -214,7 +322,35 @@ The options available in \textsf{xepersian-hm} are: \texttt{max}: & \texttt{10000} \end{longtable} - \item \texttt{kashidastretch}: \\ + \item \indexterm{ligatures}{\texttt{ligatures}}: \\ + which fixes the disturbance of ligatures caused by activation of kashida in + \textsf{xepersian}. You may strictly specify the value of this option. + For example \texttt{'ligatures=dlig'} or you may use the default value. + The available values are: + + \begin{longtable}{ll} + \texttt{aalt}: & Access All Alternatives \\ + \texttt{ccmp}: & Glyph Composition/Decomposition \\ + \texttt{dlig}: & Discretionary Ligatures \\ + \texttt{fina}: & Final (Terminal) Forms \\ + \texttt{init}: & Initial Forms \\ + \texttt{locl}: & Localized Forms \\ + \texttt{medi}: & Medial Forms \\ + \texttt{rlig}: & Required Ligatures \\ + \texttt{default}: & All the above features + \end{longtable} + Please note that this feature is still experimental and is not regarded as stable. + + \item \indexterm{color}{\texttt{color}}: \\ + which colorize the stretched parts of the text for checking the quality of kashida + justification. Color must be one of a named color declared in \textsf{xcolor} package. + For example: \texttt{color=blue} or \texttt{color=Blue}. + + Default color name is: \texttt{magenta} + + Please note that activating this option increases system resource and disk usage. + + \item \indexterm{kashidastretch}{\texttt{kashidastretch}}: \\ which specifies the amount of extra stretching for some combinations of characters. You may strictly specify the value of this option. For example \texttt{'kashidastretch=0.14 em plus 0.5 em'} or you @@ -257,31 +393,19 @@ The options available in \textsf{xepersian-hm} are: For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} - \item \texttt{ligatures}: \\ - which fixes the disturbance of ligatures caused by activation of kashida in - \textsf{xepersian}. You may strictly specify the value of this option. - For example \texttt{'ligatures=dlig'} or you may use the default value. - The available values are: - - \begin{longtable}{ll} - \texttt{aalt}: & Access All Alternatives \\ - \texttt{ccmp}: & Glyph Composition/Decomposition \\ - \texttt{dlig}: & Discretionary Ligatures \\ - \texttt{fina}: & Final (Terminal) Forms \\ - \texttt{init}: & Initial Forms \\ - \texttt{locl}: & Localized Forms \\ - \texttt{medi}: & Medial Forms \\ - \texttt{rlig}: & Required Ligatures \\ - \texttt{default}: & All the above features - \end{longtable} - Please note that this feature is still experimental and is not regarded as stable. \end{itemize} \section{Commands} \begin{description} - \item \verb|\discouragebadlinebreaks[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|: + \item \ccstermsub{Commands}{\textbf{Commands}}{KashidaOff}: \\ + disables kashida justification. + + \item \ccstermsub{Commands}{\textbf{Commands}}{KashidaOn}: \\ + enables kashida justification. If the option Kashida is activated + stretching the text is the default behavior. + \item \ccstermsub{Commands}{\textbf{Commands}}{discouragebadlinebreaks}{\color{HMhighlightBlueI}\verb|[linebreakpenalty][kashidastretch]{|{\it text}\verb|}|}: \\ {\it text} may not contain paragraph breaks. This command puts a penalty after each Persian word. The optional arguments \texttt{linebreakpenalty} and \texttt{kashidastretch} locally @@ -301,8 +425,174 @@ The options available in \textsf{xepersian-hm} are: the ligature. This is fixed in \textsf{xepersian-hm}, but it is not well developed yet. \end{description} -\end{latin} +\section{Acknowledgments} +In the first place I have to thank Donald Knuth for inventing TeX. +During the development of this package I refered to Stack Exchange network of +question-and-answer (Q\&A) websites to solve problems for which I am grateful. +I also would like to thank the developer teams of TeX's friends especially LaTeX, LuaTeX and XeTeX teams. + +\section{Change History} + +\def\SubSecItem#1{\subsubsection*{\hskip 2em\large #1}\addcontentsline{toc}{subsection}{[#1]}} +\newenvironment{Itemize}{\begin{itemize}[leftmargin=4em]}{\end{itemize}} + +\SubSecItem{2020-03-17~v0.1} +\begin{Itemize} + \item First standalone version. +\end{Itemize} + +\SubSecItem{2020-03-19~v0.2} +\begin{Itemize} + \item Some minor changes. +\end{Itemize} + +\SubSecItem{2020-03-23~v0.3} +\begin{Itemize} + \item Added documentation +\end{Itemize} + +\SubSecItem{2020-03-26~v0.4} +\begin{Itemize} + \item Added DTX and INS files +\end{Itemize} + +\SubSecItem{2020-04-20~v0.5a} +\begin{Itemize} + \item Added Kashida=glyph to the package options + \item Added \bslash discouragebadlinebreaks to prevent bad line breaks in a text (less than a paragragraph). +\end{Itemize} + +\SubSecItem{2020-04-26~v0.5b} +\begin{Itemize} + \item If the kashida glyph is used to stretch the text, then the main font is checked for availability of the kashida character. + \item Two optional arguments added in \bslash discouragebadlinebreaks macro. +\end{Itemize} + +\SubSecItem{2020-05-01~v0.5c} +\begin{Itemize} + \item The documentation is divided into two parts: User documentation and Source code documentation. + \item The example file is divided into two parts: An example for the option Kashida=glyph and the other one for Kashida=hrule. +\end{Itemize} + +\SubSecItem{2020-05-07~v0.5d} +\begin{Itemize} + \item Added a new section to the user documentation titled: Brief outline of the issues. + \item An error is trigerred if the value of Kashida option is not specified. +\end{Itemize} + +\SubSecItem{2020-05-12~v0.5e} +\begin{Itemize} + \item Disturbance of ligatures caused by activation of kashida is fixed. +\end{Itemize} + +\SubSecItem{2020-05-20~v0.5f} +\begin{Itemize} + \item Reduced the length of items created by zref package in \bslash jobname.aux file. + \item If the option Kashida=glyph is used, a warning message is added to the log file + which emphasizes that the option is experimental. +\end{Itemize} + +\SubSecItem{2020-05-31~v1.0a} +\begin{Itemize} + \item The option 'Kashida=hrule' is changed to 'Kashida=leaders+hrule'. + \item The option 'Kashida=leaders+glyph' is added. Since with this option kashida glyph + leaders are used to stretch the text, nothing is saved in .aux files. +\end{Itemize} + +\SubSecItem{2020-06-04~v1.0b} +\begin{Itemize} + \item Added two options Kashida=On and Kashida=Off. +\end{Itemize} + +\SubSecItem{2020-07-20~v1.0c} +\begin{Itemize} + \item Fixed the problem with the option ligatures=default. +\end{Itemize} + +\SubSecItem{2020-08-05~v1.0d} +\begin{Itemize} + \item In the new version of LaTeX3, the name of some of the XeTeX control sequences has changed. + These changes are applied in this version of xepersion-hm. +\end{Itemize} + +\SubSecItem{2020-09-04~v1.1a} +\begin{Itemize} + \item Added the color option. + \item Added a few sections to the User Documentation. + \item Split the file containing kashida code. +\end{Itemize} + +\section*{To Do's} + +To do + +\renewcommand{\refname}{References: \\ {\normalsize\it Actually, this is not a ``References'' nor a ``Literature'', but the most important + although not a complete list of ``Resources Used'' to develop this package.}} + +\begin{thebibliography}{9} + + \bibitem{DEK-TTB} Donald E. Knuth, + \emph{The \hologo{TeX} book}, + Addison-Wesley, 1986. + + \bibitem{VE-TBT} Victor Eijkhout, + \emph{\hologo{TeX} BY TOPIC}, + Addison-Wesley, 2013. + + \bibitem{PWA-KAH-KB-TFI} Paul W. Abrahams, Kathryn A. Hargreaves, and Karl Berry, + \emph{\hologo{TeX} for the Impatient}, + Addison-Wesley, 2013. + + \bibitem{LL-LADPS} Leslie Lamport, + \emph{\hologo{LaTeX}, A document preparation System}, + Addison-Wesley, 1986. + + \bibitem{FM-MG-JB-DC-CR-TLC} Frank Mittelbach and Michel Goossens with Johannes Braams, David Carlisle, and Chris Rowley, + \emph{The \hologo{LaTeX} Companion}, + Addison-Wesley, second edition, 2004. + + \bibitem{TLT-TLS} Package \texttt{latex}: The LaTeX Team, + \emph{The \hologo{LaTeX2e} Sources}, + \href{http://mirrors.ctan.org/macros/latex/base/source2e.pdf}{\texttt{CTAN:macros/latex/base/source2e.pdf}}, 2020-02-02 + + \bibitem{TL3T-TLS} Package \texttt{l3kernel}: The LaTeX3 Team, + \emph{The \hologo{LaTeX}3 Sources}, + \href{http://mirrors.ctan.org/macros/latex/contrib/l3kernel/source3.pdf}{\texttt{CTAN:macros/latex/contrib/l3kernel/source3.pdf}}, 2020-07-17 + + \bibitem{TL3T-TLI} Package \texttt{l3kernel}: The LaTeX3 Team, + \emph{The \hologo{LaTeX}3 Interfaces}, + \href{http://mirrors.ctan.org/macros/latex/contrib/l3kernel/interface3.pdf}{\texttt{CTAN:macros/latex/contrib/l3kernel/interface3.pdf}}, 2020-07-17 + + \bibitem{WR-KH-KB-XRG} Package \texttt{xetexref}: Will Robertson, Khaled Hosny, and Karl Berry, + \hologo{XeTeX} reference guide, + \href{http://mirrors.ctan.org/info/xetexref/xetex-reference.pdf}{\texttt{CTAN:info/xetexref/xetex-reference.pdf}}, 2019-12-09 + + \bibitem{JQ-AX} Package \texttt{xetex}: Jonathan Kew, + About \hologo{XeTeX}, + \href{http://mirrors.ctan.org/systems/doc/xetex/XeTeX-notes.pdf}{\texttt{CTAN:systems/doc/xetex/XeTeX-notes.pdf}}, 2005-10-17 + + \bibitem{NG-TXC} Package \texttt{xetex}: Michel Goossens, + The \hologo{XeTeX} Companion, + \href{http://xml.web.cern.ch/XML/lgc2/xetexmain.pdf}{\texttt{http://xml.web.cern.ch/XML/lgc2/xetexmain.pdf}}, 2009-08-19 + + \bibitem{TEX-STACKEXCHANGE} Website: Stack Exchange: Hot Questions, + \hologo{TeX}-\hologo{LaTeX} Q\&A for users of TeX, LaTeX, ConTeXt, and related typesetting systems, + \href{https://tex.stackexchange.com}{\texttt{tex.stackexchange.com}} + +\end{thebibliography} + +\newpage + +\printindex +\addcontentsline{toc}{section}{Index} + +\includepdf[pages={1-},scale=0.75]{xepersian-XB.pdf} + +\includepdf[pages={1-},scale=0.75]{xepersian-hm-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{xepersian-hm-leaders-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{xepersian-hm-leaders-hrule.pdf} + \end{document} -%% +%% %% %% End of file `xepersian-hm-doc.ltx'. -- cgit v1.2.3