简单的笔记脚本:从markdown到pdf

简介

下面这个模板很简单,适合写简短笔记。

主要的优点:

  • 用markdown专心记笔记;
  • 一键转成pdf,方便阅读和检索;
│  01-引言.md
│  02-Julia编程基础.md
│  03-统计学基础.md
│  book.ps1
│  metadata.yaml
│  template.tex
│
└─image
        JuliaLogo.png

md是markdown文件,是笔记的内容。

book.ps1是powershell脚本,主要用来自动化编译LaTeX。

metdata.yaml是标注pdf属性的文件。

template.tex是模板。这个模板是从R语言包rticles中default.latex文件修改而来,而default.latex则是从pandoc中的默认模板修改而来。

image是默认的插图文件夹。


使用

选中book.ps1文件,鼠标右击,选择“使用Powershell运行”。

稍等即可获得pdf文件。

这个就是从markdown到pdf。


简单说明

md是markdown文件,是笔记的内容。

演示文件包括了多级标题、正文、代码块和插图。记录学习笔记基本够用了。

\newpage是LaTeX分页命令。


book.ps1是powershell脚本,主要用来自动化编译LaTeX。Julia与数据分析.pdf是目标文件名称,可以根据需要修改

$i = dir -name  -filter *md
pandoc -N -s --toc --pdf-engine=xelatex  -o Julia与数据分析.pdf   metadata.yaml --template=template.tex $i 

template.tex是模板。这个模板是从R语言包rticles中default.latex文件修改而来。这个文件也是从pandoc中的默认模板修改而来。图如下。1是设置了文档类型,2是设置图片文件夹,3是设置文档页面,可以根据需要自行调整

另外,还提供了字体的设置。不过,均是加了注释,可以根据需要进行修改,取消注释符号%就可以启用自定义的字体。


image是默认的插图文件夹。因为已经在template.tex设置根目录下的image文件夹为图片文件夹。所以在插图时直接在md文件中写:

\includegraphics[width=1cm]{1234.png}

metdata.yaml是标注pdf属性的文件。pdf属性数据和metdata.yaml的内容如下,metdata.yaml内容可以根据需要修改


pdf文件

转成的pdf样式如下。

演示环境

  • Win 10,64位
  • pandoc
PS C:\Users\cheng> pandoc --version
pandoc.exe 2.0.3
Compiled with pandoc-types 1.17.3, texmath 0.10, skylighting 0.4.3.2
Default user data directory: C:\Users\cheng\AppData\Roaming\pandoc
Copyright (C) 2006-2017 John MacFarlane
Web:  http://pandoc.org
This is free software; see the source for copying conditions.
There is no warranty, not even for merchantability or fitness
for a particular purpose.
  • MiKTeX
PS C:\Users\cheng> xelatex --version
MiKTeX-XeTeX 2.9.6300 (0.99998) (MiKTeX 2.9.6350 64-bit)
2.9.6300 (0.99998)
TeX is a trademark of the American Mathematical Society.
using bzip2 version 1.0.6, 6-Sept-2010
compiled with curl version 7.54.0; using libcurl/7.54.0 WinSSL
compiled with expat version 2.2; using expat_2.2.0
compiled with fontconfig version 2.12.1; using 2.12.1
compiled with freetype2 version 2.7.1; using 2.7.1
compiled with graphite2 version 1.3.9; using 1.3.9
compiled with harfbuzz version 1.4.6; using 1.4.6
compiled with icu version 58.2; using 58.2
compiled with jpeg version 9.2
compiled with liblzma version 50020032; using 50020032
compiled with libpng version 1.6.29; using 1.6.29
compiled with libressl version LibreSSL 2.5.3; using LibreSSL 2.5.3
compiled with MiKTeX Application Framework version 1.6334; using 1.6334
compiled with MiKTeX Core version 1.6344; using 1.6344
compiled with MiKTeX Archive Extractor version 1.6300; using 1.6300
compiled with MiKTeX Package Manager version 1.6353; using 1.6353
compiled with poppler version 0.55.0
using teckit version 2.4
compiled with uriparser version 0.8.4
compiled with zlib version 1.2.11; using 1.2.11

模板文件markdown2pdf

编辑于 2017-12-18

文章被以下专栏收录