我有一份多页的 word 文档文件,其中包含一个包含两列的表格。左列是一个英文单词,在左列的前面提供了波斯语翻译。我想在不使用转换器的情况下将此表格包含在我的 latex 文档中。有办法吗?(也许可以使用datatool
!)到目前为止,我在网上找到的内容如下:
\documentclass{article}
\begin{filecontents*}{table.csv}
English ,فارسی
Euclidean geometry, هندسۀ اقلیدسی
Hippocrates, بقراط
Poetica,بوطیقا
Plato, افلاطون
Al-Hazem, ابن رشد
\end{filecontents*}
\usepackage{xepersian}
\settextfont{Tahoma}
\usepackage{csvsimple}
\begin{document}
\csvautotabular{table.csv}
\end{document}
这样比较简单,但我仍然必须将每列的内容逐一复制到我的csv
文件中。现在,如果可以将单词表直接包含在 latex 中,我很想知道。如果不行,则上述代码有三个小问题:
如您所见,波斯语和英语必须交换位置。波斯语在左边,英语在右边。
我如何添加另一列以便在其中包含每行自动生成的数字?
我怎样才能在文件中添加数据
csv
,每行只有一个波斯语和一个英语条目,但让 LaTeX 生成一个四列表格,以便整个表使用的空间减少一半?
抱歉,我不知道该如何处理该字体。
PS 我把字体改成了Tahoma。
答案1
事实证明,使用跨页的表格和在封闭的multicol
环境中也几乎不可能。
我设法做到了一切,除了让表格在同一页中跨越两列。然而,最后一部分已经从这是 David Carlisle 的回答。
顺便说一句,我已经更改了波斯字体(我使用的字体是免费的),但您可以自由地更换您的字体。
输出
代码
\documentclass{article}
\usepackage[margin=2cm]{geometry}
\usepackage{longtable,csvsimple,booktabs}
\usepackage{fontspec} % for the Latin alphabet
\usepackage{multicol}
\usepackage{array}
\usepackage{xepersian}
\settextfont{Nazanin} % font for Persian
\setmainfont[Script=Arabic]{Times New Roman} % Latin Alphabet
\begin{filecontents*}{xtable.csv}
English, Persian
Euclidean geometry, هندسۀ اقلیدسی
Hippocrates, بقراط
Poetica,بوطیقا
Plato, افلاطون
Al-Hazem, ابن رشد
...
more content here
\end{filecontents*}
\newsavebox\ltmcbox
\begin{document}
\begin{multicols}{2}
\setbox\ltmcbox\vbox{
\makeatletter\col@number\@ne
\csvreader[
longtable=rl>{\beginR}l,
table head=
& \bfseries English & \bfseries فارسی \\
\midrule\endhead
\bottomrule\endfoot,
late after line=\\]%
{xtable.csv}{English=\English, Persian=\Persian}%
{\thecsvrow & \English & \Persian}
\unskip
\unpenalty
\unpenalty}
\unvbox\ltmcbox
\end{multicols}
\end{document}