%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% author: Sidi Mohamed LAKHDAR %%%%%%%%%%%%%%%% arabi-add package version: 1.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{arabi-add}[2015/06/20 Standard LaTeX package] % % \RequirePackage{atveryend} \RequirePackage{ifthen} \usepackage{xcolor} \RequirePackage{hyperref} \hypersetup{unicode=true} \hypersetup{colorlinks=true,linkcolor=blue} \RequirePackage{bookmark} \bookmarksetup{color=blue} \RequirePackage{datatool} \DTLsetseparator{ } \RequirePackage{amsthm} % % \renewcommand{\newtheorem}[2]{ \newcounter{#1}\setcounter{#1}{1} \expandafter\def\csname the#1\endcsname{\textLR{\arabic{#1}}} \newenvironment{#1}{\noindent\AR{\mateen #2} \csname the#1\endcsname. \normalsize\dimnah}{\stepcounter{#1}\par} } \newcommand{\partnam}{الجزء} \newcommand{\linepart}[3]{ ~~\\~~\setlength{\parindent}{#2}\par \LRmbox{\hyperlink{\arabic{part}}{\AR{\fontlinepart\partnam\;\textLR{\thepart}\hspace{.5cm}#1}}} \hfill\hspace{.2cm} \LRmbox{\pageref*{\arabic{part}}} \hspace{#3}~~\noindent\par } \newcommand{\fontlinepart}{\mateen} \newlength{\slinepart}\setlength{\slinepart}{3cm} \newlength{\flinepart}\setlength{\flinepart}{0cm} \newcommand{\linesec}[3]{ ~~\setlength{\parindent}{#2}\par \LRmbox{\hyperlink{\arabic{section}.\arabic{part}}{\AR{#1}\hspace{.5cm}\textLR{\thesection}}} \dotfill\hspace{.2cm} \LRmbox{\pageref*{\arabic{part}.\arabic{section}}} \hspace{#3}~~\noindent\par } \newcommand{\fontlinesec}{\mateen} \newlength{\slinesec}\setlength{\slinesec}{0cm} \newlength{\flinesec}\setlength{\flinesec}{1cm} \newcommand{\linessec}[3]{ \setlength{\parindent}{#2}\par \LRmbox{\hyperlink{\arabic{subsection}.\arabic{section}.\arabic{part}}{\AR{#1}\hspace{.5cm} \textLR{\thesubsection}}} \dotfill\hspace{.2cm} \LRmbox{\pageref*{\arabic{part}.\arabic{section}.\arabic{subsection}}} \hspace{#3}~~\noindent\par } \newcommand{\fontlinessec}{\mohanad} \newlength{\slinessec}\setlength{\slinessec}{1cm} \newlength{\flinessec}\setlength{\flinessec}{2cm} \newcommand{\linesssec}[3]{ \setlength{\parindent}{#2}\par \LRmbox{\hyperlink{\arabic{subsubsection}.\arabic{subsection}.\arabic{section}.\arabic{part}}{\AR{#1}\hspace{.5cm}\textLR{\thesubsubsection}}}% \dotfill\hspace{.2cm} \LRmbox{\pageref*{\arabic{part}.\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}} \hspace{#3}~~\noindent\par } \newcommand{\fontlinesssec}{\mohanad} \newlength{\slinesssec}\setlength{\slinesssec}{0.5cm} \newlength{\flinesssec}\setlength{\flinesssec}{3cm} \newcommand{\titlepart}[4]{ \setlength{\parindent}{0cm}\pdfbookmark[0]{\partnam\;\thepart: #1}{\arabic{part}} \par\addvspace{#3}\LARGE#2{ \AR{\partnam\;\LRmbox{\thepart}}~~\\ \hypertarget{\arabic{part}}{} \LRmbox{\label{\arabic{part}}}#1 \nopagebreak[4]} \par\addvspace{#4}\normalsize } \newcommand{\fonttitlepart}{\textmateen} \newlength{\btitlepart}\setlength{\btitlepart}{2cm} \newlength{\atitlepart}\setlength{\atitlepart}{1cm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\titlesec}[4]{\pdfbookmark[1]{\thesection - #1}{\arabic{section}\arabic{part}} \setlength{\parindent}{0cm} \par\addvspace{#3}\Large#2{ \LRmbox{\thesection}\hspace{.6cm}\hypertarget{\arabic{section}.\arabic{part}}{} \LRmbox{\label{\arabic{part}.\arabic{section}}}#1 \nopagebreak[4]} \par\addvspace{#4}\normalsize } \newcommand{\fonttitlesec}{\textmateen} \newlength{\btitlesec}\setlength{\btitlesec}{.6cm} \newlength{\atitlesec}\setlength{\atitlesec}{.4cm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\titlessec}[4]{\pdfbookmark[2]{\thesubsection - #1}{\arabic{subsection}\arabic{section}\arabic{part}} \setlength{\parindent}{0cm} \par\addvspace{#3}\large#2{ \LRmbox{\thesubsection}\hspace{.6cm} \hypertarget{\arabic{subsection}.\arabic{section}.\arabic{part}}{} \LRmbox{\label{\arabic{part}.\arabic{section}.\arabic{subsection}}}#1 \nopagebreak[4]} \par\addvspace{#4}\normalsize } \newcommand{\fonttitlessec}{\textmateen} \newlength{\btitlessec}\setlength{\btitlessec}{.5cm} \newlength{\atitlessec}\setlength{\atitlessec}{.3cm} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\titlesssec}[4]{ \pdfbookmark[3]{\thesubsubsection - #1}{\arabic{subsubsection}\arabic{subsection}\arabic{section}\arabic{part}} \setlength{\parindent}{0cm} \par\addvspace{#3}#2{ \LRmbox{\thesubsubsection}\hspace{.6cm} \hypertarget{\arabic{subsubsection}.\arabic{subsection}.\arabic{section}.\arabic{part}}{} \LRmbox{\label{\arabic{part}.\arabic{section}.\arabic{subsection}.\arabic{subsubsection}}}#1 \nopagebreak[4]} \par\nopagebreak\addvspace{#4}\normalsize } \newcommand{\fonttitlesssec}{\textmohanad} \newlength{\btitlesssec}\setlength{\btitlesssec}{.4cm} \newlength{\atitlesssec}\setlength{\atitlesssec}{.2cm} \AtBeginDocument{% \IfFileExists{\jobname-toc/filetocar.txt}{ \renewcommand{\tableofcontents}{\noindent \textmateen{\Large الفهرس}~~\\ \normalsize \DTLloaddb{TocARR}{\jobname-toc/filetocar.txt} \setcounter{part}{0}\newcounter{ssss} \DTLforeach{TocARR}{\secAR=part}{ \ifthenelse{\arabic{part}=0}{ \DTLloaddb{TocARR.\arabic{part}}{\jobname-toc/filetocar-\arabic{part}.txt} \setcounter{section}{0} \DTLforeach{TocARR.\arabic{part}}{\secARR=section}{ \ifthenelse{\arabic{section}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}.txt} \setcounter{subsection}{0} \DTLforeach{TocARR.\arabic{part}.\arabic{section}}{\secARRR=subsection}{ \ifthenelse{\arabic{subsection}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} }{ \linessec{\fontlinessec\secARRR}{\slinessec}{\flinessec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} }\setcounter{subsection}{0} }\setcounter{subsubsection}{0} \stepcounter{section} }{ \linesec{\fontlinesec\secARR}{\slinesec}{\flinesec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}.txt} \setcounter{subsection}{0} \DTLforeach{TocARR.\arabic{part}.\arabic{section}}{\secARRR=subsection}{ \ifthenelse{\arabic{subsection}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} }{ \linessec{\fontlinessec\secARRR}{\slinessec}{\flinessec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} } }\setcounter{subsection}{0} \stepcounter{section} } }\setcounter{section}{0} \stepcounter{part} }{ \linepart{\fontlinepart\secAR}{\slinepart}{\flinepart}% \DTLloaddb{TocARR.\arabic{part}}{\jobname-toc/filetocar-\arabic{part}.txt} \setcounter{section}{0} \DTLforeach{TocARR.\arabic{part}}{\secARR=section}{ \ifthenelse{\arabic{section}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}.txt} \setcounter{subsection}{0} \DTLforeach{TocARR.\arabic{part}.\arabic{section}}{\secARRR=subsection}{ \ifthenelse{\arabic{subsection}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} }{ \linessec{\fontlinessec\secARRR}{\slinessec}{\flinessec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} } }\setcounter{subsection}{0} \stepcounter{section} }{ \linesec{\fontlinesec\secARR}{\slinesec}{\flinesec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}.txt} \setcounter{subsection}{0} \DTLforeach{TocARR.\arabic{part}.\arabic{section}}{\secARRR=subsection}{ \ifthenelse{\arabic{subsection}=0}{ \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} }{ \linessec{\fontlinessec\secARRR}{\slinessec}{\flinessec}% \DTLloaddb{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}} {\jobname-toc/filetocar-\arabic{part}-\arabic{section}-\arabic{subsection}.txt} \setcounter{subsubsection}{1}\setcounter{ssss}{1} \whiledo{\arabic{subsubsection}<\DTLrowcount{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}}{ \stepcounter{ssss} \DTLgetvalue{\secARRRR}{TocARR.\arabic{part}.\arabic{section}.\arabic{subsection}}{\arabic{ssss}}{1} \linesssec{\fontlinesssec\secARRRR}{\slinesssec}{\flinesssec}% \stepcounter{subsubsection} }\setcounter{subsubsection}{0} \stepcounter{subsection} } }\setcounter{subsection}{0} \stepcounter{section} } }\setcounter{section}{0} \stepcounter{part} } }\setcounter{part}{0} } }{ \renewcommand{\tableofcontents}{ \noindent\textmateen{\Large الفهرس}~~\\ \normalsize } } } \DTLnewdb{TocAR} \DTLnewrow{TocAR} \DTLnewdbentry{TocAR}{part}{\DTLstringnull} \renewcommand{\part}[1]{ \refstepcounter{part} \setcounter{section}{0} \setcounter{subsection}{0} \setcounter{subsubsection}{0} \titlepart{#1}{\fonttitlepart}{\btitlepart}{\atitlepart} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewrow{TocAR}\DTLnewdbentry{TocAR}{part}{#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}} \DTLnewrow{TocAR.\arabic{part}} \DTLnewdbentry{TocAR.\arabic{part}}{section}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}.\arabic{section}} \DTLnewrow{TocAR.\arabic{part}.\arabic{section}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}}{subsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewrow{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}}{subsubsection}{\DTLstringnull} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \renewcommand{\thepart}{\textLR{\Roman{part}}} \DTLnewdb{TocAR.0} \DTLnewrow{TocAR.0} \DTLnewdbentry{TocAR.0}{section}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \setcounter{section}{0} \renewcommand{\section}[1]{ \refstepcounter{section} \setcounter{subsection}{0} \setcounter{subsubsection}{0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titlesec{#1}{\fonttitlesec}{\btitlesec}{\atitlesec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewrow{TocAR.\arabic{part}} \DTLnewdbentry{TocAR.\arabic{part}}{section}{#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}.\arabic{section}} \DTLnewrow{TocAR.\arabic{part}.\arabic{section}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}}{subsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewrow{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}}{subsubsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \renewcommand{\thesection}{\textLR{\arabic{section}}} \DTLnewdb{TocAR.0.0} \DTLnewrow{TocAR.0.0} \DTLnewdbentry{TocAR.0.0}{subsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand{\subsection}[1]{ \refstepcounter{subsection} \setcounter{subsubsection}{0} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titlessec{#1}{\fonttitlessec}{\btitlessec}{\atitlessec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewrow{TocAR.\arabic{part}.\arabic{section}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}}{subsection}{#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewdb{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewrow{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}}{subsubsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifthenelse{\arabic{section}=0}{ \PackageWarning{arabi-toc}{Package arabi-toc Warning: the hierarchy of the article is wrong: a subsection should be contained in a section ...} }{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \renewcommand{\thesubsection}{\textLR{\arabic{subsection}}.\thesection} \DTLnewdb{TocAR.0.0.0} \DTLnewrow{TocAR.0.0.0} \DTLnewdbentry{TocAR.0.0.0}{subsubsection}{\DTLstringnull} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \renewcommand{\subsubsection}[1]{ \refstepcounter{subsubsection} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \titlesssec{#1}{\fonttitlesssec}{\btitlesssec}{\atitlesssec} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \DTLnewrow{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}} \DTLnewdbentry{TocAR.\arabic{part}.\arabic{section}.\arabic{subsection}}{subsubsection}{#1} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifthenelse{\arabic{subsection}=0}{ \PackageWarning{arabi-toc}{Package arabi-toc Warning: the hierarchy of the article is wrong: a subsubsection should be contained in a subsection ...} }{} %%%%%%%%%%%%%%%%%%%%%%%%%%%%% } \renewcommand{\thesubsubsection}{\textLR{\arabic{subsubsection}}.\thesubsection} \AtVeryEndDocument{% \begingroup \let\SavedOpenout\openout% \let\SavedWrite\write% \def\openout{\immediate\SavedOpenout}% \def\write{\immediate\SavedWrite}% \DTLsavedb{TocAR}{\jobname-toc/filetocar.txt} \newcounter{sect}\newcounter{sectt}\newcounter{secttt} \setcounter{sect}{0} \whiledo{\arabic{sect}<\DTLrowcount{TocAR}}{ \DTLsavedb{TocAR.\arabic{sect}}{\jobname-toc/filetocar-\arabic{sect}.txt} \setcounter{sectt}{0} \DTLforeach{TocAR.\arabic{sect}}{}{ \DTLsavedb{TocAR.\arabic{sect}.\arabic{sectt}}{ \jobname-toc/filetocar-\arabic{sect}-\arabic{sectt}.txt} \setcounter{secttt}{0} \DTLforeach{TocAR.\arabic{sect}.\arabic{sectt}}{}{ \DTLsavedb{TocAR.\arabic{sect}.\arabic{sectt}.\arabic{secttt}}{ \jobname-toc/filetocar-\arabic{sect}-\arabic{sectt}-\arabic{secttt}.txt} \stepcounter{secttt} } \stepcounter{sectt} } \stepcounter{sect} } \endgroup } \endinput