%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%                         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