LaTeX宏包TikZ-UML使用备忘一

TikZ-UML宏包是用于绘制UML图形的,相较于我以前使用的pgf-umlcd宏包而言,他支持的图形种类更多,二者都是由tikz扩展而来。这里把使用方法与绘图例子记录下来,以备忘。
 
下载与安装
  TikZ-UML宏包并没有包含在texlive中,需要自己去官网下载,地址是:TikZ-UML官网下载。我把官网2016年3月29日发布的版本(目前最新版)已经传入51CTO,下载地址是:TikZ-UML51CTO下载。下载的压缩包里面有宏包文件与说明文档。
  下载解压后,可以把其中的文件tikz-uml.sty放到自己定义的文件夹内,或者按照你用的LaTeX编辑工具来放置。我是放在自定义的文件夹内,下面的代码中大家会看到,这种方式需要在调用时,也就是\usepackage{}命令中把文件所在的完整路径列出。
 
文件头
  我所举例子的文件头部内容都是一样的,所以单独列在这里。

% 51CTO陆巍的博客
\documentclass[oneside, AutoFakeBold]{article}

\usepackage{geometry}          % 用于页面设置
% 设置为A4纸,并按照MSOffice的默认尺寸设置四周边距
\geometry{
  a4paper,
  left = 3.17cm,
  right = 3.17cm,
  top = 2.54cm,
  bottom = 2.54cm
}

% 颜色支持
\usepackage[dvipsnames, svgnames, x11names]{xcolor}

% 汉字支持
\usepackage{xeCJK}
% 设置字体。注意顺序,第一个定义的就是默认字体
\setCJKfamilyfont{song}{方正书宋简体}
\newcommand{\song}{\CJKfamily{song}}
\setCJKfamilyfont{kaiti}{方正楷体简体}
\newcommand{\kaiti}{\CJKfamily{kaiti}}
\setCJKfamilyfont{heiti}{方正黑体简体}
\newcommand{\heiti}{\CJKfamily{heiti}}

% 绘图支持
\usepackage{tikz}
\usetikzlibrary{arrows}

% UML绘图支持
% tikz-uml宏包并不在texlive中,需要单独下载
% 下载后可放在自己定义的文件夹内,并在调用时指明完整路径
\usepackage{/mydata/latex_package/tikzuml/tikz-uml}

% 设置断字参数,数值越大,出现断字的情况越少
\hyphenpenalty = 1000

% ------------------ 开始 -------------------

\begin{document}
  ...  % 正文
\end{document}

  下面的示例代码放在正文部分即可。
 
示例一

\begin{center}
    \begin{tikzpicture}
      \umlsimpleclass[x = -4, y = 2, draw = purple]{Mock CheckWriter}{}{}
      \umlsimpleclass[x = 0, y = 2, draw = purple]{PayrollTest}{}{}
      \umlsimpleclass[x = 4, y = 2, draw = purple]{Mock Employee}{}{}
      \umlinterface[x = -4, y = 0, draw = purple]{CheckWriter}{}{
        + writeCheck()
      }
      \umlsimpleclass[x = 0, y = 0, draw = purple]{Payroll}{}{}
      \umlinterface[x = 4, y = 0, draw = purple]{Employee}{}{
        + claculatePay()\        + postPayment()
      }
      \umlinterface[x = 0, y = -3, draw = purple]{Employee Database}{}{
        + getEmployee()\        + putEmployee()
      }
      \umlsimpleclass[x = 0, y = -6, draw = purple]{Mock Employee Database}{}{}

      \umluniassoc[draw = purple]{PayrollTest}{Mock CheckWriter}
      \umluniassoc[draw = purple]{PayrollTest}{Mock Employee}
      \umluniassoc[draw = purple]{PayrollTest}{Payroll}
      \draw[draw = purple, -angle 45](PayrollTest.north) -- ++(0, 0.3) -- ++(6, 0) |- (Mock Employee Database);
      \umluniassoc[draw = purple]{Payroll}{CheckWriter}
      \umluniassoc[draw = purple]{Payroll}{Employee}
      \umluniassoc[draw = purple]{Payroll}{Employee Database}
      \umlinherit[draw = purple]{Mock CheckWriter}{CheckWriter}
      \umlinherit[draw = purple]{Mock Employee}{Employee}
      \umlHVdep[draw = purple]{Employee Database}{Employee}
      \umlinherit[draw = purple]{Mock Employee Database}{Employee Database}
    \end{tikzpicture}
    \heiti\\[0.4cm] 图4.2 使用Mock Objects测试方法,解除了耦合的薪水支付应用模型\song
  \end{center}

效果如下:

说明:
  1) 配色方案:底色默认就是淡黄,边框色与线段颜色是用命令:draw=purple来设置的(默认是黑色),之所以选用这样的配色是受Rational Rose的影响。
  2) 目前没有找到类名称自动换行的设置方法,只能是全部放在一行中了。(设置text width与双斜杠均无效。)
  3) TikZ-UML是由tikz扩展而来,所以tikz中的很多功能在这里也可以用,例如上述例子中从PayrollTest到Mock Employee Database的线段绘制方式。

原文地址:http://blog.51cto.com/14013986/2329523

时间: 2024-10-08 09:37:51

LaTeX宏包TikZ-UML使用备忘一的相关文章

Ubuntu中如何安装LaTeX宏包

Ubuntu中如何安装*.sty文件 在Ubuntu中,Latex的安装目录一般在一下目录: TexLive 2013: /usr/local/texlive/2013/texmf-dist/tex/latex 我用的是TexLive 2013,相关的一些操作为: 到CTAN(Comprehensive TeX Archive Network)网站下载需要的包文件(有的宏包即为一个单个的xxx.sty文件,有的为一个压缩包xxx.zip): 把xxx.zip解压缩之后的包目录xxx或单个文件xx

LaTeX宏包TikZ-UML使用备忘二

代码的文件头与备忘一中的一样,这里不再列出. 示例三 % 51CTO陆巍的博客 \begin{center} \begin{tikzpicture} \begin{umlpackage}[x = 0, y = 0, draw = purple, fill = umlyellow]{Policy} \umlsimpleclass[draw = purple]{Policy Layer} \umlinterface[right = 1cm of Policy Layer, draw = purple

LaTeX宏包参考文档 -- 持续更新中

使用LaTeX的朋友在安装了相关工具后,一般都会附带宏包的参考文档.比如TeXstudio这个工具,在编辑时,鼠标右键点击宏包名称就会列出相应的参考文档菜单.可能有些工具没有提供这个方便,所以我把自己使用中碰到的宏包参考文档上传到51CTO里面,并把链接放在这里方便大家使用.这些文档都是官方免费提供的,大家放心看,不存在版权问题,并且全部下载都不需要下载豆. 因为LaTeX的宏包很多,所以这里暂时只列出我在博客中调用宏包的英文参考文档. 1.geometry 宏包英文参考文档:(http://d

LaTeX宏包xcolor提供的色彩名称

在LaTeX的编辑中,我们常常会用到各种色彩,相关宏包是xcolor.我们可以自定义颜色,也可以使用xcolor提供的各种色彩名称.这里把调用方法和色彩名称列出来供大家查看使用. 1.宏包调用命令 \usepackage[dvipsnames, svgnames, x11names]{xcolor} 2.色彩名称 1)Base colors 2)Colors via dvipsnames option 3)Colors via svgnames option 4)Colors via x11na

LaTeX宏包说明文档的简单介绍与下载地址

LaTeX的宏包(或宏集)很多,我把曾经用到的宏包说明文档上传到网上供大家下载使用.原本打算放到51CTO里面,但是在上传有些文件时提示已经有人上传了,但是去查找时又没有,不清楚怎么回事,所以就都放在我的百度网盘上吧.下面列出下载地址与介绍. 1.CTEX宏包 1) 介绍 CTEX 宏包是面向中文排版的通用 LATEX 排版框架,为中文 LATEX 文档提供了汉字输出支持.标点压缩.字体字号命令.标题文字汉化.中文版式调整.数字日期转换等支持功能,可适应论文.报告.书籍.幻灯片等不同类型的中文文

在LaTeX中使用tikz宏包及其扩展包共同绘制UML图

LaTeX宏包tikz的绘图功能很强,完全可以绘制UML的各种图形,并且在tikz的基础上扩展出不少这方面的宏包.前面我介绍过宏包tikz-uml,这个宏包功能不错,只是外观上略微有些不足.所以我现在还是立足于tikz的基础功能,结合tikz-uml宏包一起绘制UML图. 下面直接给出示例代码.效果图与说明. 操作系统:Ubuntu 16.04 64位桌面版LaTeX工具:TeXstudio 2.10.8 示例一 % 51CTO陆巍的博客 \documentclass[oneside, Auto

LaTeX绘制UML图形宏包开发过程记录001

因为工作需要,我在使用LaTeX编辑文件时经常要绘制UML图形.虽然目前LaTeX有一些宏包支持绘制UML图形,但总有这样那样的小问题,使用起来不是那么满意,所以想自己创建一个专门的宏包来绘制UML图形.一方面可以加深对LaTeX的了解,另一方面也给工作上带来便利. LaTeX宏包中的TikZ绘图宏包,功能很强大,LaTeX编辑的文档中很多都用其来绘制图形,所以我自然也以此宏包为基础来编写.本项目是从2019年1月1日在电脑上开始的,传入腾讯云开发者平台是2019年1月3日开始,地址是lakes

LaTeX自定义宏包与类文件默认搜索路径的设置方法

对于自定义的LaTeX宏包与类,在调用时可以通过在命令\documentclass{}与\usepackage{}命令中指定完整路径或者相对路径,这样确实可以调用,但是编译时总是有烦人的警告信息,让人不爽.还好有一个办法可以解决. 操作系统:Ubuntu 16.04 64位桌面版 LaTeX工具:TeXstudio 2.10.8 1.打开终端,输入以下命令 kpsewhich -var-value=TEXMFHOME 这个命令会查询到默认的宏包与类搜索路径,我的电脑上显示结果为:home/luw

LaTeX自定义宏包、类文件的默认搜索路径设置方法

??对于自定义的LaTeX宏包与类,在调用时可以通过在命令\documentclass{}与\usepackage{}命令中指定完整路径或者相对路径,这样确实可以调用,但是编译时总是有烦人的警告信息,让人不爽.还好有一个办法可以解决. ? 操作系统:Ubuntu 16.04 64位桌面版 LaTeX工具:TeXstudio 2.10.8 ? 1.打开终端,输入以下命令 kpsewhich -var-value=TEXMFHOME ??这个命令会查询到默认的宏包与类搜索路径,我的电脑上显示结果为: