pandisso
Python script to build a dissertation based on Markdown / Pandoc.
NOTE: Original source code wiki. May be incompatible!
Full documentation can be found On the Project
Wiki
This project contains a template, which can be seen by compiling the Markdown.
Installation
Requirements
- Pandoc (>= 2.11)
- Latex / PDFLatex
- A Text Editor of your choice (VS Code / Neovim / Emacs / Notepad++)
- Python3
Extra Components
Cloning this project
NOTE: If you're migrating a code base from the original FYP-Project-Template code base, majority of features have changed and may be broken. Please follow new guidance for migration.
You can fork this repository as a "Template".
-
On the main page of the Repository click "Use This Template"
-
Complete Setup details to create a new project using this template
-
Enjoy!
Compiling Project
Compiling the project is made to be simple. Once installation is complete, then pandisso can be ran with the given
Dissertation.md
file as input. Project is compatible with both Windows / Linux systems and ran by calling the Python
script.
Linux
cd pandisso/
chmod x+ pandisso.py
./pandisso Dissertation.md
Windows
cd pandisso
py .\pandisso.py Dissertation.md
Note, additional files can be given as part of the CLI options, or appropriately add them to the list in source code
(Builder.SOURCE_FILES
holds a list of all files to be compiled in order).
Usage
For usage, run pandisso with the help flag pandisso.py --help
to get the help message from CLI.
Usage: pandisso.py [options] file...
Options:
-b, --bibliography=FILE Change bibliography file to read (default: 'include/bibliography')
--crossref Use the pandoc-crossref filter (external package, must exist on system and in PATH).
--engine= Change the PDF engine used by pandoc (default: pdflatex).
--include-path=PATH Change the include directory path (default: 'include').
--no-submodule Do not use submodules when compiling. --submodule-path and --include-path are ignored.
(Assumes all files are located in runtime directory.)
-o, --output=FILE Change the output file.
--pandoc=STRING Send native options to pandoc (string of options).
--submodule-path=PATH Change the submodule directory path (default: 'templates').
-h, --help Print this help message and exit.
Contacts: Please create an Issue on the project's GitHub repository for anything relevant to development of software.
Bugs, Suggestions or other Issues
Please create an Issue on the project's GitHub repository for anything relevant to development of software.
Project Structure
pandisso (root)
- include/
- figs/
- Introduction.md
- bibliography.bib
- Supporting/
- ...
- templates/
- Header.md
- disso.latex
- ...
- Dissertation.md
- pandisso.py