![阿拉伯语单元格的表格从右到左呈现](https://linux22.com/image/332134/%E9%98%BF%E6%8B%89%E4%BC%AF%E8%AF%AD%E5%8D%95%E5%85%83%E6%A0%BC%E7%9A%84%E8%A1%A8%E6%A0%BC%E4%BB%8E%E5%8F%B3%E5%88%B0%E5%B7%A6%E5%91%88%E7%8E%B0.png)
有没有办法让阿拉伯单元格的表格从右到左呈现,就像排版一样。这是一个最小的例子!
\documentclass[]{article}
\usepackage[ utf8 ]{inputenc}
\usepackage[LAE]{fontenc}
\usepackage[arabic]{babel}
\usepackage{array}
\newsavebox{\RTLbox}
\newcolumntype{R}{>{\begin{lrbox}{\RTLbox}}c<{\end{lrbox}\AR{\usebox{\RTLbox}}}}
\begin{document}
أ ب ت
\vspace{2cm}
\begin{tabular}{*{3}R}
أ & ب & ت
\end{tabular}
\end{document}
答案1
我建议你使用polyglossia
并改为xelatex
发动机pdflatex
。
polyglossia
依靠fontspec
包来操作字体,并将bidi
文本的方向从右向左改变(阿拉伯文字)。
您可以根据上下文在 RTL 模式下插入表格,或者在 LTR 模式下插入表格。
平均能量损失
% compile with xelatex
\documentclass[a4paper]{article}
\usepackage{polyglossia}
\setdefaultlanguage[calendar=gregorian]{arabic}
\setotherlanguage{english}
\newfontfamily\arabicfont[Script=Arabic,Scale=1.3]{Amiri} % font for arabic text
\parindent 0pt
\begin{document}
أ ب ت
\vspace{1cm}
\begin{tabular}{*{3}c}
أ & ب & ت
\end{tabular}
\vspace{1cm}
\begin{english}
\begin{tabular}{*{3}c}
a & b & c
\end{tabular}
\end{english}
\end{document}
答案2
您定义了一种新类型的列R
:
\newcolumntype{R}{>{\begin{lrbox}{\RTLbox}}c<{\end{lrbox}\AR{\usebox{\RTLbox}}}}
但是您没有使用它,因为您c
在文档中使用了列的类型。
尝试使用一下\begin{tabular}{*{3}R}
,应该会更好。