我正在尝试使用 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)
函数