| Crates.io | mdbook-tectonic |
| lib.rs | mdbook-tectonic |
| version | 0.3.0-beta.4 |
| created_at | 2022-12-13 08:57:31.700198+00 |
| updated_at | 2023-01-17 11:06:33.290558+00 |
| description | An mdbook backend for generating LaTeX and PDF documents. |
| homepage | |
| repository | https://github.com/drahnr/fancybook |
| max_upload_size | |
| id | 735708 |
| size | 2,781,665 |
An mdbook backend for generating LaTeX and PDF documents. Utilizes md2tex for the markdown to LaTeX transformation, but with the goal of allowing alternative markdown to LaTeX converters. If you have developed your own markdown to LaTeX converter, I'd love to talk with you or share ideas! I'm at liam@liambeckman.com.
| Compiles? | Generated PDF | Generated LaTeX | Source | Online Version |
|---|---|---|---|---|
| ❌ | Source | HTML | ||
| ❌ | Source | HTML | ||
| ❌ | Source | HTML | ||
| 🍊 | Mdbook User Guide | LaTeX | Source | HTML |
| ❌ | Source | HTML | ||
| ❌ | Source | HTML | ||
| 🍊 | Rust Programming Language | LaTeX | Source | HTML |
| ❌ | Source | HTML | ||
| ❌ | Source | HTML | ||
| ❌ | Source | HTML | ||
| ❌ | Source | HTML |
cargo install mdbook-tectonic
Add the following toml configuration to book.toml.
[output.latex]
latex = true # default = true
pdf = true # default = true
markdown = true # default = true
The next mdbook build command will produce LaTeX and PDF files (and the markdown file of your mdbook) in the book/latex/ directory.
To uninstall mdbook-tectonic, enter the following in a shell:
cargo uninstall mdbook-tectonic
Then delete the [output.latex] configuration in book.toml:
- [output.latex]
- latex = true
- pdf = true
- markdown = true
mdbook-tectonic is built upon some really wonderful projects, including:
md2tex and mdbook-tectonic are developed in tandem, but are meant to be independent programs. Therefore, if one wishes to use an alternative markdown-to-tex conveter, they should be able to plug it in to mdbook-tectonic with ease.Broadly speaking, there are three steps, or "transformations", from mdbook source to PDF output:
mdbook-tectonic): retreives the JSON formatted data from mdbook. Calls md2tex and tectonic for LaTeX and PDF generation, respectively.md2tex): converts markdown input to LaTeX output.tectonic): creates PDF document from LaTeX input.Pull requests, forks, and plain old copy-pasting are actively encouraged! Also, I am relatively new to Rust (and programming in general) so recommendations or advice in general is always appreciated.
mdbook-tectonic or md2tex?Either one. mdbook-tectonic can be thought of as a frontend for the LaTeX generation done by md2tex. So if there is a LaTeX error, you may favor creating an issue with md2tex. Otherwise, creating an issue with mdbook-tectonic is a good bet. But any issue is a good issue, so don't worry if it's in the "right" repository or not, I should be able to see it regardless!
Below is a list of features I am currently working on (loosely in a "top-down" direction).
book/latex directory to keep src clean.current event with fold).If, however, you don't mind getting your hands dirty with LaTeX, here is my process for when the build step fails:
book.toml to only output LaTeX and markdown files:[output.latex]
latex = true
pdf = false
markdown = true
tectonic is running into errors by manually running it and looking for ! LaTeX Error:tectonic book/latex/MY_BOOK.tex
Aha! ! LaTeX Error: Missing \begin{document}.
In this example, mdbook-tectonic failed to output the very important \begin{document} line.
tectonic (repeat this step until tectonic successfully compiles the PDF):ed book/latex/MY_BOOK.tex
tectonic book/latex/MY_BOOK.tex
Is it an elegant approach? No. Does it work? Sometimes. Is it a pain? Always.
If you're feeling especially adventurous, create an issue or get in touch with me (liam@liambeckman.com) to help prevent the same errors in the future. I'm more than happy to work with you to get your document compiled!
: ^ )