Вставьте уравнение R, например `z‹-x^2/y^2`, в Markdown в аккуратной форме.

У меня есть уравнение типа «z=x^2/y^2», записанное в r, например: z<-'x^2/y^2' , z<-function(x,y) x^2/y^2 или z<-quote( x^2/y^2). Я хочу перевести его в аккуратную форму (например, LaTeX), чтобы я мог вставить его в R Markdown. Я хочу связать его в формате .doc или .odt. Ни одно из решений, которые я нашел, меня не удовлетворило. Итак, я попробовал это:

>latexTranslate("x^2/y^2")#  It doesn`t expand fractions.
>xtable(z)
Error in UseMethod("xtable") : 
  no applicable method for 'xtable' applied to an object of class "character"
>z<-matrix(z)
>xtable(z)

Я получил:

\begin{table}[ht]
\centering
\begin{tabular}{rl}
  \hline
 & x \\ 
  \hline
1 & x\verb|^|2/y\verb|^|2 \\ 
   \hline
\end{tabular}
\end{table}

Я попытался вставить его в уценку с помощью my_equation $that_previous_equation$ ,$$that_previous_equation$$ без должного результата.

>z<-'x^2/y^2'
>toLatex(z)

Error in UseMethod("toLatex") : 
  no applicable method for 'toLatex' applied to an object of class "character"

Затем я попробовал то же самое после преобразования уравнения в класс «вызов»

Error in UseMethod("toLatex") : 
  no applicable method for 'toLatex' applied to an object of class "name"

Я также попытался начать то же самое с class(z)=expression.

Чем

> Hmisc::latex(z,file="")
i got:
%latex.default(z, file = "")%
\begin{table}[!tbp]
\begin{center}
\begin{tabular}{l}
\hline\hline
\multicolumn{1}{c}{}\tabularnewline
\hline
x^2/y^2\tabularnewline
\hline
\end{tabular}\end{center}

\end{table}

Я пытался вставить его в Markdown безрезультатно. Markdown дал мне пустой .doc, если я вставил его, или $$ $$, если я вставил его как уравнение. Пакеты 'knitr' и 'markdown' были включены.
Затем я сравнил это уравнение LaTeX с тем, что получил из онлайн-конвертера. Он выглядел усталым по-другому: $\frac{x^{2}}{y^{2}}$. Мне удалось его связать.
Как сгенерировать из R что-то, что понимает Markdown?


person Alex Alex    schedule 29.07.2015    source источник
comment
Итак, вы хотите, чтобы x^2/y^2 было переведено на \frac{x^2}{y^2}? Это сбивает меня с толку, так как x^2/y^2 является вполне допустимым синтаксисом LaTeX. Как функция перевода должна знать, что вы хотите? Есть ли причина, по которой вы не можете написать формулы LaTeX самостоятельно?   -  person Roland    schedule 29.07.2015
comment
Роланд. Я хочу сделать это автоматически. Я хочу использовать этот процесс в шаблоне. Этот шаблон проанализирует некоторые данные и формулы и выдаст мне результат в аккуратной форме .doc.   -  person Alex Alex    schedule 29.07.2015
comment
asciimath, кажется, понимает эту дробь, но я не знаю конвертера в латекс   -  person baptiste    schedule 29.07.2015


Ответы (1)


Я нашел решение самостоятельно:

library(Ryacas)
z<-"x^2/y^2"
Sym(z)
TeXForm(z)

Это дает "$\frac{x ^{2}}{y ^{2}} $". Оно работает.

person Alex Alex    schedule 29.07.2015
comment
Всего лишь крошечная ошибка, но мне потребовалось несколько минут, чтобы понять: это TeXForm (с заглавной X). - person CL.; 29.07.2015