The `pantcl` document processor is a single file Tcl script which can be used as standalone converter or as Pandoc filter to embed programming or diagram code into Markdown, LaTeX or ReStructuredText documents and further to write other pandoc filters
using the Tcl programming language. It supports languages like C, C++, Go, Rust, Lua, Tcl, Python, R, Octave, Vlang, diagram tools like Mermaid, Pic, DPic, Pikchr, GraphViz, PlantUml, Kroki, equation tools like EQN, LaTeX math, music notation tools like
ABC music or lilypond, database tools like sqlite3 and it is easy to extend for other languages, tools. If used as a Pandoc filter currently three input formats are supported: LaTeX, Markdown, Rst, and all output formats which pandoc supports can be
written, Pdf, Docx, Odt, HTML, many others ..... If used standalone without pandoc only Markdown as input and HTML as Output is supported.
The pantcl application can be as well used to processes Markdown documentation inside Tcl or Python source code files which follows `#'` comments. The manual pages for the filters are created like this.
The code has been tested on Linux and Windows. On Windows it is recommend to download the single file binary provided at the Github project page.
The project was formerly named pandoc-tcl-filter.
Since version 0.9.2 the default method for code evaluation is `false` to avoid evaluating code by accident.
The following filters are currently available
* {.tcl} - the Tcl filter
* {.abc} - filter for ABC music notation (requires abcm2ps)
* {.cmd} - shell scripts to be embedded easily (examples for Python, Octave, Gnuplot, R, C/ C++, Rust, Go, Vlang, Lua, EQN etc, required shell and the tools you like to use), very likely most things work only on proper OS systems (Unix-alike)
* {.dot} - filter for GraphViz tools like dot and neato (requires Graphviz)
* {.eqn} - filter for EQN equations (groff required)
* {.kroki} - (new) create diagrams for dot, neato, mermaid, plantuml etc without installing any application by using the kroki webservice
* {.mmd} - filter for Mermaid diagrams (requires mermaid-cli)
* {.mtex} - filter for LaTex equations and various LaTeX packages for creating graphics (requires LaTeX installation)
* {.pik} - filter for Pikchr diagrams (requires pikchr or fossil)
* {.pic} - filter for PIC diagrams (groff required)
* {.pipe} - filter for R, Python and Octave
* {.puml} - filter for PlantUML diagrams (requires PlantUML)
* {.rplot} - filter for R plots (requires R)
* {.sqlite} - filter for SQLite3 terminal application (sqlite3 application required)
* {.tcrd} (- filter for typesetting musical lyrics with chords and transposing facilities (just Tcl required, no additional packages)
* {.tdot} - filter for the tdot package (Tcl and GraphViz required)
* {.tsvg} - filter for the tsvg package (just Tcl required, no additional packages)
Links:
* Homepage:
https://github.com/mittelmark/pantcl
* Wikipage:
https://wiki.tcl-lang.org/page/pantcl
The code is tested mainly on Linux and as well on Windows using a choco package manager installation of pandoc. It should work on other Unixes and as well on a Windows system with other configurations.
The basic idea of the package is that you embed your code directly within a (for instance) Markdown document like this:
```{.tcl eval=true}
puts "Hello World!"
```
and the output and the code will be visible within your document.
Or for a GraphViz image (to just show the image but not the code in your final document):
```{.dot echo=false results="hide" eval=true}
diagraph G {
A -> B ;
}
```
To get an impression have a look at the manual pages at the Github homepage and the Wikipage.
Thanks to the bug reporters, especially htopkill :)
Please if you like the project leave a start at Gihub to make our Tcl projects more visible.
Best,
DG
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)