diff options
Diffstat (limited to 'macros/latex/contrib/texnegar/texnegar-doc.ltx')
-rw-r--r-- | macros/latex/contrib/texnegar/texnegar-doc.ltx | 599 |
1 files changed, 599 insertions, 0 deletions
diff --git a/macros/latex/contrib/texnegar/texnegar-doc.ltx b/macros/latex/contrib/texnegar/texnegar-doc.ltx new file mode 100644 index 0000000000..2bffbf9aa1 --- /dev/null +++ b/macros/latex/contrib/texnegar/texnegar-doc.ltx @@ -0,0 +1,599 @@ +%% +%% This is file `texnegar-doc.tex' +%% +%% Copyright (c) Hossein Movahhedian 2020 +%% +%% It may be distributed and/or modified under the LaTeX Project Public License, +%% 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[colorlinks]{hyperref} +\usepackage{hologo} +\usepackage{xcolor} +\usepackage{iftex} + +\setfontfamily\PeFont[Script=Arabic,Language=Persian]{HM XKayhan} + +\def\TeXNegar{\TeX Negar} + +\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 \TeXNegar{} package\\Kashida justification in LuaTeX and XeTeX\\User Documentation +} + +\author{ + Hossein Movahhedian\thanks + { + E-mail: + \href{mailto:dma8hm1334@gmail.com} + {\textsf{dma8hm1334@gmail.com}} + } +} + +\date{Released \quad 2020-08-29 \quad v0.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}} + +\begin{document} + +\maketitle + +\vskip 50mm +\newbox\hnegar +\setbox\hnegar\hbox{\texttt{Negar:}} +\newbox\vnegar +\setbox\vnegar\vbox{ +\hbox{\leaders\hrule\hskip \the\wd\hnegar} +\hbox to -\the\wd\hnegar{\texttt{Negar:}}\vskip-0.6em +\hbox{\leaders\hrule\hskip \the\wd\hnegar}} +\unvbox\vnegar +\vskip -\the\baselineskip +\hskip 3em +\begin{minipage}{0.65\linewidth} + \textit{\noindent + Negar, in Persian, is the present stem of negaashtan meaning to design; to paint; + to write; and as a noun it means ``sweetheart, idol, beloved, figuratively refering + to a beautiful woman, pattern, painting, and artistic design'' + } +\end{minipage} + +% \vskip 15mm +% \begin{center}\begin{minipage}{0.65\linewidth}\parskip 15pt +% \textit{ +% Negar, in Persian, is the present stem of negaashtan meaning to design; to paint; +% to write; and as a noun it means ``sweetheart, idol, beloved, figuratively refering +% to a beautiful woman, pattern, painting, and artistic design'' +% } +% \end{minipage}\end{center} + +\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. + +One of the packages that implements kashida feature in Persian typesetting is +\hyperref[HM:Brief-outline-of-the-issues]{\indexterm{xepersian}{\textsf{xepersian}} which + unfortunately has many bugs}. In addition kashida feature in +\textsf{xepersian} has problems with some fonts such as \mbox{\textsf{HM Series}} +available at\linebreak[4] +\href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}} +and \mbox{\textsf{X Series 2}} available at\linebreak[4] +\href{http://wiki.irmug.com/index.php/X_Series_2}{\texttt{http://wiki.irmug.com/index.php/X\_Series\_2}}. + +The \indexterm{texnegar}{\TeXNegar} package implements kashida justification in LuaTeX and XeTeX +and fixes known bugs in \textsf{xepersian}. + +The following files in the directory \texttt{texmf-dist/doc/xelatex/texnegar/} 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{texnegar-luatex-glyph.tex} \\ + See pages 26 -- 35 for PDF output. + \item \texttt{texnegar-luatex-leaders-glyph.tex} \\ + See pages 36 -- 45 for PDF output. + \item \texttt{texnegar-luatex-leaders-hrule.tex} \\ + See pages 46 -- 55 for PDF output. + \item \texttt{texnegar-xetex-bidi-glyph.tex} \\ + See pages 56 -- 65 for PDF output. + \item \texttt{texnegar-xetex-bidi-leaders-glyph.tex} \\ + See pages 66 -- 75 for PDF output. + \item \texttt{texnegar-xetex-bidi-leaders-hrule.tex} \\ + See pages 76 -- 85 for PDF output. + \item \texttt{texnegar-xetex-xepersian-glyph.tex} \\ + See pages 86 -- 95 for PDF output. + \item \texttt{texnegar-xetex-xepersian-leaders-glyph.tex} \\ + See pages 96 -- 105 for PDF output. + \item \texttt{texnegar-xetex-xepersian-leaders-hrule.tex} \\ + See pages 106 -- 115 for PDF output. + % \item \texttt{xepersian-XB.tex} \\ + % See pages 14 -- 23 for PDF output. +\end{list} + +Please use the Bitbucket issue tracker: +\href{https://bitbucket.org/dma8hm1334/texnegar/issues}{\textsf{https://bitbucket.org/dma8hm1334/\linebreak[4]texnegar/issues}} +to report a bug, request a feature or if you have a comment. + +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}\label{HM:Brief-outline-of-the-issues} + +Kashida is one of the most important features that must be included in any +Persian typesetter. In \textsf{xepersian} this feature is implemented but with some +problems. See pages 14 -- 23 for pictorial illustrations for various font styles. +These problems along with the fixes in \TeXNegar{} are briefly: + +\newcounter{bean} + \begin{list}{P-\Roman{bean}}{\usecounter{bean}\setlength{\rightmargin}{\leftmargin}} + \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 + \TeXNegar. + \item Activating kashida in \textsf{xepersian} disturbs \indexterm{ligatures}{ligatures}. This is + fixed in \TeXNegar{} 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-texnegar}}. + Currently only 3 ligature glyphs are available in + \TeXNegar, 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 \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 \TeXNegar{} with +a variety of options available to these packages, please see the +\mbox{Figures \ref{fig:xepersian-XB}, \ref{fig:texnegar-hrule}}, and \ref{fig:texnegar-glyph}. + +\begin{figure} + \centerline{\fbox{\includegraphics[scale=1]{doc-ligature-xep.pdf}}} + \caption{Package: \textsf{xeprsian}, Font: \textsf{Noto Sans Arabic}, \textsf{Scale=1.1}, \textsf{Kashida=On}} + \label{fig:ligatures-xep} +\end{figure} + +\begin{figure} + \centerline{\fbox{\includegraphics[scale=1]{doc-ligature-texnegar.pdf}}} + \caption{Package: \textsf{texnegar}, Font: \textsf{Noto Sans Arabic}, \textsf{Scale=1.1}, \textsf{Kashida=glyph}} + \label{fig:ligatures-texnegar} +\end{figure} + +\begin{figure} + \centerline{\fbox{\includegraphics[scale=1]{doc-samples-xep.pdf}}} + \caption{Package: \textsf{xeprsian}, Font: \textsf{XB Kayhan}, \textsf{Scale=4.5}, \textsf{Kashida=On}} + \label{fig:xepersian-XB} +\end{figure} + +\begin{figure} + \centerline{\fbox{\includegraphics[scale=1]{doc-samples-hrule.pdf}}} + \caption{Package: \textsf{texnegar}, Font: \textsf{HM XKayhan}, \textsf{Scale=4.5}, \textsf{Kashida=hrule}} + \label{fig:texnegar-hrule} +\end{figure} + +\begin{figure} + \centerline{\fbox{\includegraphics[scale=1]{doc-samples-glyph.pdf}}} + \caption{Package: \textsf{texnegar}, Font: \textsf{HM XKayhan}, \textsf{Scale=4.5}, \textsf{Kashida=glyph}} + \label{fig:texnegar-glyph} +\end{figure} + +\clearpage + +\section{Package loading and options} + +If you are going to use \TeXNegar{} with \textsf{bidi} or \textsf{xepersian} then +please note that \TeXNegar{} should be loaded before \textsf{xepersian}. + +For example: +\begin{verbatim} +\documentclass{report} +\usepackage[Kashida=leaders+glyph]{texnegar} +\usepackage{xepersian} +\end{verbatim} + +The options available in \TeXNegar{} are: + +\begin{itemize} + \item \indexterm{General Options}{\textbf{General Options}}: \\ +\begin{itemize} + \item \indextermsub{General Options}{\textbf{General Options}}{\texttt{Kashida}}: \\ + which implements kashida feature with three possible values: + \begin{itemize} + \item \indextermsubsub{General Options}{\textbf{General Options}}{\texttt{Kashida}}{glyph}: \\ + which uses the \texttt{kashida} character to stretch the text. \\ + + {\color{magenta} + Imortant notes for \hologo{XeLaTeX} users: \\ + + \begin{itemize} + \item + If you are going to use this option then 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} \\ + + \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 \indextermsubsub{General Options}{\textbf{General Options}}{\texttt{Kashida}}{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 + \href{https://dma8hm1334.bitbucket.io}{\texttt{https://dma8hm1334.bitbucket.io}}. + If you know of any other font that supports this option, please + let me know to add it to the list of corresponding fonts. + + Contrary to the option \texttt{Kashida=glyph}, in this case nothing is saved + in \texttt{.aux} files. + + \item \indextermsubsub{General Options}{\textbf{General Options}}{\texttt{Kashida}}{leaders+hrule}: \\ + which uses horizontal rule (\verb|\hrule|) leaders to stretch the text. + + \item \texttt{Off}: \\ + which disables kashida feature. + + \item \texttt{On}: \\ + which is the same as \texttt{leaders+glyph}. + + \end{itemize} + Also, please note that the value of \texttt{Kashida} is mandatory. + For example \texttt{Kashida=glyph} inserts a stretched \texttt{kashida} glyph + and \linebreak[4] \texttt{Kashida=leaders+glyph} inserts \texttt{kashida} leaders wherever + it is needed. + + \item \indextermsub{General Options}{\textbf{General Options}}{\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 + use the default values. The available default values of penalties which are put into the + horizontal list output are the negative of the followings: + + \begin{longtable}{ll} + \texttt{min}: & \texttt{0} \\ + \texttt{low}: & \texttt{8} \\ + \texttt{medium}: & \texttt{15} \\ + \texttt{high}: & \texttt{25} \\ + \texttt{max}: & \texttt{10000} + \end{longtable} + + \item \indextermsub{General Options}{\textbf{General Options}}{\texttt{ligatures}}: \\ + which fixes the disturbance of ligatures caused by activating kashida + justification in \TeXNegar. 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 \indextermsub{General Options}{\textbf{General Options}}{\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. + +\end{itemize} +\end{itemize} + +\begin{itemize} + \item \indexterm{LuaLaTeX-only Options}{\textbf{\hologo{LuaLaTeX}-only Options}}: \\ +\begin{itemize} + \item \indextermsub{LuaLaTeX-only Options}{\textbf{\hologo{LuaLaTeX}-only Options}}{\texttt{hboxrecursion}}: \\ + which enables kashida justification inside horizontal boxes recursively. + + \item \indextermsub{LuaLaTeX-only Options}{\textbf{\hologo{LuaLaTeX}-only Options}}{\texttt{vboxrecursion}}: \\ + which enables kashida justification inside vertical boxes recursively. + +\end{itemize} +\end{itemize} + +\begin{itemize} + \item \indexterm{XeLaTeX-only Options}{\textbf{\hologo{XeLaTeX}-only Options}}: \\ +\begin{itemize} + \item \indextermsub{XeLaTeX-only Options}{\textbf{\hologo{XeLaTeX}-only Options}}{\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 + may use the default values. The available default values are: + + \begin{longtable}{lll} + \texttt{kayhan} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.131 em plus 0.5 em} \\ + \texttt{kayhannavaar} & \texttt{0.129 em plus 0.5 em} \\ + \texttt{kayhanpook} & \texttt{0.133 em plus 0.5 em} \\ + \texttt{kayhansayeh} & \texttt{0.135 em plus 0.5 em} \\ + \texttt{khoramshahr} & \texttt{0.128 em plus 0.5 em} \\ + \texttt{khorramshahr} & \texttt{0.13 em plus 0.5 em} \\ + \texttt{niloofar} & \texttt{0.132 em plus 0.5 em} \\ + \texttt{paatch} & \texttt{0.127 em plus 0.5 em} \\ + \texttt{riyaz} & \texttt{0.125 em plus 0.5 em} \\ + \texttt{roya} & \texttt{0.142 em plus 0.5 em} \\ + \texttt{shafigh} & \texttt{0.143 em plus 0.5 em} \\ + \texttt{shafighKurd} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{shafighUzbek} & \texttt{0.123 em plus 0.5 em} \\ + \texttt{shiraz} & \texttt{0.122 em plus 0.5 em} \\ + \texttt{sols} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{tabriz} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{titr} & \texttt{0.12 em plus 0.5 em} \\ + \texttt{titre} & \texttt{0.121 em plus 0.5 em} \\ + \texttt{traffic} & \texttt{0.124 em plus 0.5 em} \\ + \texttt{vahid} & \texttt{0.134 em plus 0.5 em} \\ + \texttt{vosta} & \texttt{0.136 em plus 0.5 em} \\ + \texttt{yaghut} & \texttt{0.138 em plus 0.5 em} \\ + \texttt{yagut} & \texttt{0.137 em plus 0.5 em} \\ + \texttt{yas} & \texttt{0.126 em plus 0.5 em} \\ + \texttt{yekan} & \texttt{0.141 em plus 0.5 em} \\ + \texttt{yermook} & \texttt{0.139 em plus 0.5 em} \\ + \texttt{zar} & \texttt{0.116 em plus 0.5 em} \\ + \texttt{ziba} & \texttt{0.119 em plus 0.5 em} \\ + \texttt{default} & \texttt{0.14 em plus 0.5 em} \\ + \texttt{noskip} & \texttt{0 em plus 0.5 em} + \end{longtable} + + For example: \mbox{\texttt{'kashidastretch=titr'}} is equivalent to\linebreak + \mbox{\texttt{'kashidastretch=0.12 em plus 0.5 em'}} + +\end{itemize} +\end{itemize} + +\section{Commands} + +\begin{itemize} + \item \indexterm{General Commands}{\textbf{General Commands}}: \\ + \begin{description} + \item \ccstermsub{General Commands}{\textbf{General Commands}}{KashidaOff}: \\ + disables kashida justification. + + \item \ccstermsub{General Commands}{\textbf{General Commands}}{KashidaOn}: \\ + enables kashida justification. If the option Kashida is activated + stretching the text is the default behavior. + \end{description} + \item \indexterm{XeLaTeX-only Commands}{\textbf{\hologo{XeLaTeX}-only Commands}}: \\ + \begin{description} + \item \ccstermsub{XeLaTeX-only Commands}{\textbf{\hologo{XeLaTeX}-only 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 + specify the value of the penalty and the amount of extra stretching for some + combinations of characters respectively as discussed previously. For example + you may set this option as follows: + + \texttt{\bslash discouragebadlinebreaks[9][0.12 em plus 0.5 em]\{$\dots\,$\}} + \end{description} +\end{itemize} + +\section{Important notes} + +\begin{description} + \item Kashida and ligatures: + + The method used to implement kashida feature breaks a ligature if it is applied to the letters which are joined to form + the ligature. This is fixed in \TeXNegar, but it is not well developed yet. +\end{description} + +\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. + +\def\HistoryItem#1#2{\subsection*{[#1]} \addcontentsline{toc}{subsection}{[#1]} \item #2} + +\section{Change History} + +\begin{itemize} + \let\tmpitemindent\itemindent + \addtolength{\itemindent}{\leftmargin} + \setlength{\parskip}{0pt} + \setlength{\itemsep}{0pt} + + \HistoryItem{2020-08-29~v0.1a}{First standalone version.} + +\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{PRO-IN-LUA} Roberto Ierusalimschy, + \emph{Programming in Lua}, + Lua.org, fourth edition, 2016 + + \bibitem{LUA-REF-MAN} Lua.org, + \emph{Lua 5.3 Reference Manual}, + Lua.org, 2016 + + \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{TLT-LRM} Package \texttt{luatex}: The LuaTeX Team, + \hologo{LuaTeX} Reference Manual, + \href{http://mirrors.ctan.org/systems/doc/luatex/luatex.pdf}{\texttt{CTAN:systems/doc/luatex/luatex.pdf}}, 2020 + + \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}} + + \bibitem{LUATEX-WIKI} Website: LuaTeX Wiki, + \hologo{LuaTeX} Wiki, + \href{http://wiki.luatex.org/index.php/Main\_Page}{\texttt{wiki.luatex.org}} + +\end{thebibliography} + +\newpage + +\printindex +\addcontentsline{toc}{section}{Index} + +\includepdf[pages={1-},scale=0.75]{xepersian-XB.pdf} + +\includepdf[pages={1-},scale=0.75]{texnegar-luatex-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-luatex-leaders-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-luatex-leaders-hrule.pdf} + +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-bidi-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-bidi-leaders-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-bidi-leaders-hrule.pdf} + +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-xepersian-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-xepersian-leaders-glyph.pdf} +\includepdf[pages={1-},scale=0.75]{texnegar-xetex-xepersian-leaders-hrule.pdf} + +\end{document} +%% +%% +%% End of file `texnegar-doc.ltx'. |