Я пытаюсь создать диаграмму UML с помощью TikZ и pgf-umlcd, к сожалению, у меня, похоже, возникла какая-то проблема со специальными символами, и я не смог понять, как правильно их экранировать. Вот пример:
\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
и \guillemotright
, так что новая версия tikz-uml, которая выйдет скоро, больше не зависит от\usepackage[T1]{fontenc}