TikZ UML 图特殊字符问题

TikZ UML 图特殊字符问题

我正在尝试使用 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

我重新定义了 << 和 >> 符号,不使用\guillemotleftand \guillemotright,这样即将发布的 tikz-uml 新版本就不再依赖于\usepackage[T1]{fontenc}

相关内容