簡介
LaTeX 是當今世界上最流行和使用最為廣泛的TeX 格式封字,可以在短短的時間內生成高質量的 pdf 文檔黔州。它構筑在 Plain TeX 的基礎之上,并加進了很多的功能以使得使用者可以更為方便的利用 TeX 的強大功能阔籽。
使用 LaTeX流妻,一般需要安裝 TexLive,但TexLive 安裝包太大笆制,有好幾 G绅这,且每個環(huán)境安裝方式不一樣。為了減少安裝成本以及方便的集成到 CI/CD 環(huán)境中在辆,本文推薦使用 TinyTeX证薇。TinyTeX 是一個瘦身版的TeX Live度苔,安裝后大概 100M 左右。TinyTeX 是國內大神謝益輝作品浑度,請參考https://yihui.name/tinytex/cn/林螃。
Sphinx 是一個自動文檔生成工具,可以自動的把 docstring 轉換為文檔俺泣,并支持多種輸出格式包括 html疗认,pdf 等。
實現 Sphinx 自動生成 pdf 步驟
以下是 Ubuntu 實現步驟伏钠,其它系統(tǒng)讀者可以自行實現横漏,原理一樣
安裝 python3
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install -y python3.6
安裝 python 虛擬環(huán)境
sudo apt-get install -y python3-pip
sudo pip3 install virtualenv
virtualenv -p /usr/bin/python3.6 ~/virtualenvs/venv_devopspy
source ~/virtualenvs/venv_devopspy/bin/activate
安裝 git(可選)
apt-get install -y git
git clone git@code.aliyun.com:payun/api-site.git
git checkout "sphinx 文檔"
安裝 sphinx 主題(可選)
pip3 install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ sphinx jieba
cd sphinx_payun_theme/
python setup.py install
cd ../
安裝瘦身版 TinyteX(關鍵)
apt-get install -y libfontconfig
wget -qO- "https://yihui.name/gh/tinytex/tools/install-unx.sh" | sh
export PATH=$PATH:~/bin
tlmgr install cmap psnfss fncychap fancyhdr titlesec tabulary varwidth wrapfig parskip capt-of needspace cjk collection-fontsrecommended
編譯
make clean
make html
make latexpdf
總結
將上訴步驟集成在流水線中,能一鍵生成精美 pdf 文檔熟掂。經實測集成在阿里云流水線中缎浇,生成文檔時間在3分鐘內,提高了開發(fā)效率赴肚。