例如 2.41 变成 41.2
\documentclass{book}
\usepackage[format=hang, labelfont=bf]{caption}
\usepackage{xepersian}
\settextfont[Scale=2]{Times New Roman}
\setlatintextfont[Scale=2]{Times New Roman}
\defpersianfont\Sayeh[Scale=1.5]{Times New Roman}
\usepackage{booktabs}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{rrl}
\toprule
\multicolumn{1}{l}{\textbf{النسبة (\%)}} & \multicolumn{1}{l}{\textbf{المساحة (كام²)}} & \textbf{الجماعة} \\
\midrule
2.41 & 4.22 & زريزر \\
3.79 & 6.66 & خلالفة \\
26.51 & 46.56 & مزراوة \\
\midrule
\textbf{100.00} & \textbf{175.65} & \textbf{المجموع} \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
答案1
当您使用xepersian
包(在end of
您的包中)时,您的文本将从右到左书写。
但是对于十进制数,此结构将发生变化(这是故意的;例如,它用于章节编号和方程式编号...)。
xepersian 包有一个很好的命令用于这种情况。您应该\setlatin
为此使用命令。
而且我也使用 array
扩展包column definitions
。
这是您的代码:
\documentclass{book}
\usepackage[format=hang, labelfont=bf]{caption}
\usepackage{booktabs}
\usepackage{array}% for extended column definitions
\usepackage{xepersian}
\settextfont[Scale=2]{Times New Roman}
\setlatintextfont[Scale=2]{Times New Roman}
\defpersianfont\Sayeh[Scale=1.5]{Times New Roman}
\begin{document}
\begin{table}[htbp]
\centering
\caption{Add caption}
\begin{tabular}{>{\setlatin}r>{\setlatin}r>{\setlatin}l}
\toprule
\multicolumn{1}{l}{\textbf{النسبة (\%)}} & \multicolumn{1}{l}{\textbf{المساحة (كام²)}} & \textbf{الجماعة} \\
\midrule
2.41
&
4.22
& زريزر \\
3.79 & 6.66 & خلالفة \\
26.51 & 46.56 & مزراوة \\
\midrule
\textbf{100.00} & \textbf{175.65} & \textbf{المجموع} \\
\bottomrule
\end{tabular}%
\label{tab:addlabel}%
\end{table}%
\end{document}
这是你的输出:
祝你好运。
答案2
使用 XePersian 时,您的十进制数字会变得混乱。您有 3 个选择:
- 反转数字类型(不推荐)
- 将您的数字置于数学内联模式,
$ $
- 使用波斯语/阿拉伯语小数点代替
.
\documentclass{article}
\usepackage{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\begin{document}
\centering
اعداد \\
12.75\\
75.12\\
$12.75$\\
12٫75 % type ٫ using SHIFT+3 (Persian standard keyboard) or SHIFT+k (Arabic keyboard)
\end{document}