PlantUML是一個開源繪圖工具,主要用於繪製UML圖形。LaTeX所帶的UML繪圖工具包不怎麼好用,直接用tikz宏包來繪製的話又太麻煩,PlantUML提供了將UML圖形轉換爲tikz語句的功能,簡化了UML圖形繪製。配置方法步驟如下:
--
操作系統:Ubuntu 18.04
編輯工具:TeXstudio 2.12.6
編譯方式:LuaLaTeX
1. 下載PlantUML包與plantuml.jar文件
PlantUML包中我們要用到的文件是plantuml.sty與plantuml.lua兩個文件。下載地址:plantuml,可以用以下命令下載:
git clone https://github.com/koppor/plantuml.git
plantuml.jar下載地址:plantuml.jar。
2. 安裝openjdk
安裝openjdk-8或openjdk-11都可以,命令如下:
sudo apt install openjdk-11-jdk
3. 配置環境
編輯/etc/profile文件,在最後加入第1步下載的plantuml.jar文件的路徑與文件名,例如:
export PLANTUML_JAR=/home/starry/plantuml.jar
保存後重啓電腦。
4. 設置TeXstudio
把編譯方式設置成LuaLaTeX,並加入參數“-shell-escape”,如下圖:
圖中LuaLaTeX一項的內容爲:
lualatex -shell-escape -synctex=1 -interaction=nonstopmode %.tex
如果沒有使用TeXstudio或者想從終端運行命令,可以直接用以下命令來編譯:
lualatex -shell-escape 要編譯的tex文件
5. 放置好plantuml.sty與plantuml.lua文件
在具體使用時,最簡單的方法就是把第1步下載的plantuml.sty與plantuml.lua文件放在要編譯的tex文件所在目錄,這樣編譯時才能找到。TeXstudio工具在搜索宏包文件時有固定的默認目錄,在Ubuntu下通常是“~/texmf/tex/latex/commonstuff/”,可以把plantuml.sty文件或鏈接放在這裏。lua文件好像不能這樣放,還是與編譯的tex文件放在一起,我沒有試過,有興趣的朋友可以去試試。
6. 編譯
編譯稍微有點慢,耐心等待。編譯中會產生一個後綴爲latex的文件,裏面實際上就是轉換好的tikz繪圖語句,大家一看便知。
注意:tex文件名與所在目錄名不能使用漢字,否則編譯不能通過。 這點我還沒有深入去看,不清楚是我的配置問題還是PlantUML本身限制,以後慢慢解決吧。
7. 繪製UML圖形示例
\documentclass{article}%
% 開源中國,陸巍
\usepackage{ctex}% 中文支持
\usepackage{geometry}% 用於頁面設置
\usepackage{plantuml}
\geometry{%
a4paper,%
left = 3.17cm,%
right = 3.17cm,%
top = 2.54cm,%
bottom = 2.54cm%
}%
\begin{document}%
PlantUML繪圖示例\\
\begin{plantuml}
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml
\end{plantuml}
\begin{plantuml}
@startuml
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection
List <|-- AbstractList
Collection <|-- AbstractCollection
Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
annotation SuppressWarnings
@enduml
\end{plantuml}
\end{document}
效果如下:
8. 繪製思維導圖示例
PlantUML不僅可以繪製UML圖形,還可以繪製思維導圖。
\documentclass{article}%
% 開源中國,陸巍
\usepackage{ctex}% 中文支持
\usepackage{geometry}% 用於頁面設置
\usepackage{plantuml}
\geometry{%
a4paper,%
left = 3.17cm,%
right = 3.17cm,%
top = 2.54cm,%
bottom = 2.54cm%
}%
\begin{document}%
PlantUML繪圖示例\\
\begin{plantuml}
@startmindmap
+ OS
++ Ubuntu
+++ Linux Mint
+++ Kubuntu
+++ Lubuntu
+++ KDE Neon
++ LMDE
++ SolydXK
++ SteamOS
++ Raspbian
-- Windows 95
-- Windows 98
-- Windows NT
--- Windows 8
--- Windows 10
@endmindmap
\end{plantuml}
\end{document}
效果如下:
通過PlantUML生成的圖形,本質上還是tikz,所以在排版上與tikz的也一樣。我剛開始使用PlantUML,在使用中還是有些不滿意,先用着吧,實在不行就自己開發。
以上示例代碼中的繪圖命令來自PlantUML官網,更多示例請看官網:PlantUML