Awesome
simtex
simtex
(simplified LaTeX) allows you to convert your mardown or files
into PDF using LaTeX with one command, configured with simple .json
file.
simtex
is a program that works based on rules of the user that is defined insimtex.json
, which the program uses to the files and converts it in LaTeX based on the rules defined by the user.
simtex
also allows for interop between markdown and LaTeX, especially in cases
where markdown is not enough to format the document, that part could be written
in LaTeX while the others would be converted by simtex
!
Note: This program does not intend to replace the LaTeX system, but to simplify the process of turning your already existing markdown/text file into PDF with LaTeX.
Note: The program currently only supports basic markdown syntax and features, and not HTML tags.
Program Options
❯ simtex --help
usage: simtex [INPUT] [ARGUMENTS]
Convert your markdown or text files into LaTeX/pdf with one command! Interop
with LaTeX and markdown is also allowed by simtex!
positional arguments:
[INPUT] File to convert to LaTeX.
options:
-h, --help show this help message and exit
-b, --build Build the generated LaTeX file.
-B, --buildnview Build the generated LaTeX file and view the output.
-F FONT, --font FONT Use different font package.
-s FONTSIZE, --fontsize FONTSIZE
Use different font size.
-p PAPERSIZE, --papersize PAPERSIZE
Use different paper size.
-I INDENT, --indent INDENT
Indent size to be used.
-m MARGIN, --margin MARGIN
Margin size to be used.
-e ENCODING, --encoding ENCODING
Use a different encoding for the document.
-t TITLE, --title TITLE
Set the title of the document.
-f FILENAME, --filename FILENAME
Use different name for the output file.
-o OUTPUTFOLDER, --outputfolder OUTPUTFOLDER
Change the output folder for the output file.
-a AUTHOR, --author AUTHOR
Set the author name of the document.
-d DATE, --date DATE Set the date of the document.
-c COMPILER, --compiler COMPILER
Use a different LaTeX compiler.
-ft, --filenametitle Use the filename as title.
-y, --assumeyes Assume yes to every prompt.
-R, --replace Automatically replace math symbols defined.
-v, --verbose Show the stdout of processes.
--version Print the version number of the application.
Convertion features
The program allows the user to convert simple file such as markdown or text file into PDF using LaTeX. This program does not intend to compete with pandoc, which essentially does the same but on higher level. Currently, the program has features that can satisfy conversion of basic inputs:
- Supports the most basic commands, such as bold, italics,
emphasize,
inline code
, quotes, as well as hyperlinks. - Environments, the program supports a multiline math environment using
align
, single line math equation usingequation
environment, as well as code blocks usinglstlisting
with syntax highlighting. - Figures with captions.
- Sections, subsections upto subparagraphs.
- Basic document metadata and properties that can be provided in a configuration file for default value, this includes, author, date, font, among others, view the short documentation for full list.
- Simple config file using JSON, which defines the rules that should be followed on how the program should parse the input, as well as how to format the document.
Refer to the PDF for more details.
Examples
You can view the output of the program here which was generated using the command:
simtex examples/1/hello.md -t "Hello Simtex!" -f hello -a iaacornus" -d "August 15, 2552"
View output: .examples/1/hello.pdf
To convert a LaTeX file, and rename the default author defined in
$CONF_PATH/simtex.json
, add -a="iaacornus (or your name)
, and with the
date, -d="August 15, 2552
to provide other date instead of the present. The
program will output the tex
file, as well as pdf
, if -b
was used, in ./out
inside the folder of the input if there is no output folder given. See the
documentation of arguments and configuration file.
Program features
- Convert a whole directory of files into LaTeX.
simtex
allows conversion of bunch of files in all at once. - 'simtex' supports different compilers.
- Interoperation between LaTeX and raw files.
simtex
is a program that works based on the rules defined by user insimtex.json
, which it uses to convert the document given by the user. - Automatic replacement (beta) of unicode characters and ASCII symbols that represent mathematical symbol or anything that is defined by user to their respective LaTeX command or the defined command by the user.
Installation
Starting v0.3.2-beta
, there is a released frozen code which can be easily downloaded
and executed directly with ./simtex [OPTIONS]
:
./simtex --help
All of the dependency needed is packaged with in this build.
Another method to install the project is with pip
. Since the package is
published on PyPI since v0.2.0-alpha:
pip install --user simtex
Other options, specifically -b
and -B
requires pdflatex
and any default
pdf viewer for the latter. The LaTeX compiler can be provided by any of TeX
distributions that can be installed, but texlive
with its full package is
recommended since it is tested. texlive
is available in most distribution
and can be installed with its package manager:
# fedora
sudo dnf install texlive-scheme-full
# arch linux
sudo pacman -S texlive-most
# debian
sudo apt install texlive
For other installation method, see INSTALL.md for details.
Contribution
Refer to CONTRIBUTING.
- All contributions are required to abide by the CODE_OF_CONDUCT
- Opening and reporting issues is welcomed and considered as valuable contribution in this project.
Roadmap
The first prioritized features (not sorted) are listed below:
- Support for enumerate/lists.
- Support Windows
- Add templates
- Include GUI
- Improve table support