2

I'm trying to write my mathematical courses in arabic using the Arabi package, but it seem that there is a confusion with TcolorBox one, specially the Boxes in page 2 doesn't appear correctly. Here is the code I'm using, I 'll be thankful for your help:

\documentclass[a4paper]{report}
\usepackage[margin=2.5cm]{geometry}
\usepackage[inline]{enumitem}
\usepackage{array}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[most]{tcolorbox}
\tcbuselibrary{skins,breakable,xparse,listings,theorems} %,listingsutf8
\usepackage{float}
\usepackage{esvect}
\usepackage[pdfstartview=FitH,colorlinks=true,urlcolor=blue,linkcolor=black]{hyperref}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc,intersections}
\usepackage{pgfplots}
\usepackage{xcolor}

%=============== Language encoding ===================
\usepackage[utf8]{inputenc} 
\usepackage[LAE,LFE]{fontenc} 
\usepackage[arabic,french,english]{babel}

%====================================================
\renewcommand{\thesection}{\textLR{\arabic{section}}}
%====================================================
\renewcommand{\thesubsection}{\textLR{\arabic{section}}.\textLR{\arabic{subsection}}}
\renewcommand{\thepage}{\textLR{\arabic{page}}}
%===================================================
\renewcommand{\thechapter}{\textLR{\arabic{chapter}}}
\makeatletter
\renewcommand{\@chapapp}{}
\makeatother
%==================================================
\renewcommand{\theenumi}{\textLR{\arabic{enumi}}-}
\renewcommand{\labelenumi}{\theenumi}
\renewcommand{\theenumii}{\alph{enumii})}
\renewcommand{\labelenumii}{\theenumii}
\renewcommand{\theequation}{\textLR{\arabic{equation}}}

%================================================

%=============user defined command ==============
\newcommand{\RL}{\textRL}
\newcommand{\LR}{\textLR}
%================================================
\colorlet{darkred}{red!70!black}
\colorlet{myblue}{blue!20!white}
\newcommand{\darkred}[1]{\textcolor{darkred}{#1}}
\newcommand{\red}[1]{\textcolor{red}{#1}}

\tcbset{enhanced,attach boxed title to top right=
{yshift=-\tcboxedtitleheight/3,xshift=-5mm},sharp corners=northeast,arc=10pt,fonttitle=\sffamily,rightrule=1.5mm,box align=top,
nobeforeafter }



\AtBeginEnvironment{tikzpicture}{\selectlanguage{english}}
\tikzset{font=\selectlanguage{arabic}}
%============================================================
\AtBeginEnvironment{tcolorbox}{\selectlanguage{english}}
%=====================================================
\begin{document}
\selectlanguage{arabic}

\chapter{\RL{ الدوال اللوغاريتمية}}
\vspace{1cm}
\thispagestyle{empty}


\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]%,halign upper=right
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}

للغة العربية هي أكثر اللغات تحدثاً ضمن مجموعة اللغات السامية، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 422 مليون نسمة،[2](1) ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا و إثيوبيا و جنوب السودان و إيران. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها.[4][5] العربية هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كتبت بها الكثير من أهم الأعمال الدينية والفكرية اليهودية في العصور الوسطى. وأثّر انتشار الإسلام، وتأسيسه دولاً، في ارتفاع مكانة اللغة العربية، وأصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون، وأثرت العربية تأثيراً مباشراً أو غير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردوية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية و الصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية، كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.

العربية لغة رسمية في كل دول الوطن العربي إضافة إلى كونها لغة رسمية في تشاد وإريتريا وإسرائيل. وهي إحدى اللغات الرسمية الست في منظمة الأمم المتحدة، ويُحتفل باليوم العالمي للغة العربية في 18 ديسمبر كذكرى اعتماد العربية بين لغات العمل في الأمم المتحدة.[6]

واللغة العربية من أغزر اللغات من حيث المادة اللغوية، فعلى سبيل المثال يحوي معجم لسان العرب لابن منظور من القرن الثالث عشر أكثر من 80 ألف مادة، بينما في اللغة الإنجليزية فإن قاموس صموئيل جونسون - وهو من أوائل من وضع قاموساً إنجليزياً من القرن الثامن عشر-[7] يحتوي على 42 ألف كلمة.[8]

تحتوي العربية على 28 حرفاً مكتوباً. ويرى بعض اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبح عدد الحروف 29. تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية وعلى عكس الكثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.

\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]%,halign upper=right
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}

للغة العربية هي أكثر اللغات تحدثاً ضمن مجموعة اللغات السامية، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 422 مليون نسمة،[2](1) ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا و إثيوبيا و جنوب السودان و إيران. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها.[4][5] العربية هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كتبت بها الكثير من أهم الأعمال الدينية والفكرية اليهودية في العصور الوسطى. وأثّر انتشار الإسلام، وتأسيسه دولاً، في ارتفاع مكانة اللغة العربية، وأصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون، وأثرت العربية تأثيراً مباشراً أو غير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردوية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية و الصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية، كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.

العربية لغة رسمية في كل دول الوطن العربي إضافة إلى كونها لغة رسمية في تشاد وإريتريا وإسرائيل. وهي إحدى اللغات الرسمية الست في منظمة الأمم المتحدة، ويُحتفل باليوم العالمي للغة العربية في 18 ديسمبر كذكرى اعتماد العربية بين لغات العمل في الأمم المتحدة.[6]

واللغة العربية من أغزر اللغات من حيث المادة اللغوية، فعلى سبيل المثال يحوي معجم لسان العرب لابن منظور من القرن الثالث عشر أكثر من 80 ألف مادة، بينما في اللغة الإنجليزية فإن قاموس صموئيل جونسون - وهو من أوائل من وضع قاموساً إنجليزياً من القرن الثامن عشر-[7] يحتوي على 42 ألف كلمة.[8]

تحتوي العربية على 28 حرفاً مكتوباً. ويرى بعض اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبح عدد الحروف 29. تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية وعلى عكس الكثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.

\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}

\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}
\end{document}

no problem in page1

but in the second page no boxes

hachemy
  • 263
  • 1
    Your document compiles on my system without problems (using pdflatex). Also, I see no confusion in the output. Could you, please, explain the nature of the problem? – Thomas F. Sturm Oct 01 '15 at 14:23
  • Thank you @ThomasF.Sturm for your interest to my question, I have compiled once again the file, there is no problem signalied in the log file, but unfortunately in the second page the two boxes (from line 109 to 129 in the code) doesn't appear in the pdf output. – hachemy Oct 01 '15 at 20:40
  • I added the image of the two pages. – hachemy Oct 01 '15 at 20:59
  • 1
    Now, I see the problem. But, on my system, this does not happen and I get two boxes on the second page. I compiled with pdflatex from MiKTeX which was recently updated. Maybe, just updating your system solves the problem? – Thomas F. Sturm Oct 02 '15 at 05:55
  • Thank you again @ThomasF.Sturm, my be the outdate of MikTeX on my system is the responsible of the problem. Please, how can I update it whitout reistall ? – hachemy Oct 02 '15 at 11:44
  • 1
    See http://miktex.org/howto/update-miktex for doing an update for MiKTeX. – Thomas F. Sturm Oct 02 '15 at 15:16
  • Genial! thank you @ThomasF.Sturm for the update idea, the problem is now resolved and the boxes are nicely on the second page. – hachemy Oct 02 '15 at 16:52

2 Answers2

2

You need to add

fontupper=\selectlanguage{arabic}

in your tcolorbox proprieties.

\documentclass[a4paper]{report}
\usepackage[margin=2.5cm]{geometry}
\usepackage[inline]{enumitem}
\usepackage{array}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage[most]{tcolorbox}
\tcbuselibrary{skins,breakable,xparse,listings,theorems} %,listingsutf8
\usepackage{float}
\usepackage{esvect}

\usepackage[pdfstartview=FitH,colorlinks=true,urlcolor=blue,linkcolor=black]{hyperref}
\usepackage{tikz}
\usepackage{tikzpagenodes}
\usetikzlibrary{calc,intersections}
\usepackage{pgfplots}
\usepackage{xcolor}

%=============== Language encoding ===================
\usepackage[utf8]{inputenc} 
\usepackage[LAE,LFE]{fontenc} 
\usepackage[arabic,french,english]{babel}

%====================================================
\renewcommand{\thesection}{\textLR{\arabic{section}}}
%====================================================
\renewcommand{\thesubsection}{\textLR{\arabic{section}}.\textLR{\arabic{subsection}}}
\renewcommand{\thepage}{\textLR{\arabic{page}}}
%===================================================
\renewcommand{\thechapter}{\textLR{\arabic{chapter}}}
\makeatletter
\renewcommand{\@chapapp}{}
\makeatother
%==================================================
\renewcommand{\theenumi}{\textLR{\arabic{enumi}}-}
\renewcommand{\labelenumi}{\theenumi}
\renewcommand{\theenumii}{\alph{enumii})}
\renewcommand{\labelenumii}{\theenumii}
\renewcommand{\theequation}{\textLR{\arabic{equation}}}

%================================================

%=============user defined command ==============
\newcommand{\RL}{\textRL}
\newcommand{\LR}{\textLR}
%================================================
\colorlet{darkred}{red!70!black}
\colorlet{myblue}{blue!20!white}
\newcommand{\darkred}[1]{\textcolor{darkred}{#1}}
\newcommand{\red}[1]{\textcolor{red}{#1}}

\tcbset{enhanced,attach boxed title to top right=
{yshift=-\tcboxedtitleheight/3,xshift=-5mm},sharp corners=northeast,arc=10pt,fonttitle=\sffamily,rightrule=1.5mm,box align=top, fontupper=\selectlanguage{arabic},
nobeforeafter }



\AtBeginEnvironment{tikzpicture}{\selectlanguage{english}}
\tikzset{font=\selectlanguage{arabic}}
%============================================================
\AtBeginEnvironment{tcolorbox}{\selectlanguage{english}}
%=====================================================
\begin{document}
\selectlanguage{arabic}

\chapter{\RL{ الدوال اللوغاريتمية}}
\vspace{1cm}
\thispagestyle{empty}


\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]%,halign upper=right
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}

للغة العربية هي أكثر اللغات تحدثاً ضمن مجموعة اللغات السامية، وإحدى أكثر اللغات انتشاراً في العالم، يتحدثها أكثر من 422 مليون نسمة،[2](1) ويتوزع متحدثوها في الوطن العربي، بالإضافة إلى العديد من المناطق الأخرى المجاورة كالأحواز وتركيا وتشاد ومالي والسنغال وإرتيريا و إثيوبيا و جنوب السودان و إيران. اللغة العربية ذات أهمية قصوى لدى المسلمين، فهي لغة مقدسة (لغة القرآن)، ولا تتم الصلاة (وعبادات أخرى) في الإسلام إلا بإتقان بعض من كلماتها.[4][5] العربية هي أيضاً لغة شعائرية رئيسية لدى عدد من الكنائس المسيحية في الوطن العربي، كما كتبت بها الكثير من أهم الأعمال الدينية والفكرية اليهودية في العصور الوسطى. وأثّر انتشار الإسلام، وتأسيسه دولاً، في ارتفاع مكانة اللغة العربية، وأصبحت لغة السياسة والعلم والأدب لقرون طويلة في الأراضي التي حكمها المسلمون، وأثرت العربية تأثيراً مباشراً أو غير مباشر على كثير من اللغات الأخرى في العالم الإسلامي، كالتركية والفارسية والأمازيغية والكردية والأردوية والماليزية والإندونيسية والألبانية وبعض اللغات الإفريقية الأخرى مثل الهاوسا والسواحيلية والتجرية والأمهرية و الصومالية، وبعض اللغات الأوروبية وخاصةً المتوسطية كالإسبانية والبرتغالية والمالطية والصقلية، كما أنها تُدرَّس بشكل رسمي أو غير رسمي في الدول الإسلامية والدول الإفريقية المحاذية للوطن العربي.

العربية لغة رسمية في كل دول الوطن العربي إضافة إلى كونها لغة رسمية في تشاد وإريتريا وإسرائيل. وهي إحدى اللغات الرسمية الست في منظمة الأمم المتحدة، ويُحتفل باليوم العالمي للغة العربية في 18 ديسمبر كذكرى اعتماد العربية بين لغات العمل في الأمم المتحدة.[6]

واللغة العربية من أغزر اللغات من حيث المادة اللغوية، فعلى سبيل المثال يحوي معجم لسان العرب لابن منظور من القرن الثالث عشر أكثر من 80 ألف مادة، بينما في اللغة الإنجليزية فإن قاموس صموئيل جونسون - وهو من أوائل من وضع قاموساً إنجليزياً من القرن الثامن عشر-[7] يحتوي على 42 ألف كلمة.[8]

تحتوي العربية على 28 حرفاً مكتوباً. ويرى بعض اللغويين أنه يجب إضافة حرف الهمزة إلى حروف العربية، ليصبح عدد الحروف 29. تُكتب العربية من اليمين إلى اليسار - ومثلها اللغة الفارسية والعبرية وعلى عكس الكثير من اللغات العالمية - ومن أعلى الصفحة إلى أسفلها.

\begin{tcolorbox}[colback=red!5!white,colframe=red!75!black,title=\RL{تعريف }]%,halign upper=right
\RL{
لتكن
$f$
دالة عددية معرفة على
$\mathbb{R}$
كالتالي:
$f(x)=\frac{x+1}{x-2}$
 }
\end{tcolorbox}
\end{document}

enter image description here

singular
  • 105
1

you can use tcolorbox in polyglossia package (compiler xetex)

\documentclass[a4paper]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{fancyhdr}
\usepackage{tcolorbox}
\tcbuselibrary{skins,breakable,xparse}
\usepackage{float}
\usepackage{esvect}
\usepackage{polyglossia}


\setdefaultlanguage[calendar=gregorian,locale=algeria]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Amiri}
\newfontfamily\arabicfontsf[Script=Arabic,Scale=1.5]{Amiri}


\pagestyle{fancy}
\lhead{}
\tcbset{enhanced,attach boxed title to top right=
{yshift=-\tcboxedtitleheight/3,xshift=-5mm},sharp corners=northeast,arc=10pt,fonttitle=\sffamily,rightrule=1.5mm}

\DeclareTColorBox{Box}{ O{تعريف} O{blue}}
{title={\sffamily #1},colback=#2!5,colframe=#2,boxed title style={size=small,colback=#2}}



\renewcommand{\baselinestretch}{1.2}

%============================================================

\begin{document}





\section{الدوال اللوغارتمية}
\begin{Box}
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 
\end{Box}
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 

\begin{Box}[مثال][red]
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 
الدوال اللوغارتمية الدوال اللوغارتمية
الدوال اللوغارتمية الدوال اللوغارتمية 

\end{Box}
\end{document}

enter image description here

HB khaled
  • 595
  • 1
    Thank you @HB khaled for your responce, the sugestion work well, but I prefer the Arabi package, because I have a lot of work done with this package and the moving to polyslossia will be expensive in time for me. – hachemy Oct 01 '15 at 22:29