我正在尝试使用 TikZ 和 pgf-umlcd 创建 UML 图,不幸的是,我似乎遇到了某种特殊字符问题,并且无法弄清楚如何正确转义它们,例如:
\begin{tikzpicture}
\begin{package}{Test}
\begin{interface}[text width=7cm]{TestInterface}{0,0}
\operation{testOperation(a : Map<String, Integer>>) : Boolean}
\end{interface}
\end{package}
\end{tikzpicture}
不幸的是,PDF 文件中的大于号和小于号字符没有按应有的方式打印出来,而是打印了一些“乱码”。这是怎么回事?
答案1
只需添加\usepackage[T1]{fontenc}
对 < 和 > 字符的直接支持即可。为了避免 >> 连字符,您可以插入{}
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgf-umlcd}
\begin{document}
\begin{tikzpicture}
\begin{package}{Test}
\begin{interface}[text width=7cm]{TestInterface}{0,0}
\operation{testOperation(a : Map<String, Integer>{}>) : Boolean}
\end{interface}
\end{package}
\end{tikzpicture}
\end{document}
答案2
我重新定义了 << 和 >> 符号,不使用\guillemotleft
and \guillemotright
,这样即将发布的 tikz-uml 新版本就不再依赖于\usepackage[T1]{fontenc}