https://github.com/jrgant/manuscript-org-template
A template for writing manuscripts in Org Mode
https://github.com/jrgant/manuscript-org-template
emacs org-mode pandoc scientific-writing
Last synced: 7 months ago
JSON representation
A template for writing manuscripts in Org Mode
- Host: GitHub
- URL: https://github.com/jrgant/manuscript-org-template
- Owner: jrgant
- License: cc0-1.0
- Created: 2024-09-09T18:58:22.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-10T20:21:19.000Z (about 1 year ago)
- Last Synced: 2025-01-22T04:33:28.636Z (9 months ago)
- Topics: emacs, org-mode, pandoc, scientific-writing
- Language: Lua
- Homepage:
- Size: 51.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* Org Manuscript Template
A personal repo for manuscript and grant writing in Org Mode. Used on Kubuntu 22.04.
** Dependencies
- [[https://github.com/doomemacs/doomemacs][Doom Emacs]]
- [[https://www.libreoffice.org][LibreOffice]]
- [[https://www.gnu.org/software/make/][GNU Make]]
- [[https://pandoc.org][Pandoc]]** Overview
I'm trying to solve the problem of wanting to write in Org Mode while needing to collaborate in document formats that people actually use. Right now, I am happy to have a pipeline that (mostly) solves the conversion and collaboration problem.
The basic format pipeline is =org → tex → docx → pdf=.
The =_scripts= directory contains two scripts: a Doom CLI script (=export-to-latex.el=) and a shell script (=org2output.sh=) that calls the former and handles the rest of the conversion pipeline.
| Conversion | Utility |
|---------------+-----------------------------------|
| =org → tex= | Emacs =org-latex-export-to-latex= |
| =tex → docx= | Pandoc |
| =docx → pdf= | LibreOffice |The =_styles= directory contains Citation Style Language (CSL) files for reference formatting, as well as =docx= files used by Pandoc as style references. The "draft" reference file includes a header with my name and a DRAFT watermark.
The Makefile provides job options for exporting the =org= file and organizing drafts or other elements in the project directory:
| Job | Description |
|-------------------+------------------------------------------------------------------|
| =draft= | Create a watermarked draft document |
| =final= | Create a clean (unwatermarked) document |
| =timestamp-draft= | Timestamp the current manuscript as a draft (saved to =_drafts=) |
| =timestamp-final= | Timestamp the current manuscript as a final (saved to =_final=) |
| =cleantex= | Remove auxiliary files created during export to TeX |The =timestamp-*= jobs add a UTC timestamp to the filename. I use a datetime stamp as a versioning system because the stamp is unique /and/ sortable chronologically. However, timestamps could be de-synchronized when moving between time zones if the system clock doesn't update properly.
** License
The CC0 license used here applies only to files I've written myself. CSL files and Lua Pandoc filters retain their original license.