2015-02-20 7 views
2

У меня есть документ с уценкой с большим количеством уравнений (mathjax, я думаю), который отлично отображает приложение. Marked 2. Когда я пытаюсь преобразовать его в pdf с pandoc, чтобы создать библиографию , Я получаю сообщение об ошибке.Как преобразовать уравнения уценки в pdf с помощью pandoc

Например, с

\\[ \mu_{s,h,d,y} = \left\{ 
    \begin{array}{1 1} 
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad \text{for $t_{s,h,d-1,y}$ is real} \\ 
    \omega_{s,h,d,y} & \quad \text{for $t_{s,h,d-1,y}$ is not real} 
    \end{array} \right. 
\\] 

Похоже

enter image description here

Однако, когда я бегу

pandoc -H format.sty -V fontsize=12pt --bibliography northeast_temperature_refs.bib --csl=american-geophysical-union.csl northeast_temperature_ms2.md -o northeast_temperature_ms.pdf --mathjax 

с или без --mathjax я получаю следующее сообщение об ошибке

! Missing $ inserted. 
<inserted text> 
       $ 
l.268 \textbackslash{}{[} \mu 

pandoc: Error producing PDF from TeX source 

Если я пытаюсь использовать $$ вместо \\[ как:

$$ 
\mu_{s,h,d,y} = \left\{ 
    \begin{array} 
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad \text{for $$t_{s,h,d-1,y}$$ is real} \\ 
    \omega_{s,h,d,y} & \quad \text{for $$t_{s,h,d-1,y}$$ is not real} 
    \end{array} \right. 
$$ 

Я получаю следующее сообщение об ошибке:

! LaTeX Error: Illegal character in array arg. 

See the LaTeX manual or LaTeX Companion for explanation. 
Type H <return> for immediate help. 
...            

l.278 \begin{array}{1 1} 

pandoc: Error producing PDF from TeX source 

Это мой первый раз когда-либо пытался писать уравнения вне консервированный поэтому любая помощь будет оценена по достоинству. Я думал, что делаю такую ​​хорошую работу, когда делал быстрые проверки с Marked, но, видимо, это не работает с pandoc, как у меня.

Я нахожусь на Mac с Yosemite и имею MacTex.

ответ

0

Я думаю, что pandoc не охватывает команду массива, так как ваша команда не работает для меня в ноутбуке IPython. Однако, заменив команду массива с cases заявления делает работу для меня:

\\[ \mu_{s,h,d,y} = \begin{cases} 
    \omega_{s,h,d,y} + \delta_{s}(t_{s,h,d-1,y} - \omega_{s,h,d-1,y}) & \quad \text{for $t_{s,h,d-1,y}$ is real} \\ 
    \omega_{s,h,d,y} & \quad \text{for $t_{s,h,d-1,y}$ is not real} 
    \end{cases} 
\\] 
+2

Это не работает для меня, используя преобразование pandoc простого md-файла в командной строке, но если я буду заменять '\\ [' и '\\]' на '$$', тогда все работает так, как ожидалось , –

+0

Кажется, что pandoc не распознает \\ [и использует $$ вместо этого, а Marked использует \\ [и не распознает $$. – djhocking

+1

Команда массива должна работать как в MathJax, так и в LaTeX, если Pandoc или Marked/MultiMarkdown передают ее правильно. –

3

Выраженных использует другой процессор уценки под капотом (MultiMarkdown), чем Pandoc, который имеет другой синтаксис для уравнений (\\[ \\] вместо $$). Если вы хотите писать в одном формате как для предварительного просмотра/HTML, так и для pandoc PDF/любого другого вывода, вы можете изменить процессор Marked на Pandoc (направления here). Таким образом, вы можете использовать синтаксис $$ для всего.

+1

В качестве альтернативы вы можете запустить pandoc с расширением уравнения MMD [включено] (http://johnmacfarlane.net/pandoc/README.html#non-pandoc-extensions): 'pandoc -f markdown + tex_math_double_backslash -t pdf' –

+0

Удивительно, большое спасибо! Теперь я чувствую, что заплатить за Marked было вполне достойно (приятное приложение). – djhocking

Смежные вопросы