使用pandoc,我设法使用YAML prolog产生以下输出。
---
lang: fr
otherlangs: [en]
---
生成此乳胶代码。
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[shorthands=off,english,main=french]{babel}
\else
\usepackage{polyglossia}
\setmainlanguage[]{french}
\setotherlanguage[]{english}
\fi
但是,我无法使用commande-line参数进行工作。这就是我尝试过的。
$ pandoc -s -t latex -V lang=fr -V otherlangs="[en]"
产生:
\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex
\usepackage[shorthands=off,main=french]{babel}
\else
\usepackage{polyglossia}
\setmainlanguage[]{french}
\fi
有关如何从命令行传递de otherlangs
变量的任何提示?
答案 0 :(得分:1)
AFAIK这是不可能的,因为-M
选项(也可能是-V
)解析值
作为YAML布尔值或字符串值
和otherlangs
需要是一个列表。你的用例是什么?
您不必手动设置otherlangs
,因为它是使用lang属性从spans和div中提取的(请参阅MANUAL),例如:
my [english words]{lang=en} inside a span
::: {lang=en}
followed by a native div (using this syntax since pandoc 2.0)
with another paragraph
:::
如果您绝对必须从命令行设置此信息,请使用包含以下内容的自定义LaTeX模板(如果您使用的是Polyglossia / XeLaTeX):
\setotherlanguage[]{$myOtherLangs$}
并使用pandoc -V myOtherLangs="english,french"
调用它可以解决您的用例。