2017-11-06 12 views
0

pandocを使用して、YAMLプロローグを使用して次の出力を生成することができました。pandocを使用してコマンドラインからotherlangを設定する

--- 
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 

しかし、コマンドライン引数を使用して動作させることはできません。これは私が試みたものです。

$ pandoc -s -t latex -V lang=fr -V otherlangs="[en]" 

生成します。私は、コマンドラインから解除otherlangs変数を渡す必要がありますどのように

\ifnum 0\ifxetex 1\fi\ifluatex 1\fi=0 % if pdftex 
    \usepackage[shorthands=off,main=french]{babel} 
\else 
    \usepackage{polyglossia} 
    \setmainlanguage[]{french} 
\fi 

任意のヒントを?

答えて

1

私の知る限り、これはYAMLブールまたは文字列をリストにする必要がある

otherlangs値として値

を解析(そしておそらく-V同様)-Mオプションので、可能ではありません。あなたのユースケースは何ですか?

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 
::: 

あなたは絶対にコマンドからこの情報を設定する必要がある場合:あなたは、たとえば、(MANUALを参照)それはlang属性を持つスパンとdivのから抽出されますように手動otherlangsを設定する必要はありません

-line、(あなたがPolyglossia/XeLaTeXを使用している場合)以下の、たとえば、含まれているカスタムLaTeXのテンプレートを使用して:

\setotherlanguage[]{$myOtherLangs$} 

pandoc -V myOtherLangs="english,french"でそれを呼び出すことはあなたのユースケースを解決する必要があります。

+0

ありがとうございます、問題を開きます。私のユースケースはコマンドラインから 'otherlangs'属性を設定することです。 – greut

+0

LaTeXテンプレートを変更することもできます。または、問題を開く前にpandoc-discussで尋ねることもできます。 – mb21

+0

ハックが少ないほど良い結果が得られます。 – greut

関連する問題