diff options
Diffstat (limited to 'macros')
21 files changed, 638 insertions, 400 deletions
diff --git a/macros/context/contrib/context-filter/VERSION b/macros/context/contrib/context-filter/VERSION index d937151b16..2589993989 100644 --- a/macros/context/contrib/context-filter/VERSION +++ b/macros/context/contrib/context-filter/VERSION @@ -1 +1 @@ -2021.10.15 +2022.02.17 diff --git a/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkxl b/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkxl index ccb464dc78..6d4239bdf6 100644 --- a/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkxl +++ b/macros/context/contrib/context-filter/tex/context/third/filter/t-filter.mkxl @@ -1,6 +1,6 @@ %D \module %D [ file=t-filter, -%D version=2021.10.15, +%D version=2022.02.17, %D title=\CONTEXT\ User Module, %D subtitle=Filter, %D author=Aditya Mahajan, @@ -9,7 +9,7 @@ %D email=adityam <at> ieee <dot> org, %D license=Simplified BSD License] -\writestatus{loading}{Filter (ver: 2021.10.15)} +\writestatus{loading}{Filter (ver: 2022.02.17)} \startmodule [filter] \usemodule [module-catcodes] @@ -162,9 +162,13 @@ \externalfilter@set_directory \edef\externalfilter@input_file{\externalfilter@any_filename{#3}} + \startluacode + context.setevalue("externalfilter@hash", + md5.hex("#3\externalfilterparameter{\c!cache\c!option}"):sub(1,8)) + \stopluacode \splitfilename{#3} %NOTE: \edef doesn not work because \splitoffbase is not expandable - \def\externalfilter@base_file {\splitoffbase-\splitofftype} + \def\externalfilter@base_file {\splitoffbase-\splitofftype-\externalfilter@hash} % The output is always in the directory specified by % \c!directory; even if the input is from some other directory diff --git a/macros/context/contrib/context-vim/VERSION b/macros/context/contrib/context-vim/VERSION index 207ae307b6..2589993989 100644 --- a/macros/context/contrib/context-vim/VERSION +++ b/macros/context/contrib/context-vim/VERSION @@ -1 +1 @@ -2021.12.13 +2022.02.17 diff --git a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex index 3c30b9cfd6..930155cc9e 100644 --- a/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex +++ b/macros/context/contrib/context-vim/tex/context/third/vim/t-vim.tex @@ -1,6 +1,6 @@ %D \module %D [ file=t-vim, -%D version=2021.09.05, +%D version=2022.02.17, %D title=\CONTEXT\ User Module, %D subtitle=Vim syntax highlighting, %D author=Aditya Mahajan, @@ -9,7 +9,7 @@ %D email=adityam <at> ieee <dot> org, %D license=Simplified BSD License] -\writestatus{loading}{Vim syntax highlighting (ver: 2021.09.05)} +\writestatus{loading}{Vim syntax highlighting (ver: 2022.02.17)} \startmodule [vim] \usemodule [filter] % loads module catcodes @@ -123,6 +123,15 @@ % \c!highlightcolor=lightgray, \c!filtercommand=\vimtyping@filter_command, % \c!continue=yes, + % All options that effect the call to vim. When syntax highlighting + % external files, changing any one of these options will result in a new + % call to vim and the result will be saved in a different file + \c!cache\c!option={\externalfilterparameter\c!start + \externalfilterparameter\c!stop + \externalfilterparameter\c!syntax + \externalfilterparameter\c!strip + \externalfilterparameter\c!escape + \externalfilterparameter\c!highlight}, % \c!read=\v!yes, % \c!readcommand=\syntaxhighlighting@read_command, \c!output=\externalfilterbasefile.vimout, diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf Binary files differindex e5c9cd1156..09ebf25b67 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index b513bc9a73..9e58664e9d 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -1,3 +1,5 @@ +% !TeX TXS-program:compile = txs:///pythonpdfse + \documentclass{article} \usepackage[french]{babel} \usepackage[utf8]{inputenc} @@ -135,7 +137,7 @@ {\ttfamily c pierquet -- at -- outlook . fr} \end{tabular} } -\date{Version 1.0.5 -- 16 Février 2022} +\date{Version 1.0.6 -- 18 Février 2022} \newcommand\Cle[1]{{\bfseries\sffamily\textlangle #1\textrangle}} @@ -149,8 +151,41 @@ \medskip -\noindent Quelques commandes (dans des environnements \TikZ) pour faciliter l'utilisation - de \LaTeX{} pour les enseignants de mathématiques en lycée.\\ +\noindent Quelques commandes pour faciliter l'utilisation de \LaTeX{} pour les enseignants de mathématiques en lycée. + +Quelques commandes pour des courbes \textit{lisses} avec gestion des extrema et des dérivées. + +Quelques commandes pour simuler une fenêtre de logiciel de calcul formel. + +Quelques environnements (\textsf{tcbox}) pour présenter du code \textsf{python} ou \textsf{pseudocode}. + +Quelques environnements (\textsf{tcbox}) pour présenter des commandes dans un terminal (\textsf{win} ou \textsf{mac} ou \textsf{linux}). + + +\vfill + +\hrule + +\medskip + +\begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]}} + {\huge \LaTeX} & & & & &\\ + & {\huge \pdfLaTeX} & & & & \\ + & & {\huge \LuaLaTeX} & & & \\ + & & & {\huge \TikZ} & & \\ + & & & & {\huge \TeXLive} & \\ + & & & & & {\huge \MiKTeX} \\ +\end{tblr} + +\medskip + +\hrule + + + +\vfill + +~ \newpage @@ -181,6 +216,16 @@ Il se charge, dans le préambule, par \ctex{\textbackslash usepackage\{ProfLycee \medskip +Par défaut, \ctex{minted} est chargé est donc la compilation nécessite d'utiliser \textsf{shell-escape}. Cependant, si vous ne souhaitez pas utiliser les commandes nécessitant \ctex{minted} vous pouvez charger le package \ctex{ProfLycee} avec l'option \Cle{nominted}. + +\begin{minted}[frame=lines,framesep=2mm,bgcolor=LightGray,fontsize=\footnotesize,tabsize=2]{tex} +... +\usepackage[nominted]{ProfLycee} +... +\end{minted} + +\subsection{Le système de \og clés/options \fg} + L'idée est de conserver l'idée de \Cle{Clés} qui sont : % \begin{itemize} @@ -188,9 +233,11 @@ L'idée est de conserver l'idée de \Cle{Clés} qui sont : \item définies (en majorité) par défaut pour chaque commande. \end{itemize} +Pour certaines commandes, le système de \Cle{Clés} pose quelques soucis, de ce fait le fonctionnement est plus \textit{basique} avec un système d'\textsf{arguments} optionnels (entre \textsf{[\ldots]}) ou mandataires (entre \textsf{\{\ldots\}}). + \medskip -J'ai utilisé allègrement les \ctex{packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} ! +J'ai utilisé également les \ctex{packages} du phénoménal C. Tellechea, je vous conseille d'aller jeter un œil sur ce qu'il est possible de faire en \LaTeX{} avec \ctex{listofitems}, \ctex{randomlist}, \ctex{simplekv} et \ctex{xstring} ! \subsection{Outils disponibles} @@ -199,49 +246,64 @@ Le \ctex{package}, qui s'enrichira peut-être au fil du temps permet -- pour le \begin{itemize} \item tracer des splines cubiques avec gestion \textit{assez fine} des tangentes ; \item tracer des tangentes (ou portions) de tangentes sur la même base que pour les splines ; - \item simuler une fenêtre de logiciel formel (\textit{à la manière de} \textsf{XCas}). + \item simuler une fenêtre de logiciel formel (\textit{à la manière de} \textsf{XCas}) ; + \item mettre en forme du code \textsf{python} ou \textsf{pseudocode} ; + \item simuler une fenêtre de terminal (win/unix/osx). \end{itemize} \medskip -À noter que le commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles ne sont pas autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} ! +À noter que certaines commandes disponibles sont liées à un environnement \ctex{tikzpicture}, elles ne sont pas autonomes mais permettent de conserver -- en parallèle -- toute commande liée à \TikZ{} ! -\bigskip +\subsection{Compilateur(s)} -\begin{center} - \begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5] - %axes et grilles - \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); - \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); - \draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ; - \draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ; - \foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;} - \foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;} - \draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ; - \draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ; - %splines - \def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10} - \splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red] - %tangentes - \tangentetikz[liste=\LISTE,xl=0,xr=1,couleur=ForestGreen,style=dashed] - \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=2] - \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=3] - \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=4] - \tangentetikz[liste=\LISTE,xl=0.5,xr=0,couleur=ForestGreen,style=dashed,point=5] - - \end{tikzpicture} -\end{center} +Le package\ctex{ProfLycee} est compatible avec les compilateurs classiques : \textsf{latex}, \textsf{pdflatex} ou encore \textsf{lualatex}. -\medskip +\smallskip -\begin{center} - \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] - \paramCF[titre=true] - \ligneCF{\textsf{(x+1)\CFchap2}}{$\mathsf{x^2+2x+1}$} - \ligneCF{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$} - \ligneCF{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$} - \end{tikzpicture} -\end{center} +En ce qui concerne les codes \textsf{python} et/ou \textsf{pseudocode}, il faudra : + +\begin{itemize} + \item compiler en chaîne \textsf{pdflatex + pythontex + pdflatex} pour les environnements avec \ctex{pythontex} ; + \item compiler avec \textsf{shell-escape} (ou \textsf{write18}) pour les environnements avec \ctex{minted}. +\end{itemize} + +%\bigskip +% +%\begin{center} +% \begin{tikzpicture}[x=0.9cm,y=0.9cm,xmin=-1,xmax=11,xgrille=1,xgrilles=0.5,ymin=-1,ymax=5,ygrille=1,ygrilles=0.5] +% %axes et grilles +% \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.3pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); +% \draw[xstep=\xgrilles,ystep=\ygrilles,line width=0.6pt,lightgray!50] (\xmin,\ymin) grid (\xmax,\ymax); +% \draw[line width=1.5pt,->,gray] (\xmin,0)--(\xmax,0) ; +% \draw[line width=1.5pt,->,gray] (0,\ymin)--(0,\ymax) ; +% \foreach \x in {0,1,...,10} {\draw[gray,line width=1.5pt] (\x,4pt) -- (\x,-4pt) ;} +% \foreach \y in {0,1,...,4} {\draw[gray,line width=1.5pt] (4pt,\y) -- (-4pt,\y) ;} +% \draw[darkgray] (1,-4pt) node[below,font=\sffamily] {1} ; +% \draw[darkgray] (-4pt,1) node[left,font=\sffamily] {1} ; +% %splines +% \def\LISTE{0/1/0§4/3.667/-0.333§7.5/1.75/0§9/2/-0.333§10/0/-10} +% \splinetikz[liste=\LISTE,affpoints=true,coeffs=3,couleur=red] +% %tangentes +% \tangentetikz[liste=\LISTE,xl=0,xr=1,couleur=ForestGreen,style=dashed] +% \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=2] +% \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=3] +% \tangentetikz[liste=\LISTE,xl=1,xr=1,couleur=ForestGreen,style=dashed,point=4] +% \tangentetikz[liste=\LISTE,xl=0.5,xr=0,couleur=ForestGreen,style=dashed,point=5] +% +% \end{tikzpicture} +%\end{center} +% +%\medskip +% +%\begin{center} +% \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] +% \paramCF[titre=true] +% \ligneCF{\textsf{(x+1)\CFchap2}}{$\mathsf{x^2+2x+1}$} +% \ligneCF{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$} +% \ligneCF{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$} +% \end{tikzpicture} +%\end{center} \newpage @@ -608,8 +670,7 @@ Ainsi, le code : \begin{tikzpicture}[x=1cm,y=1cm,line width=1pt] \paramCF[titre=true,couleurcmd=olive,couleurres=orange] \ligneCF{COMMANDE 1}{RÉSULTAT 1} - \ligneCF{\texttt{(x+1)\chap2}}{$\mathtt{x^2+2x+1}$} - \ligneCF[hc=1,hr=1.25]{\textsf{Dérivée[(x+5)*exp(-0.1*x)]}}{$\mathsf{\rightarrow (0.5-0.1*x)*exp(-0.1*x)}$} + \ligneCF[hc=1,hr=1.25]{\texttt{(x+1)\CFchap2}}{$\mathtt{x^2+2x+1}$} \end{tikzpicture} \end{minted} @@ -1046,6 +1107,8 @@ PING ctan.org (5.35.249.60) 56(84) bytes of data. \section{Historique} +{\small \bverb|v1.0.6| : Ajout d'une option \textsf{nominted} pour ne pas charger \ctex{minted} (pas besoin de compiler avec \textsf{shell-escape}) + {\small \bverb|v1.0.5| : Ajout d'un environnement pour Python (minted) {\small \bverb|v1.0.4| : Ajout des environnements pour Terminal (win, osx, unix) diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 8938888868..a8316dddf8 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2022/02/16 - v1.0.5 - Aide pour l'utilisation de LaTeX en lycée] +\ProvidesPackage{ProfLycee}[2022/02/18 - v1.0.6 - Aide pour l'utilisation de LaTeX en lycée] +% 1.0.6 Option [nominted] pour éviter de charger minted & nettoyage amssymb (pour éviter bug de chargement...) % 1.0.5 Environnement code python avec minted % 1.0.4 Environnement pour simuler terminal windows & linux % 1.0.3 Environnement pour présenter du pseudocode @@ -11,9 +12,15 @@ % 1.0.1 Modif mineure du chargement de xcolor (compatibilité avec d'autres packages notamment...) % 1.0 Version initiale +%------Option(s) +\newif\if@nominted \@nomintedfalse +\DeclareOption{nominted}{\@nomintedtrue} +\DeclareOption*{} +\ProcessOptions\relax + %------Packages utiles \RequirePackage[table,svgnames]{xcolor}%Gestion des couleurs -\RequirePackage{amssymb} +%\RequirePackage{amssymb} \RequirePackage{tikz} \RequirePackage{pgf,pgffor} \RequirePackage{ifthen} @@ -365,7 +372,12 @@ } %=========PYTHONMINTED========= OK !! -\tcbuselibrary{minted} +\if@nominted + %on ne charge pas minted et la librairie tcbox +\else + %on charge minted et la librairie tcbox + \tcbuselibrary{minted} +\fi \tcbset{pytmintedno/.style={% listing engine=minted,minted style=colorful, diff --git a/macros/xetex/latex/bidi/README b/macros/xetex/latex/bidi/README index bbb079dd7a..4838eecd8d 100644 --- a/macros/xetex/latex/bidi/README +++ b/macros/xetex/latex/bidi/README @@ -1,6 +1,6 @@ ___________________ The bidi package -v36.6 +v36.7 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -10,7 +10,7 @@ documentation, or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker: - <https://github.com/persiantex/bidi/issues> + <https://github.com/tex-persian/bidi/issues> In doing so, please always explain your issue well enough, and always include a minimal working example showing the @@ -25,7 +25,7 @@ The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category. -Current version release date: 2022/02/13 +Current version release date: 2022/02/18 ___________________________________________ Vafa Khalighi diff --git a/macros/xetex/latex/bidi/bidi-doc-intro.ltx b/macros/xetex/latex/bidi/bidi-doc-intro.ltx index d17d1863bd..b9942d2d60 100644 --- a/macros/xetex/latex/bidi/bidi-doc-intro.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-intro.ltx @@ -20,7 +20,7 @@ If you use \textsf{bidi} package to write any input \TeX\ document, and then run * Copyright (c) 2007--2022 Vafa Khalighi * Copyright (c) 2018--2020 bidi-tex GitHub Organization * -* v36.6, 2022/02/13 +* v36.7, 2022/02/18 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) diff --git a/macros/xetex/latex/bidi/bidi-doc-title.ltx b/macros/xetex/latex/bidi/bidi-doc-title.ltx index 338ea2196d..e94ca74579 100644 --- a/macros/xetex/latex/bidi/bidi-doc-title.ltx +++ b/macros/xetex/latex/bidi/bidi-doc-title.ltx @@ -3,7 +3,7 @@ \begin{document} \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ \LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -\large User documentation for \textcolor{blue!65!black}{version 36.6}} +\large User documentation for \textcolor{blue!65!black}{version 36.7}} \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.}\\ \url{tex-persian@vafa.ac}} \setcounter{page}{0} @@ -14,7 +14,7 @@ \textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} \Large -User documentation for \textcolor{blue!65!black}{version 36.6}} +User documentation for \textcolor{blue!65!black}{version 36.7}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} diff --git a/macros/xetex/latex/bidi/bidi-doc.ltx b/macros/xetex/latex/bidi/bidi-doc.ltx index cf129fa119..84c9d13026 100644 --- a/macros/xetex/latex/bidi/bidi-doc.ltx +++ b/macros/xetex/latex/bidi/bidi-doc.ltx @@ -1,7 +1,7 @@ \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={User documentation for version 36.6 of the bidi + pdftitle={User documentation for version 36.7 of the bidi package}% } \begin{document} diff --git a/macros/xetex/latex/bidi/bidi-doc.pdf b/macros/xetex/latex/bidi/bidi-doc.pdf Binary files differindex 2bb9819a39..587190f83f 100644 --- a/macros/xetex/latex/bidi/bidi-doc.pdf +++ b/macros/xetex/latex/bidi/bidi-doc.pdf diff --git a/macros/xetex/latex/bidi/bidi.dtx b/macros/xetex/latex/bidi/bidi.dtx index 5e13b4e12b..03829a0cb7 100644 --- a/macros/xetex/latex/bidi/bidi.dtx +++ b/macros/xetex/latex/bidi/bidi.dtx @@ -5,7 +5,7 @@ %<*readme> ___________________ The bidi package -v36.6 +v36.7 This package provides a convenient interface for typesetting bidirectional texts in Plain TeX and LaTeX, using XeTeX engine. @@ -15,7 +15,7 @@ documentation, or ask for any new features, or suggest any improvements, or ask any questions about the package, then please use the issue tracker: - <https://github.com/persiantex/bidi/issues> + <https://github.com/tex-persian/bidi/issues> In doing so, please always explain your issue well enough, and always include a minimal working example showing the @@ -30,7 +30,7 @@ The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category. -Current version release date: 2022/02/13 +Current version release date: 2022/02/18 ___________________________________________ Vafa Khalighi @@ -136,6 +136,7 @@ by Vafa Khalighi. \generate{\file{floatrow-xetex-bidi.def}{\from{\jobname.dtx}{table,floatrow-xetex-bidi.def}}} \generate{\file{flowfram-xetex-bidi.def}{\from{\jobname.dtx}{table,flowfram-xetex-bidi.def}}} \generate{\file{footnote-xetex-bidi.def}{\from{\jobname.dtx}{table,footnote-xetex-bidi.def}}} +\generate{\file{footnotebackref-xetex-bidi.def}{\from{\jobname.dtx}{table,footnotebackref-xetex-bidi.def}}} \generate{\file{framed-xetex-bidi.def}{\from{\jobname.dtx}{table,framed-xetex-bidi.def}}} \generate{\file{ftnright-xetex-bidi.def}{\from{\jobname.dtx}{table,ftnright-xetex-bidi.def}}} \generate{\file{graphicx-xetex-bidi.def}{\from{\jobname.dtx}{table,graphicx-xetex-bidi.def}}} @@ -150,6 +151,7 @@ by Vafa Khalighi. \generate{\file{listings-xetex-bidi.def}{\from{\jobname.dtx}{table,listings-xetex-bidi.def}}} \generate{\file{loadingorder-xetex-bidi.def}{\from{\jobname.dtx}{table,loadingorder-xetex-bidi.def}}} \generate{\file{longtable-xetex-bidi.def}{\from{\jobname.dtx}{table,longtable-xetex-bidi.def}}} +\generate{\file{lscape-xetex-bidi.def}{\from{\jobname.dtx}{table,lscape-xetex-bidi.def}}} \generate{\file{mathtools-xetex-bidi.def}{\from{\jobname.dtx}{table,mathtools-xetex-bidi.def}}} \generate{\file{mdframed-xetex-bidi.def}{\from{\jobname.dtx}{table,mdframed-xetex-bidi.def}}} \generate{\file{bidi-media9.sty}{\from{\jobname.dtx}{table,bidi-media9.sty}}} @@ -164,6 +166,7 @@ by Vafa Khalighi. \generate{\file{ntheorem-hyper-xetex-bidi.def}{\from{\jobname.dtx}{table,ntheorem-hyper-xetex-bidi.def}}} \generate{\file{overpic-xetex-bidi.def}{\from{\jobname.dtx}{table,overpic-xetex-bidi.def}}} \generate{\file{pdfbase-xetex-bidi.def}{\from{\jobname.dtx}{table,pdfbase-xetex-bidi.def}}} +\generate{\file{pdflscape-xetex-bidi.def}{\from{\jobname.dtx}{table,pdflscape-xetex-bidi.def}}} \generate{\file{pdfpages-xetex-bidi.def}{\from{\jobname.dtx}{table,pdfpages-xetex-bidi.def}}} \generate{\file{pgfcorescopes.code-xetex-bidi.def}{\from{\jobname.dtx}{table,pgfcorescopes.code-xetex-bidi.def}}} \generate{\file{picinpar-xetex-bidi.def}{\from{\jobname.dtx}{table,picinpar-xetex-bidi.def}}} @@ -234,7 +237,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{bidi-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 36.6 of the bidi + pdftitle={Source documentation for version 36.7 of the bidi package}% } \EnableCrossrefs @@ -253,7 +256,7 @@ by Vafa Khalighi. % \GetFileInfo{\jobname.dtx} % \title{\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}}\\ %\LARGE Bidirectional typesetting in plain \TeX{} and \LaTeX, using \XeTeX{} engine\\[5pt] -%\large Source documentation for \textcolor{blue!65!black}{version 36.6}} +%\large Source documentation for \textcolor{blue!65!black}{version 36.7}} % \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.}\\ % \url{tex-persian@vafa.ac}} %\setcounter{page}{0} @@ -264,7 +267,7 @@ by Vafa Khalighi. %\textcolor{blue!65!black}{\Huge The \textsf{bidi} \textit{Package}} % %\Large -%Source documentation for \textcolor{blue!65!black}{version 36.6}} +%Source documentation for \textcolor{blue!65!black}{version 36.7}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -313,7 +316,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{50439} +%% \CheckSum{50574} %% \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 @@ -1933,8 +1936,8 @@ by Vafa Khalighi. % \section{File \texttt{bidi.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\bididate{2022/02/13} -\def\bidi@version{36.6} +\def\bididate{2022/02/18} +\def\bidi@version{36.7} \ProvidesPackage{bidi}[\bididate\space v\bidi@version\space Bidirectional typesetting in plain TeX and LaTeX] \edef\@bidi@info{****************************************************^^J% @@ -2024,7 +2027,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \newcommand*{\@bidi@pdfcustomproperties}{% This is the bidi package, Version \bidi@version, - Released February 13, 2022. + Released February 18, 2022. } \@RTLmainfalse \AtBeginDocument{% @@ -2267,9 +2270,9 @@ Bidirectional typesetting in plain TeX and LaTeX] %\fi % \section{File \texttt{bidi.tex}} % \begin{macrocode} -\def\bididate{2022/02/13} +\def\bididate{2022/02/18} \catcode`@=11 -\def\bidi@version{36.6} +\def\bidi@version{36.7} \let \protect \relax \newlinechar`\^^J \edef\@bidi@info{****************************************************^^J% @@ -2373,7 +2376,7 @@ Bidirectional typesetting in plain TeX and LaTeX] } \def\@bidi@pdfcustomproperties{% This is the bidi package, Version \bidi@version, - Released February 13, 2022. + Released February 18, 2022. } \def\bidi@pdfm@mark{% \special{pdf:% @@ -8200,7 +8203,7 @@ bidi implementation of tufte title] %\fi % \section{File \texttt{cuted-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{cuted-xetex-bidi.def}[2017/05/06 v0.6 bidi adaptations for cuted package for XeTeX engine] +\ProvidesFile{cuted-xetex-bidi.def}[2022/02/18 v0.7 bidi adaptations for cuted package for XeTeX engine] \def\RTL@outputdblcol{% \if@firstcolumn @@ -8324,263 +8327,280 @@ bidi implementation of tufte title] \endgroup \fi}% - -\def \@addviper {% - \if@firstcolumn - \@insertfalse - \@reqcolroom .5\@pageht - \ht@viper\@reqcolroom - \advance \@reqcolroom \ht\@viper - \advance \@reqcolroom \stripsep - \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi -%% - \@tempdimb \ht@viper - \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}% - \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% - \ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat - \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\v@aaa to\@tempdimb\vss}% - \wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}% - \ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat - \wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}% - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\@holdpg to\@tempdimb\vss}% -%% - \setbox\@tempboxa \vbox {% - \hb@xt@\textwidth {% - \if@RTLmain% - \hskip \columnwidth - \hfil \vrule width\columnseprule \hfil - \hb@xt@\columnwidth {% - \vbox to\ht@viper{\box\v@ccc\vss} \hss}% - \hskip -\textwidth - \hb@xt@\columnwidth {% - \vbox to\ht@viper{\box\@holdpg\vss} \hss}% - \hskip \columnsep - \hskip \columnwidth - \else% - \hb@xt@\columnwidth {% - \vbox to\ht@viper{\box\v@ccc\vss} \hss}% - \hfil - \vrule \@width\columnseprule - \hfil - \hb@xt@\columnwidth {% - \vbox to\ht@viper{\box\@holdpg\vss} \hss}% - \fi}% - }% - \ifvoid\hold@viper - \global\setbox\hold@viper \vbox {% - \unvbox\@tempboxa - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ - }% - \else - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \unvbox\@tempboxa - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ +\def\@addviper{% + \@insertfalse + \def\var@@thecol@num{2}% + \if@firstcolumn + \def\var@@thecol@num{1}% + \@reqcolroom=.5\@pageht + \ht@viper=\@reqcolroom + \advance\@reqcolroom by\ht\@viper + \advance\@reqcolroom by\stripsep + \else + \@reqcolroom=\@colht + \advance\@reqcolroom by\@pageht + \ht@viper.5\@reqcolroom + \@reqcolroom=\ht@viper + \advance\@reqcolroom by\ht\@viper + \advance\@reqcolroom by\stripsep + \global\setbox\@holdpg\vbox{% + \setbox\cuted@@tempbox@a\vbox{% + \aftergroup\unvbox + \unvcopy\@leftcolumn + \unskip\unkern\unpenalty + \setbox\@tempboxa\lastbox + \ifdim\dimexpr\ht\@tempboxa+\wd\@tempboxa+\dp\@tempboxa>\z@ + %% keeps lastbox + \aftergroup\@leftcolumn + \else + %% removes lastbox + \aftergroup\cuted@@tempbox@a + \fi + }% + \unskip\unkern\unpenalty + \on@stripcols@break + \the\At@ViperColsBreak + \unvbox\@holdpg + }% + \global\At@ViperColsBreak{}% + \ht@viper=.5\ht\@holdpg + \ifdim\ht@viper>\@colht + \ht@viper=\@colht + \fi + \fi + %% + %% calculations for breaking + %% + \ifvoid\hold@viper + \ht@hold@viper=\z@ + \else + \ht@hold@viper=\ht\hold@viper + \fi + \cuted@@tempdim@b\ht@viper + \set@split@topskip@to\topskip + \loop + \xdef\saved@tempdimb{\the\cuted@@tempdim@b}% + \setbox\cuted@@varbox@a\copy\@holdpg + \setbox\cuted@@tempbox@a\vsplit\cuted@@varbox@a to\cuted@@tempdim@b + %% set leftcolumn boxes + \setbox\cuted@@tempbox@c\vbox{\unvbox\cuted@@tempbox@a}% + \setbox\cuted@@tempbox@a\vbox to\cuted@@tempdim@b{\unvcopy\cuted@@tempbox@c}% + \xdef\var@@leftcolumn@badness{\the\badness}% + %% set rightcolumn boxes + \setbox\cuted@@varbox@c\vbox{\unvbox\cuted@@varbox@a}% + \setbox\cuted@@varbox@a\vbox to\cuted@@tempdim@b{\unvcopy\cuted@@varbox@c}% + \xdef\var@@rightcolumn@badness{\the\badness}% + %% analyzing split goodness + \cuted@@tempdim@spread=\ht\cuted@@tempbox@c + \advance\cuted@@tempdim@spread by\dp\cuted@@tempbox@c + \advance\cuted@@tempdim@spread by-\ht\cuted@@varbox@c + \advance\cuted@@tempdim@spread by-\dp\cuted@@varbox@c + \cuted@@wlog@debug{CUTED [-----]% + ^^JLeft: \the\ht\cuted@@tempbox@c + +\the\dp\cuted@@tempbox@c\space/\var@@leftcolumn@badness + ^^JRight: \the\ht\cuted@@varbox@c + +\the\dp\cuted@@varbox@c\space/\var@@rightcolumn@badness + ^^JSplit: \the\cuted@@tempdim@b + ^^JExtra height: \the\cuted@@tempdim@spread + }% + \ifnum\var@@leftcolumn@badness<\cuted@@column@badness + \ifnum\var@@rightcolumn@badness<\cuted@@column@badness + \cuted@@tempdim@spread=\z@ + \fi + \fi + \ifdim\cuted@@tempdim@spread<\z@ + \if@left@column@spread + \if@right@column@shrink + \ifdim\dimexpr\cuted@@tempdim@spread+\pageshrink>\z@ + \cuted@@tempdim@a=\dimexpr\ht\cuted@@tempbox@c-0.5\cuted@@tempdim@spread\relax + \else + \cuted@@tempdim@a=-\dimexpr\cuted@@tempdim@spread+.5\pageshrink\relax + \fi + \setbox\cuted@@varbox@a\vbox to\cuted@@tempdim@a{\unvcopy\cuted@@tempbox@c}% + \ifnum\badness<\cuted@@column@badness + \cuted@@tempdim@b=\cuted@@tempdim@a + \cuted@@tempdim@spread=\z@ + \fi + \cuted@@wlog@debug{CUTED [leftcolumn badness]: \number\badness\space on \the\cuted@@tempdim@a}% + \setbox\cuted@@varbox@a\vbox to\cuted@@tempdim@a{\unvcopy\cuted@@varbox@c}% + \cuted@@wlog@debug{CUTED [rightcolumn badness]: \number\badness\space on \the\cuted@@tempdim@a}% + \else + \setbox\cuted@@varbox@a\vbox to\ht\cuted@@varbox@c{% + \unvcopy\cuted@@tempbox@c }% - \fi - \ifdim \@colroom>\@reqcolroom - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \box\@viper - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ + \ifnum\badness<\cuted@@column@badness + \@tempdimb=\ht\cuted@@varbox@c + \cuted@@tempdim@spread=\z@ + \fi + \cuted@@wlog@debug{CUTED [leftcolumn badness]: \number\badness on \the\ht\cuted@@varbox@c}% + \setbox\cuted@@varbox@a\vbox to\ht\cuted@@varbox@c{% + \unvcopy\cuted@@varbox@c }% - \@inserttrue - \advance\@tempdima by-\ht\hold@viper - \global \advance \@colht \@tempdima - \ifdim \@colht<2.5\baselineskip - \@latex@warning@no@line {Optional argument of \noexpand\twocolumn - too tall on page \thepage (1 stulpelis)}% - \@emptycol - \if@firstcolumn - \else - \@emptycol - \fi - \global\@lastvipertrue + \cuted@@wlog@debug{CUTED [rightcolumn badness]: \number\badness on \the\ht\cuted@@varbox@c}% + \fi + \else + \if@right@column@shrink + \ifdim\dimexpr\cuted@@tempdim@spread+\pageshrink<\z@ + \else + \cuted@@tempdim@b=\ht\cuted@@tempbox@c + \cuted@@tempdim@spread=\z@ + \fi + \fi + \fi \else - \global \vsize \@colht - \global \@colroom \@colht - \check@floats - \ifdim\@tempdima>\z@ - \global\advance\@colroom by-\@tempdima - \fi - \ifdim\@colroom<\z@ - \global\@colroom 1pt - \ifdim\@tempdima>\@colht - \@latex@warning@no@line {TOP ir/ar BOT FLOAT's - netelpa lape \thepage (1 stulpelis)}% - \fi - \@emptycol - \if@firstcolumn - \else - \@emptycol - \fi - \global\@lastvipertrue - \fi + \ifdim\cuted@@tempdim@spread>\z@ + \ifdim\dimexpr\@tempdimb+\p@\relax>\@colht + \cuted@@tempdim@b=\@colht + \cuted@@tempdim@spread=\z@ + \fi + \fi \fi - \fi - \else - \@insertfalse - \@reqcolroom\@colht - \advance\@reqcolroom \@pageht - \ht@viper.5\@reqcolroom - \@reqcolroom\ht@viper - \advance \@reqcolroom \ht\@viper - \advance \@reqcolroom \stripsep - \if@flushend@auto@baselineskip - \setbox\@tempboxa\vbox{\unvcopy\@leftcolumn - \global\lastskip@d\lastskip - \global\lastskip@b\lastskip - \loop - \global\lastskip@a\lastskip@b - \unskip\unpenalty - \global\lastskip@b\lastskip - \global\advance\lastskip@d by\lastskip - \ifdim\lastskip@b=-\lastskip@a - \global\advance\lastskip@d by-\lastskip - \else - \repeat - \ifdim\lastskip@b=-\lastskip@a - \ifdim\lastskip@b=\z@ - \setbox\lastbox@a\lastbox - \global\advance\lastskip@d by\ht\lastbox@a - \global\advance\lastskip@d by\lastskip - \unskip\unpenalty - \setbox\lastbox@a\lastbox - \global\advance\lastskip@d by\dp\lastbox@a + \ifdim\cuted@@tempdim@spread<\z@ + \advance\cuted@@tempdim@b 1\p@ + \repeat + \wlog{CUTED [- LAST -]% + ^^JExtra skip:\the\cuted@@tempdim@spread + ^^JLeft:\the\ht\cuted@@tempbox@c/\the\dp\cuted@@tempbox@c + ^^JRight:\the\ht\cuted@@varbox@c/\the\dp\cuted@@varbox@c + ^^JSplit: \saved@tempdimb + ^^JOutput:\the\cuted@@tempdim@b + ^^JPageshrink: \the\pageshrink + ^^JPagestretch: \the\pagestretch + ^^J@colht:\the\@colht + }% + %% + %% final construction of the cuted page above strip + %% + \setbox\cuted@@tempbox@c\vsplit\@holdpg to\saved@tempdimb + \setbox\cuted@@tempbox@a\vbox to\cuted@@tempdim@b{% + \cuted@@tempdim@a=\dimexpr + \cuted@@tempdim@b-\ht\cuted@@tempbox@c + \relax + \cuted@@tempdim@spread=\dp\cuted@@tempbox@c + \unvbox\cuted@@tempbox@c + \ifdim\cuted@@tempdim@spread>\dp\strutbox + \else + \vskip-\cuted@@tempdim@spread + \fi + \prevdepth\z@ + \hrule\@height\cuted@@page@rule width\textwidth + \vskip-\cuted@@page@rule + \ifdim\cuted@@tempdim@a>\z@ + \if@left@column@spread \else - \global\lastskip@d\lastskip - \global\advance\lastskip@d by\topskip + \vss \fi - \fi - \global\advance\lastskip@d by-\topskip - }% - \ifdim\ht\@holdpg>\@colht - \global\setbox\@holdpg\vbox{\unvbox\@leftcolumn\unskip\unpenalty - \par\eject - \vbox to \@colht{\unvbox\@holdpg\unskip}% - }% - \else - \global\setbox\@holdpg\vbox{% - \unvbox\@leftcolumn\unskip\unpenalty - \vskip\lastskip@d - \the\At@ViperColsBreak - \unvbox\@holdpg - \unskip - }% - \fi - \else - \global\setbox\@holdpg\vbox{% - \unvbox\@leftcolumn - \setbox\@tempboxa\lastbox - \on@stripcols@break - \the\At@ViperColsBreak - \unvbox\@holdpg - }% - \fi - \global\At@ViperColsBreak{}% - \ht@viper .5\ht\@holdpg - \ifdim \ht@viper>\@colht - \ht@viper \@colht - \fi - \ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi -%% - \@tempdimb \ht@viper - \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{% - \vsplit\v@aaa to\@tempdimb + \else + \ifdim\cuted@@tempdim@a<\z@ + \if@left@column@shrink + \else + \vss + \fi + \fi + \fi + }% + \wlog{CUTED [output]: \the\cuted@@tempdim@b + ^^JCUTED [leftcolumn badness]: \number\badness + }% + \setbox\cuted@@varbox@a\vbox to\cuted@@tempdim@b{% + \cuted@@tempdim@a=\dimexpr + \cuted@@tempdim@b-\ht\@holdpg + \relax + \unvbox\@holdpg + \ifdim\cuted@@tempdim@a>\z@ + \if@right@column@spread + \else \vss - \vsplit\v@aaa to\@tempdimb - }% - \wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}% - \ifvoid\v@aaa - \else - \advance\@tempdimb 1\p@ - \repeat - \loop - \setbox\v@aaa\copy\@holdpg - \setbox\v@ccc\vbox to\@tempdimb{\vsplit\v@aaa to\@tempdimb\vss}% - \wlog{(2)Left:\the\ht\v@ccc\space - Right:\the\ht\v@aaa\space - Output:\the\@tempdimb - }% - \ifdim\ht\v@ccc<\ht\v@aaa - \@tempdimb \the\ht\v@aaa - \repeat - \wlog{- LAST -^^JLeft:\the\ht\v@ccc - ^^JRight:\the\ht\v@aaa - ^^JOutput:\the\@tempdimb - }% - \setbox\v@ccc\vbox to\@tempdimb{\vsplit\@holdpg to\@tempdimb\vss}% - \setbox\@tempboxa\vbox{% - \hb@xt@\textwidth {% - \if@RTLmain% - \hskip \columnwidth - \hfil \vrule width\columnseprule \hfil - \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% - \hskip -\textwidth - \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% - \hskip \columnsep - \hskip \columnwidth + \fi + \else + \ifdim\cuted@@tempdim@a<\z@ + \if@right@column@shrink + \else + \vss + \fi + \fi + \fi + }% + \wlog{CUTED [rightcolumn badness]: \number\badness}% + \setbox\cuted@@tempbox@var\vbox{% + \hb@xt@\textwidth{% + \if@RTLmain + \hskip \columnwidth + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \vbox to\ht@viper{\box\cuted@@tempbox@a\vss}% + \hss + }% + \hskip -\textwidth + \hb@xt@\columnwidth{% + \vbox to\ht@viper{\box\cuted@@varbox@a\vss}% + \hss + }% + \hskip \columnsep + \hskip \columnwidth \else - \hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}% - \hfil - \vrule \@width\columnseprule - \hfil - \hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}% - \fi% + \hb@xt@\columnwidth{% + \vbox to\ht@viper{\box\cuted@@tempbox@a\vss}% + \hss + }% + \hfil + {\normalcolor\vrule \@width\columnseprule}% + \hfil + \hb@xt@\columnwidth{% + \vbox to\ht@viper{\box\cuted@@varbox@a\vss}% + \hss + }% + \fi }% }% - \ifvoid\hold@viper - \global\setbox\hold@viper \vbox {% - \unvbox\@tempboxa - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ - }% - \else - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \unvbox\@tempboxa - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ - }% - \fi - \ifdim \@colht>\@reqcolroom - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \box\@viper - \penalty\interlinepenalty - \vskip\stripsep - \ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi - \outputpenalty \z@ - }% + %% + %% finalize cuted page + %% + \ifvoid\hold@viper + \global\setbox\hold@viper\vbox{% + \unvbox\cuted@@tempbox@var + \penalty\interlinepenalty + \vskip\stripsep + \the\preCutedStrip + \ifnum\outputpenalty<-\@Mii + \vskip -\parskip + \fi + \outputpenalty\z@ + }% + \else + \global\setbox\hold@viper\vbox{% + \unvbox\hold@viper + \cuted@@tempbox@var + \penalty\interlinepenalty + \vskip\stripsep + \the\preCutedStrip + \ifnum\outputpenalty<-\@Mii + \vskip -\parskip + \fi + \outputpenalty\z@ + }% + \fi + \ifdim\@colht>\@reqcolroom + \global\setbox\hold@viper\vbox{% + \unvbox\hold@viper + \box\@viper + \penalty\interlinepenalty + \the\postCutedStrip + \vskip\stripsep + \ifnum\outputpenalty<-\@Mii + \vskip -\parskip + \fi + \outputpenalty\z@ + }% \@inserttrue \global\@firstcolumntrue - \advance\@tempdima by-\ht\hold@viper - \global \advance \@colht \@tempdima - \ifdim \@colht<2.5\baselineskip + \advance\ht@hold@viper by-\ht\hold@viper + \global\advance\@colht by\ht@hold@viper + \ifdim\@colht<2.5\baselineskip \@latex@warning@no@line {Optional argument of \noexpand\twocolumn - too tall on page \thepage (2 stulpelis)}% + too tall on page \thepage (\var@@thecol@num column)}% \@emptycol \if@firstcolumn \else @@ -8588,17 +8608,17 @@ bidi implementation of tufte title] \fi \global\@lastvipertrue \else - \global \vsize \@colht - \global \@colroom \@colht - \check@floats - \ifdim\@tempdima>\z@ - \global\advance\@colroom by-\@tempdima + \global\vsize\@colht + \global\@colroom\@colht + \check@floats\cuted@@tempdim@a + \ifdim\cuted@@tempdim@a>\z@ + \global\advance\@colroom by-\cuted@@tempdim@a \fi \ifdim\@colroom<\z@ - \global\@colroom 1pt - \ifdim\@tempdima>\@colht - \@latex@warning@no@line {TOP ir/ar BOT FLOAT's - netelpa lape \thepage (2 stulpelis)}% + \global\@colroom1\p@ + \ifdim\cuted@@tempdim@a>\@colht + \@latex@warning@no@line{TOP and/or BOT FLOAT's + to large on \thepage (\var@@thecol@num column)}% \fi \@emptycol \if@firstcolumn @@ -8608,23 +8628,22 @@ bidi implementation of tufte title] \global\@lastvipertrue \fi \fi - \fi - \fi - \if@insert - \else - \advance\@tempdima by-\ht\hold@viper - \global \advance \@colht \@tempdima - \global\setbox\hold@viper \vbox {% - \unvbox\hold@viper - \csname viper@top@hook\endcsname - \vsplit\@viper to \@colht - \vss - }% - \vbox{}% - \global\@firstcolumnfalse - \newpage - \fi - } + \fi + \if@insert + \else + \advance\ht@hold@viper by-\ht\hold@viper + \global\advance\@colht by\ht@hold@viper + \global\setbox\hold@viper\vbox{% + \unvbox\hold@viper + \set@split@topskip@to{\z@ plus2\p@}% + \vsplit\@viper to\@colht + \vss + }% + \vbox{}% + \global\@firstcolumnfalse + \newpage + \fi + } % \end{macrocode} % \iffalse %</cuted-xetex-bidi.def> @@ -9157,7 +9176,7 @@ bidi implementation of tufte title] %\fi % \section{File \texttt{eso-pic-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{eso-pic-xetex-bidi.def}[2022/02/01 v0.3 bidi adaptations for eso-pic package for XeTeX engine] +\ProvidesFile{eso-pic-xetex-bidi.def}[2022/02/18 v0.4 bidi adaptations for eso-pic package for XeTeX engine] \renewcommand\AtPageLowerLeft[1]{\AtPageUpperLeft{% \put(\if@RTLmain\paperwidth\else 0\fi,-\paperheight){#1}}} @@ -9165,15 +9184,25 @@ bidi implementation of tufte title] \renewcommand\AtTextUpperLeft[1]{% \begingroup \ifodd\c@page - \ESO@tempdima=\spinemargin + \if@RTLmain + \ESO@tempdima=\paperwidth + \advance\ESO@tempdima-\textwidth + \advance\ESO@tempdima-\spinemargin + \else + \ESO@tempdima=\spinemargin + \fi \else - \ESO@tempdima=\paperwidth - \advance\ESO@tempdima-\textwidth - \advance\ESO@tempdima-\spinemargin + \if@RTLmain + \ESO@tempdima=\spinemargin + \else + \ESO@tempdima=\paperwidth + \advance\ESO@tempdima-\textwidth + \advance\ESO@tempdima-\spinemargin + \fi \fi \ESO@tempdimb=-\uppermargin \AtPageUpperLeft{% - \put(\if@RTLmain-\fi\ESO@tempdima,\ESO@tempdimb){#1}% + \put(\if@RTLmain-\textwidth-\fi\ESO@tempdima,\ESO@tempdimb){#1}% }% \endgroup } @@ -9203,7 +9232,7 @@ bidi implementation of tufte title] \advance\ESO@tempdimb-\headheight \advance\ESO@tempdimb-\headsep \AtPageUpperLeft{% - \put(\if@RTLmain-\fi\ESO@tempdima,\ESO@tempdimb){#1}% + \put(\if@RTLmain-\textwidth-\fi\ESO@tempdima,\ESO@tempdimb){#1}% }% \endgroup } @@ -12407,6 +12436,80 @@ bidi implementation of tufte title] % \end{macrocode} % \iffalse %</footnote-xetex-bidi.def> +%<*footnotebackref-xetex-bidi.def> +%\fi +% \section{File \texttt{footnotebackref-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{footnotebackref-xetex-bidi.def}[2022/02/18 v0.1 bidi adaptations for footnotebackref package for XeTeX engine] +\LetLtxMacro{\BHFN@OldLTRFootnote}{\LTRfootnote} +\LetLtxMacro{\BHFN@OldRTLFootnote}{\RTLfootnote} + +\renewcommand*\LTRfootnote{% + \refstepcounter{BackrefHyperFootnoteCounter}% + \edef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}% + \label{\BackrefFootnoteTag}% + \@ifnextchar[\Backref@OptLTRHyperFootnote\Backref@HyperLTRFootnote} + +\renewcommand*\RTLfootnote{% + \refstepcounter{BackrefHyperFootnoteCounter}% + \edef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}% + \label{\BackrefFootnoteTag}% + \@ifnextchar[\Backref@OptRTLHyperFootnote\Backref@HyperRTLFootnote} +\newcommand\Backref@HyperLTRFootnote[1]{% + \BHFN@OldLTRFootnote{\Backref@HyperSymbol#1}} + +\newcommand\Backref@HyperRTLFootnote[1]{% + \BHFN@OldRTLFootnote{\Backref@HyperSymbol#1}} + +\newcommand\Backref@OptHyperLTRFootnote[2][\empty]{% + \BHFN@OldLTRFootnote[#1]{\Backref@HyperSymbol#2}} + +\newcommand\Backref@OptHyperRTLFootnote[2][\empty]{% + \BHFN@OldRTLFootnote[#1]{\Backref@HyperSymbol#2}} + +\bidi@AfterFile{extrafootnotefeatures-xetex-bidi.def}{% +\ifFootnoteBackref@numberlinked +\renewcommand{\footfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\footscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\footscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\footscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \fi + \fi} +\renewcommand{\LTRfootfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\LTRfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\LTRfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\LTRfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \fi + \fi} +\renewcommand{\RTLfootfootmark}{% + \ifdim\footmarkwidth < \z@ + \llap{\hb@xt@ -\footmarkwidth{% + \hss\normalfont\RTLfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \hspace*{-\footmarkwidth}}% + \else + \ifdim\footmarkwidth = \z@ + {\normalfont\RTLfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \else + \hb@xt@\footmarkwidth{\hss\normalfont\RTLfootscript{\hyperref[\BackrefFootnoteTag]{\@thefnmark}}}% + \fi + \fi} +\fi +} +% \end{macrocode} +% \iffalse +%</footnotebackref-xetex-bidi.def> %<*framed-xetex-bidi.def> %\fi % \section{File \texttt{framed-xetex-bidi.def}} @@ -14854,6 +14957,39 @@ bidi implementation of tufte title] % \end{macrocode} % \iffalse %</longtable-xetex-bidi.def> +%<*lscape-xetex-bidi.def> +%\fi +% \section{File \texttt{lscape-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{lscape-xetex-bidi.def}[2022/02/18 v0.1 bidi adaptations for lscape package for XeTeX engine] +\bidi@patchcmd{\LS@rot}{\rotatebox{90}{\box\@outputbox}}{% + \if@RTL + \rotatebox[origin=br]{-90}{\box\@outputbox}% + \else + \rotatebox{90}{\box\@outputbox}% + \fi +}{}{} +\g@addto@macro{\landscape}{% + \let\bidi@left@footnoterule\left@footnoterule + \let\bidi@right@footnoterule\right@footnoterule + \def\left@footnoterule{% + \if@RTL + \bidi@right@footnoterule + \else + \bidi@left@footnoterule + \fi + }% + \def\right@footnoterule{% + \if@RTL + \bidi@left@footnoterule + \else + \bidi@right@footnoterule + \fi + }% +} +% \end{macrocode} +% \iffalse +%</lscape-xetex-bidi.def> %<*mathtools-xetex-bidi.def> %\fi % \section{File \texttt{mathtools-xetex-bidi.def}} @@ -14955,7 +15091,7 @@ bidi implementation of tufte title] %\fi % \section{File \texttt{bidi-media9.sty}} % \begin{macrocode} -\ProvidesExplPackage{bidi-media9}{2017/08/27}{0.3} +\ProvidesExplPackage{bidi-media9}{2022/02/18}{0.4} {bidi fixes for media9 package for the XeTeX engine} \keys_define:nn{media9/mbtn}{ @@ -14986,7 +15122,7 @@ bidi implementation of tufte title] \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl \tl_trim_spaces:N\l_tmpa_tl \tl_if_exist:cTF{ann@\l_tmpa_tl}{ - \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \str_if_eq:eeF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ \tl_set:Nx\l_tmpb_tl{#1} %extract idx \regex_replace_once:nnN{[^:]+:?}{}\l_tmpb_tl \tl_trim_spaces:N\l_tmpb_tl @@ -15037,7 +15173,7 @@ bidi implementation of tufte title] \regex_replace_once:nnN{([^:]+):??.*}{\1}\l_tmpa_tl %extract ref \tl_trim_spaces:N\l_tmpa_tl \tl_if_exist:cTF{ann@\l_tmpa_tl}{ - \str_if_eq_x:nnF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ + \str_if_eq:eeF{\tl_use:c{ann@\l_tmpa_tl}}{draft}{ \tl_set:Nx\l_tmpb_tl{#1} \regex_replace_once:nnN{[^:]+\:?}{}\l_tmpb_tl \tl_trim_spaces:N\l_tmpb_tl @@ -15109,7 +15245,7 @@ bidi implementation of tufte title] \bool_lazy_and:nnT{ \tl_if_exist_p:c{ann@\l_tmpa_tl} }{ - !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + !\str_if_eq_p:ee{\tl_use:c{ann@\l_tmpa_tl}}{draft} }{ \mix_pdfobj:nnn{}{dict}{ /S/JavaScript/JS~( @@ -15127,7 +15263,7 @@ bidi implementation of tufte title] \bool_lazy_and_p:nn{ \tl_if_exist_p:c{ann@\l_tmpa_tl} }{ - !\str_if_eq_x_p:nn{\tl_use:c{ann@\l_tmpa_tl}}{draft} + !\str_if_eq_p:ee{\tl_use:c{ann@\l_tmpa_tl}}{draft} } || !\tl_if_blank_p:V\l_tmpb_tl }{ @@ -15145,7 +15281,7 @@ bidi implementation of tufte title] \mix_uriend: \group_begin: \mix_beginLTR: - \leavevmode + \mode_leave_vertical: %empty stream as appearance dummy \cs_if_exist:NF\g_mix_appearance_tl{ \hbox_set:Nn\l_mix_poster_box{\phantom{\rule{1pt}{1pt}}} @@ -15218,7 +15354,7 @@ bidi implementation of tufte title] \bool_gset_true:N\g_mix_iiid_bool \tl_gset:Nn\g_mix_mainassetsub_tl{3D} }{ - \str_case_x:nnF{\l_mix_base_tl}{ + \str_case_e:nnF{\l_mix_base_tl}{ {APlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} {AudioPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Sound}} {VPlayer}{\tl_gset:Nn\g_mix_mainassetsub_tl{Video}} @@ -15241,7 +15377,7 @@ bidi implementation of tufte title] } %create 3D views from file (option 3Dviews) \bool_if:nT{\g_mix_iiid_bool && !(\tl_if_blank_p:V\g_mix_vfile_tl)}{ - \tl_set:Nn\l_mix_level_tl{\c_minus_one} + \tl_set:Nn\l_mix_level_tl{-1} \int_zero:N\l_mix_viewcnt_int \int_zero:N\l_mix_lineno_int @@ -15358,7 +15494,7 @@ bidi implementation of tufte title] /Height~<</Default~\tl_mix_fltht>> /Position~<< /HOffset~0/VOffset~0 - \str_case_x:nnF{\g_mix_winpos_tl}{ + \str_case_e:nnF{\g_mix_winpos_tl}{ {tl}{/VAlign/Near/HAlign/Near} {cl}{/VAlign/Center/HAlign/Near} {bl}{/VAlign/Far/HAlign/Near} @@ -15412,7 +15548,7 @@ bidi implementation of tufte title] annotRM['\g_mix_label_tl']= this.getAnnotRichMedia(this.pageNum,'\g_mix_label_tl'); } - \str_if_eq_x:nnF{\g_mix_usrpbtn_tl}{none}{ + \str_if_eq:eeF{\g_mix_usrpbtn_tl}{none}{ if(typeof(ocgBtn\int_use:N\g_mix_rmcnt_int)=='undefined'){ var~ocgs=this.getOCGs(this.pageNum); for(var~i=0;i<ocgs.length;i++){ @@ -15444,7 +15580,7 @@ bidi implementation of tufte title] } \mix_appendtofields:n{\mix_pdflastann:} \hbox_overlap_right:n{\box_use:N\l_mix_poster_box} - \str_if_eq_x:nnTF{\g_mix_usrpbtn_tl}{none}{ + \str_if_eq:eeTF{\g_mix_usrpbtn_tl}{none}{ \hbox_to_wd:nn{\g_mix_wd_tl}{ \vrule~width~\c_zero_dim~height~\g_mix_ht_tl~depth~\g_mix_dp_tl\hss } @@ -15478,7 +15614,7 @@ bidi implementation of tufte title] \mix_uriend: \group_begin: \mix_beginLTR: - \leavevmode + \mode_leave_vertical: %reset various variables \tl_gclear:N\g_mix_overbtn_tl \tl_gclear:N\g_mix_downbtn_tl @@ -15537,7 +15673,6 @@ bidi implementation of tufte title] \tl_set_eq:NN\l_mix_mediabutton_tl\mediabutton \tl_set:Nn\mediabutton{\mix_uribegin:\l_mix_mediabutton_tl} - % \end{macrocode} % \iffalse %</bidi-media9.sty> @@ -16489,14 +16624,11 @@ bidi implementation of tufte title] %\fi % \section{File \texttt{pdfbase-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{pdfbase-xetex-bidi.def}[2020/05/13 v0.3 bidi adaptations for pdfbase package for XeTeX engine] +\ProvidesFile{pdfbase-xetex-bidi.def}[2022/02/18 v0.4 bidi adaptations for pdfbase package for XeTeX engine] \ExplSyntaxOn \cs_set_eq:NN\pbs_outputpage_orig:\@outputpage \cs_set_nopar:Npn\@outputpage{ \int_gincr:N\g_pbs_page_int - \iow_now:Nx\@mainaux{ - \token_to_str:N\pbs@newkey{pbs@last@page}{\int_use:N\g_pbs_page_int} - } \box_if_vertical:cTF{@outputbox}{ \bool_set_true:N\l_pbs_is_vertical_bool }{ @@ -16518,6 +16650,21 @@ bidi implementation of tufte title] % \end{macrocode} % \iffalse %</pdfbase-xetex-bidi.def> +%<*pdflscape-xetex-bidi.def> +%\fi +% \section{File \texttt{pdflscape-xetex-bidi.def}} +% \begin{macrocode} +\ProvidesFile{pdflscape-xetex-bidi.def}[2022/02/18 v0.1 bidi adaptations for pdflscape package for XeTeX engine] +\bidi@patchcmd{\landscape}{\PLS@Rotate{90}}{% + \if@RTL + \PLS@Rotate{-90}% + \else + \PLS@Rotate{90}% + \fi +}{}{} +% \end{macrocode} +% \iffalse +%</pdflscape-xetex-bidi.def> %<*pdfpages-xetex-bidi.def> %\fi % \section{File \texttt{pdfpages-xetex-bidi.def}} @@ -22079,7 +22226,7 @@ to\rtside{\box\bslice\hfil}} %\fi % \section{File \texttt{latex-xetex-bidi.def}} % \begin{macrocode} -\ProvidesFile{latex-xetex-bidi.def}[2022/02/13 v1.3.9 bidi adaptations for `latex.ltx' for XeTeX engine] +\ProvidesFile{latex-xetex-bidi.def}[2022/02/18 v1.4.0 bidi adaptations for `latex.ltx' for XeTeX engine] \newcommand{\TeXXeTOn}{\TeXXeTstate\@ne} \newcommand{\TeXXeTOff}{\TeXXeTstate\z@} \TeXXeTOn @@ -22923,6 +23070,7 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} \input{mathtools-xetex-bidi.def}% }{} \@ifpackageloaded{crop}{\RequirePackage{graphicx}}{} +\@ifpackageloaded{lscape}{\RequirePackage{graphicx}}{} \@ifpackageloaded{sidecap}{\RequirePackage{ragged2e}}{} \@ifpackageloaded{floatrow}{\RequirePackage{color}}{} \@ifpackageloaded{algorithm2e}{\input{algorithm2e-xetex-bidi.def}}{} @@ -22956,7 +23104,9 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} \@ifpackageloaded{ntheorem}{\input{ntheorem-xetex-bidi.def}}{} \@ifpackageloaded{tabularx}{\input{tabularx-xetex-bidi.def}}{} \@ifpackageloaded{longtable}{\input{longtable-xetex-bidi.def}}{} +\@ifpackageloaded{lscape}{\input{lscape-xetex-bidi.def}}{} \@ifpackageloaded{hyperref}{\input{hyperref-xetex-bidi.def}}{} +\@ifpackageloaded{footnotebackref}{\input{footnotebackref-xetex-bidi.def}}{} \@ifpackageloaded{ntheorem-hyper}{\input{ntheorem-hyper-xetex-bidi.def}}{} \@ifpackageloaded{fancybox}{\input{fancybox-xetex-bidi.def}}{} \@ifpackageloaded{fancyhdr}{\input{fancyhdr-xetex-bidi.def}}{} @@ -22971,6 +23121,7 @@ $\@@underline{\hbox{#1}}\m@th$\relax\fi\fi} \@ifpackageloaded{framed}{\input{framed-xetex-bidi.def}}{} \@ifpackageloaded{overpic}{\input{overpic-xetex-bidi.def}}{} \@ifpackageloaded{pdfbase}{\input{pdfbase-xetex-bidi.def}}{} +\@ifpackageloaded{pdflscape}{\input{pdflscape-xetex-bidi.def}}{} \@ifpackageloaded{pdfpages}{\input{pdfpages-xetex-bidi.def}}{} \@ifpackageloaded{lettrine}{\input{lettrine-xetex-bidi.def}}{} \@ifpackageloaded{lineno}{\input{lineno-xetex-bidi.def}}{} diff --git a/macros/xetex/latex/bidi/bidi.pdf b/macros/xetex/latex/bidi/bidi.pdf Binary files differindex b027ae8cee..e995b10831 100644 --- a/macros/xetex/latex/bidi/bidi.pdf +++ b/macros/xetex/latex/bidi/bidi.pdf diff --git a/macros/xetex/latex/xepersian/README b/macros/xetex/latex/xepersian/README index 6bcea9c873..9cf2761710 100644 --- a/macros/xetex/latex/xepersian/README +++ b/macros/xetex/latex/xepersian/README @@ -1,6 +1,6 @@ ____________________ The XePersian package -v23.3 +v23.4 The xepersian package provides a convenient interface for typesetting Persian and English texts in LaTeX, using XeTeX @@ -25,7 +25,7 @@ The announcements for the new releases of the package will also appear in the Discussions space under the Announcements category. -Current version release date: 2022/02/04 +Current version release date: 2022/02/18 ___________________________________________ Vafa Khalighi tex-persian@vafa.ac diff --git a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx index e6421f36bc..7f50f38b2b 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc-intro.ltx @@ -25,7 +25,7 @@ If you use \textsf{\XePersian} package to write any input \TeX\ document, and th * Copyright (c) 2008--2022 Vafa Khalighi * Copyright (c) 2018--2020 bidi-tex GitHub Organization * -* v23.3, 2022/02/04 +* v23.4, 2022/02/18 * * License: LaTeX Project Public License, version * 1.3c or higher (your choice) diff --git a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx index 3cfd1346fa..013d8490a6 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc-title.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc-title.ltx @@ -3,7 +3,7 @@ \begin{document} \title{\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}}\\ \LARGE Persian for \LaTeXe, using {\XeTeX} engine\\[5pt] -\large User documentation for \textcolor{blue!65!black}{version 23.3}} +\large User documentation for \textcolor{blue!65!black}{version 23.4}} \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.}\\ \url{tex-persian@vafa.ac}} \setcounter{page}{0} @@ -14,7 +14,7 @@ \textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}} \Large -User documentation for \textcolor{blue!65!black}{version 23.3}} +User documentation for \textcolor{blue!65!black}{version 23.4}} \vskip 0pt plus 3fill \textit{\large to my Master, \textbf{Ferdowsi The Great}} diff --git a/macros/xetex/latex/xepersian/xepersian-doc.ltx b/macros/xetex/latex/xepersian/xepersian-doc.ltx index e1058567db..ca23adc820 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc.ltx +++ b/macros/xetex/latex/xepersian/xepersian-doc.ltx @@ -1,7 +1,7 @@ \documentclass{ltxdoc} \input{xepersian-doc-preamble.ltx} \hypersetup{% - pdftitle={User documentation for version 23.3 of the XePersian + pdftitle={User documentation for version 23.4 of the XePersian package}% } \begin{document} diff --git a/macros/xetex/latex/xepersian/xepersian-doc.pdf b/macros/xetex/latex/xepersian/xepersian-doc.pdf Binary files differindex 650074eee7..9b78599bff 100644 --- a/macros/xetex/latex/xepersian/xepersian-doc.pdf +++ b/macros/xetex/latex/xepersian/xepersian-doc.pdf diff --git a/macros/xetex/latex/xepersian/xepersian.dtx b/macros/xetex/latex/xepersian/xepersian.dtx index cef2486b84..1142e5a0d7 100644 --- a/macros/xetex/latex/xepersian/xepersian.dtx +++ b/macros/xetex/latex/xepersian/xepersian.dtx @@ -5,7 +5,7 @@ %<*readme> ____________________ The XePersian package -v23.3 +v23.4 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/02/04 +Current version release date: 2022/02/18 ___________________________________________ Vafa Khalighi tex-persian@vafa.ac @@ -119,6 +119,7 @@ by Vafa Khalighi. \generate{\file{latex-localise-misc-xepersian.def}{\from{\jobname.dtx}{table,latex-localise-misc-xepersian.def}}} \generate{\file{natbib-xepersian.def}{\from{\jobname.dtx}{table,natbib-xepersian.def}}} \generate{\file{packages-localise-xepersian.def}{\from{\jobname.dtx}{table,packages-localise-xepersian.def}}} +\generate{\file{url-xepersian.def}{\from{\jobname.dtx}{table,url-xepersian.def}}} \def\MetaPrefix{;;} \def\mapping@postamble{% \MetaPrefix ^^J% @@ -137,7 +138,6 @@ by Vafa Khalighi. \generate{\file{scrbook-xepersian.def}{\from{\jobname.dtx}{table,scrbook-xepersian.def}}} \generate{\file{scrreprt-xepersian.def}{\from{\jobname.dtx}{table,scrreprt-xepersian.def}}} \generate{\file{soul-xepersian.def}{\from{\jobname.dtx}{table,soul-xepersian.def}}} -\generate{\file{tikz.code-xepersian.def}{\from{\jobname.dtx}{table,tikz.code-xepersian.def}}} \generate{\file{tkz-linknodes-xepersian.def}{\from{\jobname.dtx}{table,tkz-linknodes-xepersian.def}}} \generate{\file{tocloft-xepersian.def}{\from{\jobname.dtx}{table,tocloft-xepersian.def}}} \generate{\file{varioref-xepersian.def}{\from{\jobname.dtx}{table,varioref-xepersian.def}}} @@ -168,7 +168,7 @@ by Vafa Khalighi. \documentclass{ltxdoc} \input{xepersian-doc-preamble.ltx} \hypersetup{% - pdftitle={Source documentation for version 23.3 of the XePersian + pdftitle={Source documentation for version 23.4 of the XePersian package}% } \EnableCrossrefs @@ -187,7 +187,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.3}} +%\large Source documentation for \textcolor{blue!65!black}{version 23.4}} % \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.}\\ % \url{tex-persian@vafa.ac}} %\setcounter{page}{0} @@ -198,7 +198,7 @@ by Vafa Khalighi. %\textcolor{blue!65!black}{\Huge The \textsf{\XePersian} \textit{Package}} % %\Large -%Source documentation for \textcolor{blue!65!black}{version 23.3}} +%Source documentation for \textcolor{blue!65!black}{version 23.4}} % %\vskip 0pt plus 3fill %\textit{\large to my Master, \textbf{Ferdowsi The Great}} @@ -246,7 +246,7 @@ by Vafa Khalighi. %\iffalse %<*table> %\fi -%% \CheckSum{10959} +%% \CheckSum{10978} %% \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 @@ -3068,6 +3068,19 @@ by Vafa Khalighi. % \end{macrocode} % \iffalse %</packages-localise-xepersian.def> +%<*url-xepersian.def> +%\fi +% \section{File \texttt{url-xepersian.def}} +% \begin{macrocode} +\ProvidesFile{url-xepersian.def}[2022/02/18 v0.1 adaptations for url package] +\begingroup + \lccode`+=`\% \lccode`\~=`\% + \lowercase {\long\gdef\Url@actpercent{\Url@Edit\Url@String{+}{~}% + \ifnum\Umathcodenum`\%<32768 \def~{\%}\fi}}% +\endgroup% +% \end{macrocode} +% \iffalse +%</url-xepersian.def> %<*persian-tex-text.map> %\fi % \section{File \texttt{persian-tex-text.map}} @@ -3343,20 +3356,6 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET % \end{macrocode} % \iffalse %</soul-xepersian.def> -%<*tikz.code-xepersian.def> -%\fi -% \section{File \texttt{tikz.code-xepersian.def}} -% \begin{macrocode} -\ProvidesFile{tikz.code-xepersian.def}[2020/05/17 v0.2 adaptations for tikz.code.tex file] -\bidi@patchcmd\tikz@finish{% - \tikz@preactions% -}{% - \@@textdigitfont@onfalse% - \tikz@preactions% -}{}{} -% \end{macrocode} -% \iffalse -%</tikz.code-xepersian.def> %<*tkz-linknodes-xepersian.def> %\fi % \section{File \texttt{tkz-linknodes-xepersian.def}} @@ -3478,8 +3477,8 @@ U+003E U+003E <> U+00BB ; >> -> RIGHT POINTING GUILLEMET % \section{File \texttt{xepersian.sty}} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\def\xepersian@version{23.3} -\def\xepersiandate{2022/02/04} +\def\xepersian@version{23.4} +\def\xepersiandate{2022/02/18} \ProvidesPackage{xepersian}[\xepersiandate\space v\xepersian@version\space Persian typesetting in XeLaTeX] \RequirePackage{fontspec} @@ -3657,8 +3656,8 @@ Persian typesetting in XeLaTeX] } } -\newcommand*{\xepersian@@start@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\bgroup\xepersian@textdigitfont\else\fi\fi\fi} -\newcommand*{\xepersian@@stop@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\egroup\else\fi\fi\fi} +\newcommand*{\xepersian@@start@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\let\xepersian@save@@f@family\f@family\xepersian@textdigitfont\else\fi\fi\fi} +\newcommand*{\xepersian@@stop@switch@textdigitfont}{\ifx\f@family\ttdefault\else\if@nonlatin\if@@textdigitfont@on\let\f@family\xepersian@save@@f@family\selectfont\else\fi\fi\fi} \cs_set_eq:NN \__xepersian_settextdigitfont_hook:nn \use_none:nn @@ -4330,7 +4329,7 @@ Persian typesetting in XeLaTeX] \newcommand*{\@xepersian@pdfcustomproperties}{% This is the xepersian package, Version \xepersian@version, - Released February 27, 2022. + Released February 18, 2022. } \newcommand\twocolumnstableofcontents{% @@ -4660,9 +4659,9 @@ number is 999,999,999.}% \@ifpackageloaded{minitoc}{\input{minitoc-xepersian.def}}{} \@ifpackageloaded{natbib}{\input{natbib-xepersian.def}}{} \@ifpackageloaded{soul}{\input{soul-xepersian.def}}{} -\@ifpackageloaded{tikz}{\input{tikz.code-xepersian.def}}{} \@ifpackageloaded{tkz-linknodes}{\input{tkz-linknodes-xepersian.def}}{} \@ifpackageloaded{tocloft}{\@ifclassloaded{memoir}{}{\input{tocloft-xepersian.def}}}{} +\@ifpackageloaded{url}{\input{url-xepersian.def}}{} \@ifpackageloaded{varioref}{\input{varioref-xepersian.def}}{} \@ifclassloaded{article}{\input{article-xepersian.def}}{} \@ifclassloaded{extarticle}{\input{extarticle-xepersian.def}}{} diff --git a/macros/xetex/latex/xepersian/xepersian.pdf b/macros/xetex/latex/xepersian/xepersian.pdf Binary files differindex a85b285515..0d96bb5f82 100644 --- a/macros/xetex/latex/xepersian/xepersian.pdf +++ b/macros/xetex/latex/xepersian/xepersian.pdf |