Latex equations exported in markdown - emacs

I'm trying to render latex equations on github.com by exporting markdown of a document in org-mode. The raw latex gets written to the exported file so the equations don't render on the site. Is there a way to get the generated images to appear as markdown file imports? In other words, insert the generated file name where the raw latex appears, so instead of
\begin{equation*}
x_{norm}^{(i)}=\frac{x^{(i)}-x_{min}}{x_{max}-x_{min}}
\end{equation*}
the generated image is inserted:
[ltxpng/machine-learning_fc5c92782db4a6699428aad7685ff014040f4342.png]

Related

Why doesn't the table generated from r-exams appear in Moodle?

I have defined the variables and data necessary to generate a frequency table in RMarkdown, to export it to Moodle, using R-exams:
xsubio<-c(sample(5:35,5))
xsubi<-sort(xsubio)
frecuencias<-sample(0:30 ,5)
tabla<-data.frame(xsubi,frecuencias)
colnames(tabla)<-c(" Edades" ,"Personas")
Through chunk I generate the table:
```{r, eval=TRUE,echo=FALSE,results='asis',warning=FALSE,message=FALSE,error=FALSE}
library(exams)
print(xtable(tabla), include.rownames=FALSE)
```
When exporting to PDF, using exams2pdf, the table is displayed perfectly:
But, when exporting to Moodle, using exams2moodle, the table disappears:
What do I have to do to make it appear?
Problem: You have an exercise with formatting in Markdown and use xtable() to insert a table in LaTeX. This mixture of Markdown+LaTeX is no problem when converting the exercise to PDF. Internally, this preserves the LaTeX table and just converts the Markdown parts to LaTeX as well before rendering the LaTeX to PDF. However, the same is not possible automatically when converting the Markdown exercise to HTML for Moodle. The converter then does not separate the LaTeX part automatically to convert it to HTML.
In short: The different markups must be sufficiently in sync. Markdown+LaTeX markup for PDF output works and Markdown+HTML for HTML output works. But what would be even better is to have the markup fully in sync, i.e., LaTeX+LaTeX or Markdown+Markdown. Such exercises can then be rendered to either PDF or HTML automatically.
Possible solutions:
Markdown+Markdown: Markdown table markup in R/Markdown (Rmd) exercise
I would recommend that you simply produce tables in Markdown via knitr::kable() rather than xtable::xtable(). Thus, the code chunk for the table simply becomes
knitr::kable(tabla, format = "markdown")
and then the tables are rendered correctly in both PDF and HTML-based formats like Moodle.
LaTeX+LaTeX: LaTeX table markup in R/LaTeX (Rnw) exercise
In case you prefer to keep on generating LaTeX tables with xtable() another route would be to change the markup of the R/exams exercise to Rnw (R/LaTeX). See the First steps tutorial on the R/exams web page for how to do that.
Markdown+Adaptive: Choose the right table markup depending on the output format
Using the match_exams_call() function you can determine in a running exercise which exams2xyz() interface is being used to process it. So you could do
type <- if(match_exams_call() %in% c("exams2pdf", "exams2nops")) "latex" else "html"
print(xtable(tabla), type = type, ...)
Then either LaTeX or HTML format is produced by xtable().
All three solutions work in principle but I think Solution 1 (kable()) is the best and most robust in your case.
Bonus remark: If you are using R/exams >= 2.4-0 you can use exams2moodle(...,table = TRUE) to get nicer table formatting in Moodle.
I use the following code snippet (with type = "latex"), when I require a PDF output:
```{r, eval=TRUE, only.contents=TRUE, echo=FALSE, results='asis',
warning=FALSE, message=FALSE, error=FALSE, comment=FALSE}
library(exams)
library(xtable)
print(xtable(tabla), include.rownames=FALSE, type = "latex", comment=F)
```
And, when I require outputs for Moodle, I make use of the following code snippet (with type = "html"):
```{r, eval=TRUE, only.contents=TRUE, echo=FALSE, results='asis',
warning=FALSE, message=FALSE, error=FALSE, comment=FALSE}
library(exams)
library(xtable)
print(xtable(tabla), include.rownames=FALSE, type = "html",
comment=F)
```
Results in PDF:
Results for Moodle:

refman.rtf fails to use equation from '*.md' in doxygen

I use '.md' to generate '(index).html' and '(refman*).rtf' documentation with doxygen 1.8.14.
The mathematical equation in '*.md' gives a correct equation in html output but not in the file 'refman.rtf'. The other theoretical parts like paragraph and other stuff work well between *.md and rtf output.
I guess *.rtf is not recognizing the equation part of the *.md document.
Does the RTF generation through doxygen read the *.md files?
Do I need to change any tag to make *.md work with rtf output?
Not only for markdown but also for "normal" doxygen input formulas do not work.
From the documentation:
Doxygen allows you to put LATEX formulas in the output (this works
only for the HTML and LATEX output, not for the RTF nor for the man
page output).
A workaround workflow, at the moment for non inline formulas, is to do something like:
Create an image with the formula e.g in a dummy doxygen run where one does not use MATHJAX, this will result in an image with a name like: 'form_0.png'.
In the code one has to place an if construct like:
\if rtf_run
\image rtf form_0.png
\else
\f... with the formula
\endif
One now has to run doxygen twice:
once for the output without rtf, i.e. without setting rtf_run in ENABLED_SECTIONS
once for rtf output by setting rtf_run in ENABLED_SECTIONS
EDIT June 5, 2018: I've just pushed a proposed patch to github pull request 756. Here the formulas are rendered as png images and included in the RTF documentation.
EDIT: 2018/06/10: The push request has been integrated in the master version on github.

Using Pandoc to read Docx, to capture contents of a docx textbox

When I use Pandoc to read a docx file, it ignores textboxes.They do not seem to be copied to the intermediary format.
How can I make pandoc read the textbox into the intermediary format, so that I can write a filter to include it in the output?
I'm the maintainer of the docx reader in pandoc. I don't think it currently deals with text boxes -- and I'm not sure there's an elegant way to represent them in pandoc's intermediate format. But if you post an issue on pandoc's github issue tracker, along with a sample docx file, I'll take a look and see if it's possible to add it to the reader.

Embed contents of source file inside source block in an org mode document (latex)

In pseudo-code I'd like to do the following in my org-mode file:
#+BEGIN_src python
[[./a_python_script_whose_contents_i_want_in_my_document.py]]
#+END_src
i.e. have the entire contents of a separate file be embedded in my org-mode document when I export it to latex.
How do I embed the contents of a separate file within an org-mode document, and have that content be formatted as source code when exporting?
There is no way to do that in org-mode with a source block that I know of. This will give you what you want if you have minted setup:
\inputminted{python}{your-script.py}
or if you use lsting
\lstinputlisting[language=Python]{source_filename.py}

display math on nbviewer?

I write an ipython notebook which correctly display the equations on my local machine. However, when I paste the ipynb file to Gist and use the nbviewer to view it, some math equation disappear. What causes the problem? Any way to fix it? The ipynb has the the following latex code in Markdown cell:
\begin{align}
F(P)=f_L(P)+f_G(P_{i,j})+f_{elec}(P,\phi_{ext},\phi_{int})\qquad (1)
\end{align}
The problem you are facing is that nbviewer uses nbconvert to convert the ipynb to html. Nbconvert inturn uses pandoc to do the conversion and pandoc strips raw latex (the \align in your case) when converting markdown to html.
You can try to embed the raw LaTeX into $s to make pandoc aware, however not all constructs are supported and will be converted (see Github Issue for more details).