从 Microsoft Word 文档创建 LaTeX 表格

从 Microsoft Word 文档创建 LaTeX 表格

我有一份多页的 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}

下图是 XeLaTex 的输出:在此处输入图片描述

这样比较简单,但我仍然必须将每列的内容逐一复制到我的csv文件中。现在,如果可以将单词表直接包含在 latex 中,我很想知道。如果不行,则上述代码有三个小问题:

  1. 如您所见,波斯语和英语必须交换位置。波斯语在左边,英语在右边。

  2. 我如何添加另一列以便在其中包含每行自动生成的数字?

  3. 我怎样才能在文件中添加数据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}

相关内容