2015-07-01 12 views
7

Hem html hem de pdf çıktısı oluşturabilmem için, R işaretçisinde denklemler oluşturmak için eqnarray'i nasıl kullanacağımı anlayamıyorum. Bu R markdown output_format='html_document' için çalışır ancak pdf çıktısı için output_format='pdf_document'Hem html hem de pdf çıktıları için R işaretçisinde eqnarray nasıl kullanılır?

My LaTeX equations 
$$ 
\begin{eqnarray} 
A &=& x \\ 
B &=& y 
\end{eqnarray} 
$$ 

bu hata veriyor: Ben $$ sonra bu R markdown pdf çıkışı için çalışır kaldırırsanız

! Missing \endgroup inserted. 
<inserted text> 
       \endgroup 
l.81 \begin{eqnarray} 

pandoc: Error producing PDF from TeX source 
Error: pandoc document conversion failed with error 43 

ama denklem eksik html çıkışı.

My LaTeX equations 
\begin{eqnarray} 
A &=& x \\ 
B &=& y 
\end{eqnarray} 

Burada bir şey özlüyor muyum? Aynı belgeden hem pdf hem de html çıktı üretmenin bir yolu var mı?

+1

Ben LaTeX denklemler kullanılarak HTML olarak oluşturulmuş çünkü bu mümkün olduğunu düşünmüyorum [Mathjax] (http://www.mathjax.org) ve '$$', mathjax eklentisini "etkinleştiren" kod parçasını tanımlar. Bu "$$" olmaksızın kod sadece LaTeX ve tarayıcılar nasıl işleneceğini bilmiyorlar. – SabDeM

+0

Tamam, cevabınız için teşekkürler. Bu çıktı formatı seçimini sınırlamak için R markdown biçimlendirmesi için gerçek bir utanç gibi görünüyor. – John

+0

Şey ... bir fikir, her dosyanın YAML önekini okuyan bir işlev oluşturmak ve çıktı "html_document" olarak ayarlanmışsa, denklem ortamlarından önce ve sonra bazı '$$' s ayarlamak olabilir. Ama bu sadece bir fikir, dürüstçe, böyle bir şeyi kodlamaya nereden başlayacağımı bile bilmiyorum. – SabDeM

cevap

8

Aynı soruna rastladım ve eqnarray'un yukarıda belirtilen sorunlara sahip olduğunu, R işaretlemesi ve knitr bağlamında, aligned ortamının hem PDF hem de HTML çıktısı için çalıştığı bulundu. Bu deneyin:

Burada sadece bir & sembolü olduğunu
My LaTeX equations 
\begin{aligned} 
A &= x \\ 
B &= y 
\end{aligned} 

Not ve aligned çevre için bağlamında hizalama operatörü olduğunu. aligned, eqnarray'a biraz daha farklı bir şekilde çalışır, böylece konuşmak için tek bir sekme durağından daha fazla hizalanır.

Kelime çıkışı için
1

, bu çalışır:

Dürüst
\[ 
\begin{aligned} 
A &= x \\ 
B &= y 
\end{aligned} 
\] 
İlgili konular