表格格式,使用 \setmainlanguage[numerals=maghrib]{arabic}

表格格式,使用 \setmainlanguage[numerals=maghrib]{arabic}

我有这个表格

\documentclass[10pt,a4paper,border=20pt,varwidth=1.3\linewidth]{standalone}
    \usepackage{mathtools}
    \usepackage[inline]{enumitem}
    \usepackage{polyglossia}
    %setting the arabic number 
    \setmainlanguage[numerals=maghrib]{arabic}
    %% Setting a font
    \newfontfamily\arabicfont[Script=Arabic]{Amiri}
    \setotherlanguage{english}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    \begin{document}
    \begin{enumerate}[itemsep=0pt,parsep=2pt]
    \item
    $0,45+0,25$
    \item
    \begin{tabular}{ c c c c c }
    0&,&2&5&\\
    0&,&4&5&+\\
    \hline
    \end{tabular}
    \end{enumerate}
    \end{document}

但是我得到的不是 0.25,而是 52.0;我得到的不是 0.45+,而是 +54.0。我的问题是,如何才能得到正确的 0.25 和 0.45+?

答案1

要保持表格 LTR,您可以将其更改为数学环境,例如array。这些通常居中,但您可以将其包装在multline允许使用的环境中。数学环境会在表格上方和下方产生间隙,您可以通过设置和\shoveleft来减少间隙。\abovedisplayskip\belowdisplayskip

放在一起:

\documentclass{article}
\usepackage{mathtools}
\usepackage[inline]{enumitem}
\usepackage{polyglossia}
%setting the arabic number 
\setmainlanguage[numerals=maghrib]{arabic}
%% Setting a font
\newfontfamily\arabicfont[Script=Arabic]{Amiri}
\setotherlanguage{english}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{enumerate}[itemsep=0pt,parsep=2pt]
\item
$0,45+0,25$
\item \setlength{\abovedisplayskip}{-1Em}\setlength{\belowdisplayskip}{-1Em}
\begin{multline*}
\shoveleft{\begin{array}{ c c c c c }
0&,&2&5&\\
0&,&4&5&+\\
\hline
\end{array}}
\end{multline*}
\item $0,70$
\end{enumerate}
\end{document}

在此处输入图片描述

相关内容