更具可读性的LaTex语言扩展和从Transcompiler到LaTex的转换
sugartex的Python项目详细描述
sugartex
sugartex是一个可读性更强的乳胶语言扩展,是一个从sugartex到乳胶的跨编译器。设计用于代替$formula$
插入进行标记。
见SugarTeX documentation。输入输出转换的示例请参见this PDF。
我通过Pandoctools(比如r-markdown)将markdown与python代码块一起用于文档编程。
python和markdown都是非常可读的语言。不幸的是乳胶不是这样的。所以我写了sugatex extension+transpiler,可读性很高。为了实现这一点,它大量使用unicode,因此sugartex安装指令甚至建议使用monospace字体回退链。还有更多:SugarTeX Completionsatom包可以帮助您在一瞬间编写所有unicode代码。
我正在尝试将latex合并到.md中,使用的是“您应该编写一些可以作为纯文本阅读的内容,同时不需要编译”的标记哲学。
安装
作为Pandoctools方便界面的一部分进行安装,并且可以开箱即用。
通过Conda:
conda install -c defaults -c conda-forge sugartex
通过PIP:
pip install sugartex
完全支持Unicode的Atom编辑器
强烈建议您安装Atom editor,因为它是最适合降价的。
atom非常适合unicode格式的文本。但你需要先安装一些字体。建议的字体回退链:
- 对于consolas:
Consolas, 'STI0 Two Mat0 monospacified for Consola0', 'DejaVu Sans Mono monospacified for Consolas', 'Symbola monospacified for Consolas', 'Noto Sans CJK TC', monospace
。下载- consolas可以与Microsoft PowerPoint Viewer一起安装到2018年4月。SHA256:249473568EBA7A1E4F95498ACBA594e0F42E6581ADD4DEAD70C1DFB908a09423。但请注意,它的许可证上写着“您只能使用该软件来查看和打印使用Microsoft Office软件创建的文件。您不能将该软件用于任何其他目的。”因此,您甚至不允许通过Chrome浏览器打印控制台字体文本,
- STI0 Two Mat0 monospacified for Consola0(stix two math for consolas),
- DejaVu Sans Mono monospacified for Consolas
- Symbola monospacified for Consolas,
- 对于roboto mono:
'Open Mono', 'Noto Sans Mono', 'IBM Plex Mono', 'STI0 Two Mat0 monospacified for Robot0 Mono', 'DejaVu Sans Mono', 'Symbola monospacified for DejaVu Sans Mono', 'Noto Sans CJK TC', monospace
。下载- Open Mono这只是Roboto Mono的重命名单字符版本(Roboto Mono中斜体的宽度与常规的不同),
- Noto Sans Mono,
- IBM Plex Mono。Download,Download,
- STI0 Two Mat0 monospacified for Robot0 Mono(机器人单声道的stix two math),
- DejaVu Sans Mono,
- Symbola monospacified for DejaVu Sans Mono,
Noto fonts也可以免费下载(如果您需要cjk支持)。tc是繁体中文,但也可以是sc、jp、kr。我在monospacifier.py的帮助下使用了单字体。如果您不喜欢consolas/roboto mono,可以为其他monospace字体选择monospacified版本。
原子的sugartex配位
安装SugarTeX Completions包,以便轻松键入sugartex和许多其他unicode字符。(它与latex-completions包不兼容)。
在SugarTeX documentation中,给出了原子sugartex完成的适当捷径。
用法示例
输入输出转换的例子在[this pdf]的末尾。
窗口:
chcp 65001 > NUL setPYTHONIOENCODING=utf-8 type doc.md |^pre-sugartex |^pandoc -f markdown --filter sugartex -o doc.md.md
Unix:
exportPYTHONIOENCODING=utf-8 cat doc.md |\ pre-sugartex |\ pandoc -f markdown --filter sugartex -o doc.md.md
或拆分pandoc reader writer:
exportPYTHONIOENCODING=utf-8 cat doc.md |\ pre-sugartex |\ pandoc -f markdown -t json |\ sugartex --kiwi |\ pandoc -f json -o doc.md.md
Panflute脚本也已安装,因此您可以在默认的panfluteautomation interface in metadata或推荐的panflcli中使用它:
panfl sugartex --to markdown
,panfl sugartex.kiwi -t markdown
。