前言
在近期的項目中扶镀,需要在Confluence
平臺內(nèi)搭建Latex工具蕴侣,來實現(xiàn)數(shù)學(xué)公式的編寫和渲染等功能。不同于其他基于java的封閉plugin包臭觉,Confluence
的Latex-plugin是需要依賴server端本地的latex和dvipng工具才能進行頁面內(nèi)的渲染的昆雀。如果是通常情況下,這個問題很好解決蝠筑,但是實驗室的Confluence
是通過docker images直接起的狞膘,并且這個image的基底kernel是alpine這個可以稱得上是裸kernel的發(fā)行版。所以通常的安裝沒辦法進行了什乙,于是只能動手編譯擼一遍挽封。
過程
一、說明
因為confluence容器所依托的linux基底是alpine臣镣,一個非常輕量幾乎沒有任何依賴和包的linux裸核心辅愿,所以在alpine上配置latex和dvipng會比較麻煩一點智亮。
二、組件和依賴安裝
2.1 用root用戶進入confluence容器的bash界面
docker exec -it -u root confluence bash
2.2 安裝編譯器
apk add gcc
apk add g++
2.3 安裝latex(texlive)全部組件
apk add texlive-20170524-r6
apk add texlive-xetex-20170524-r6
apk add texmf-dist-latexextra-2018.48566-r0
apk add texlive-dvi-20170524-r6
apk add texlive-full-20170524-r6
apk add texlive-dev-20170524-r6
2.4 編譯安裝dvipng
- 前往官網(wǎng)下載dvipng的包:https://www.ctan.org/pkg/dvipng
- 根據(jù)編譯包內(nèi)README的說明根據(jù)如下步驟進行編譯安裝:
./configure autoconf --enable-selfauto-set
make (如果有報錯点待,make test或者根據(jù)報錯提示修復(fù))
make install
2.5 驗證安裝
- 在臨時文件夾中創(chuàng)建一個文件:
touch simple.tex
- 在文件中添加如下內(nèi)容:
\documentclass[12pt]{article}
\usepackage{a4}
\begin{document}
\( E=mc^{2} \)
\end{document}
- 然后運行如下內(nèi)容阔蛉,如果成功生成了png文件,則表示組件安裝運行正常:
latex simple.tex
dvipng simple.dvi
2.6 在$CONFLUENCE_HOME_DIR下面創(chuàng)建一個latex文件夾癞埠,并且創(chuàng)建三個配置文件:
- latex.properties:
# Specify a comma separated list of parameters to pass to the dvipng process.
dvipng.parameters=-T;tight;-bg;transparent
- latexfooter.tex:
\end{document}
- latexheader.tex:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amssymb}
\usepackage{bm}
\newcommand{\mx}[1]{\mathbf{\bm{#1}}} % Matrix command
\newcommand{\vc}[1]{\mathbf{\bm{#1}}} % Vector command
\newcommand{\T}{\text{T}} % Transpose
\pagestyle{empty}
\begin{document}
2.7 配置confluence latex plugin
- 在Confluence的Manage app頁面中状原,展開Latex plugin,點擊Configure
- 在Configure中配置latex和dvipng的路徑燕差,正常情況為如下:
/usr/bin/latex
/usr/bin/dvipng
- 然后點擊
Save
保存 - 如果沒有提示報錯遭笋,正常情況下Confluence容器的latex插件配置已經(jīng)完成⊥教剑可以創(chuàng)建任意頁面進行測試latex渲染是否正常運作瓦呼。