这是失败的示例
\documentclass{standalone}
\usepackage{tikz}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\usetikzlibrary{shapes,positioning}
\begin{document}
\centering
\resizebox{5.00in}{!}{
\begin{tikzpicture}
\node[draw] (PersonLocation Graph) {
\begin{minipage}{.85\linewidth}
\begin{lstlisting}[language=XML,escapechar=!]
<collection name=PersonLocation BiMap>
<edge>
<ref>//collection[name=Locations]/loc[name=XXYY]
</ref>
<ref>//collection[name=Persons]/person[id=4564]
</ref>
</edge>
...
...
...
</collection>
\end{lstlisting}
\end{minipage}
};
\end{tikzpicture}
}
\end{document}
答案1
listings
是逐字类环境,您永远不能在命令的参数中使用此类环境。lrbox
引入此环境的目的正是:
\documentclass{standalone}
\usepackage{tikz}
\usepackage{float}
\usepackage{listings}
\usepackage{color}
\usepackage{textcomp}
\usetikzlibrary{shapes,positioning}
\begin{document}
\centering
\begin{lrbox}{0}%
\begin{tikzpicture}
\node[draw] (PersonLocation Graph) {%
\begin{minipage}{.85\linewidth}
\begin{lstlisting}[language=XML,escapechar=!]
<collection name=PersonLocation BiMap>
<edge>
<ref>//collection[name=Locations]/loc[name=XXYY]
</ref>
<ref>//collection[name=Persons]/person[id=4564]
</ref>
</edge>
...
...
...
</collection>
\end{lstlisting}%
\end{minipage}
};
\end{tikzpicture}\end{lrbox}
\resizebox{5.00in}{!}{\usebox0}
\end{document}