使用pandoc从命令行设置otherlang

时间:2017-11-06 15:00:50

标签: latex pandoc

使用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变量的任何提示?

1 个答案:

答案 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"调用它可以解决您的用例。