pape-rs
pape-rs copied to clipboard
Explain difference of pape-rs to similar projects
Just a short google:
- https://github.com/sharelatex/clsi-sharelatex
- https://github.com/aslushnikov/latex-online (https://latexonline.cc/)
- https://github.com/codegestalt/sinatratex
- http://www.tlhiv.org/ltxpreview/
- https://github.com/dscape/pdflatex-as-a-service
- http://pandoc.org/
- Most of them do not handle assets
- Those using pdflatex instead of xelatex can't handle custom fonts
- No templating (in all of them apparently)
- Mostly synchronous APIs (which can be convenient but also has disadvantages)
The most advanced seems to be clsi-sharelatex, since it supports assets and different backends, including xelatex, but it's not stateless (requires MySQL).
I like the handling of assets of clsi-sharelatex:
{
"compile": {
"options": {
// Which compiler to use. Can be latex, pdflatex, xelatex or lualatex
"compiler": "lualatex",
// How many seconds to wait before killing the process. Default is 60.
"timeout": 40
},
// The main file to run LaTeX on
"rootResourcePath": "main.tex",
// An array of files to include in the compilation. May have either the content
// passed directly, or a URL where it can be downloaded.
"resources": [{
"path": "main.tex",
"content": "\\documentclass{article}\n\\begin{document}\nHello World\n\\end{document}"
}, {
"path": "image.png",
"url": "www.example.com/image.png",
"modified": 123456789 // Unix time since epoch
}]
}
}
They have the opposite approach to ours for the "entrypoint". In this example the output will be called main.pdf (there doesn't seem to be any way to configure that from the latex CLI).
edit: The more explicit specification for asset paths and name may not be a bad idea.