LaTeX巨集包TikZ-UML使用備忘三
阿新 • • 發佈:2018-12-28
程式碼的檔案頭與備忘一中的一樣,這裡不再列出。因為我一直在對部落格進行修改,其他網站轉載的內容可能已經與原文不一樣,所以請關注51CTO中的原創文章。
示例七
% 51CTO陸巍的部落格 \begin{center} \begin{tikzpicture} \umlclass[x = 0, y = 0, draw = purple]{DB}{} {+ store(ProductData)\\ + getProductData(sku)\\ + deleteProductData(sku)} \umlsimpleclass[left = 1cm of DB, draw = purple]{ProductData} \umlsimpleclass[right = 1cm of DB, draw = purple]{Application} \begin{umlpackage}[x = -3.86, y = -3.0, draw = purple, fill = umlyellow]{java{.}sql} \umlsimpleclass[x = 0, y = 0, draw = purple]{Connection} \umlsimpleclass[x = 3, y = 0, draw = purple]{Statement} \umlsimpleclass[x = 6.4, y = 0, draw = purple]{Driver Manager} \umlsimpleclass[x = 0, y = -1, draw = purple]{ResultSet} \umlsimpleclass[x = 3.5, y = -1, draw = purple]{Prepared Statement} \umlsimpleclass[x = 7.4, y = -1, draw = purple]{SQLException} \end{umlpackage} \umluniassoc[draw = purple]{Application}{DB} \umluniassoc[draw = purple]{DB}{ProductData} \umlVHVuniassoc[arm1 = 1.5cm, draw = purple]{Application}{ProductData} \umluniassoc[draw = purple]{DB}{java{.}sql} \end{tikzpicture} \\[0.4cm]\heiti 圖15.1 DB FACADE\song \end{center}
效果如下:
說明:
1) 示例中包的名稱為java.sql,但是在程式碼中不能直接這樣打,會報錯,所以使用大括號把小數點括起來,這樣就不會報錯了。對於英文的逗號之類的符號也是如此處理。
2) umlpackage的位置雖然也可以使用“below = 1cm of DB”這樣的方式來確定,但這樣做的話,包內class的座標會以整個圖形為參照,而不是以包的位置為參照。所以這裡對包的位置使用了座標值表示,而不是使用相對位置來表示。
3) 我目前還沒有找到給名稱換行的方法(\\、\newline等命令無效),所以這些標題都在一行,看上去不太美觀。對外觀要求高的朋友可以直接使用tikz中的基本繪圖語句來繪製,可以做得很好看。這裡使用的tikz-uml巨集包本身就是由tikz擴充套件而來,所以完全可以在這裡面使用tikz繪圖語句。