2017-01-17 8 views
1

В настоящее время я изменяю default pandoc template for Beamer так, чтобы можно было добавить адрес электронной почты автора презентации. Однако, когда я пытаюсь добавить действительный адрес электронной почты, оператор for заканчивается повторным введением значения, даже если имеется только одно значение.pandoc template расширяет встроенную электронную почту несколько раз

Возьмем, к примеру:

--- 
email: '[email protected]' 
--- 

Со следующим templated variable:

$for(email)$ \href{mailto:$email$}{\nolinkurl{$email$}}$sep$ \and $endfor$ 

Я в конечном итоге получение:

\href{mailto:\href{mailto:[email protected]}{\nolinkurl{[email protected]}}}{\nolinkurl{\href{mailto:[email protected]}{\nolinkurl{[email protected]}}}} 

вместо желаемого:

\href{mailto:[email protected]}{\nolinkurl{[email protected]}} 

Если вместо этого я установил email недействительным адресом, например.

--- 
email: 'toad' 
--- 

Получаю значение toad встроенное. Только когда я начну добавлять знак @ и дополнительную букву после того, как появится повторяющееся вложение. Я искал в документах безрезультатно, что может вызвать такое поведение.

+0

Я не могу воспроизвести ни с pandoc 17,1; это может быть связано с тем, где вы устанавливаете это в шаблоне. Вы переопределяете '\ titlepage'? – scoa

ответ

0

При использовании for система шаблонов ожидает массив. В YAML массив может быть записан, например. как это:

--- 
email: 
    - '[email protected]' 
--- 

Edit: но это, кажется, не проблема, не может воспроизвести с pandoc 1.18

+0

Я думал, на основе http://stackoverflow.com/questions/26483499/pandoc-template-with-yaml-metadata, что ключевой подход выше был бы в порядке. – coatless

+0

действительно, см. Мое редактирование ... можете ли вы попробовать в новейшей версии pandoc? – mb21