LaTeX宏包TikZ-UML使用備忘三

  代碼的文件頭與備忘一中的一樣,這裏不再列出。因爲我一直在對博客進行修改,其他網站轉載的內容可能已經與原文不一樣,所以請關注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}

效果如下:
LaTeX宏包TikZ-UML使用備忘三
說明:
  1) 示例中包的名稱爲java.sql,但是在代碼中不能直接這樣打,會報錯,所以使用大括號把小數點括起來,這樣就不會報錯了。對於英文的逗號之類的符號也是如此處理。
  2) umlpackage的位置雖然也可以使用“below = 1cm of DB”這樣的方式來確定,但這樣做的話,包內class的座標會以整個圖形爲參照,而不是以包的位置爲參照。所以這裏對包的位置使用了座標值表示,而不是使用相對位置來表示。
  3) 我目前還沒有找到給名稱換行的方法(\\、\newline等命令無效),所以這些標題都在一行,看上去不太美觀。對外觀要求高的朋友可以直接使用tikz中的基本繪圖語句來繪製,可以做得很好看。這裏使用的tikz-uml宏包本身就是由tikz擴展而來,所以完全可以在這裏面使用tikz繪圖語句。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章