通过 Pylatex 使用其他语言

通过 Pylatex 使用其他语言

我正在尝试使用 pylatex 将希伯来语打印到 pdf 中。在我尝试模拟格式的示例希伯来语 .tex 文件中,标题如下所示:

%\title{Hebrew document in WriteLatex - מסמך בעברית}
\documentclass{article}
\usepackage[utf8x]{inputenc}
\usepackage[english,hebrew]{babel}
\selectlanguage{hebrew}
\usepackage[top=2cm,bottom=2cm,left=2.5cm,right=2cm]{geometry}

我能够模拟除行之外的整个标题\selectlanguage{hebrew}。我不确定如何使用 pylatex 将其放入我的 .tex 文件中。生成文件其余部分的代码是:

doc = pylatex.Document('basic', inputenc = 'utf8x', lmodern = False, fontenc = None, textcomp = None)

    packages = [Package('babel', options = ['english', 'hebrew']), Package('inputenc', options = 'utf8enc')]
    doc.packages.append(Package('babel', options = ['english', 'hebrew']))

    doc.append(text.decode('utf-8'))
    doc.generate_pdf(clean_tex=False, compiler = "XeLaTeX ")
    doc.generate_tex()

生成的.tex文件的头部内容为:

\documentclass{article}%
\usepackage[utf8x]{inputenc}%
\usepackage{lastpage}%
\usepackage[english,hebrew]{babel}%

您如何得到selectlanguage那条线?我对乳胶还很陌生,因此对于我的术语不太准确,我深表歉意。

答案1

我使用 PyLaTeX 已经有一段时间了,在过去的几年里它发生了几次重大的变化。

但我相信:

doc.preamble.append(Command('selectlanguage', 'hebrew'))

应该这么做。

您可以将其定义SelectLanguage为的扩展CommandBase,但我认为这不值得,因为对于您只调用一次的命令。

因此只需使用通用Command(commandname, arg)函数

相关内容