我正在尝试使用包含小于<
和大于>
字符的标签节点来标记 tikz qtree,如下例中第一个节点所示。问题是,它没有显示,<
而是>
显示了其他一些奇怪的符号 - 参见下图中的第一个节点标签。
虽然第二个节点确实通过强制处于数学模式以某种方式解决了问题,但<
我>
寻求一种解决方案,它还强制文本接受\textbf
其所包含的命令。
\documentclass[border=3mm]{standalone}
\usepackage{tikz}
\usepackage{tikz-qtree}
\begin{document}
\begin{tikzpicture}
\Tree
[.\node(html){\textbf{<html>}};
[.\node(html){\textbf{$<$html$>$}}; ]
]
\end{tikzpicture}
\end{document}
- 有解决办法吗?
- 在我看来,这种奇怪的行为的原因是什么?
答案1
使用\textless
和\textgreater
从综合 LaTeX 符号列表(第 114 页)
字符“<”、“>”和“|”在数学模式下可以正常工作,但在使用 OT1 字体编码时,它们在文本模式下分别生成“¡”、“¿”和“—”。[13] 以下是排版“<”、“>”和“|”的一些替代方法:
– 指定除 OT1 之外的文档字体编码(如第 8 页所述)。
– 使用第 9 页表 2 中的适当符号命令,即 \textless、\textgreater 和 \textbar。
– 在数学模式而不是文本模式下输入符号,即$$和$|$。
[13] 唐纳德·克努斯认为这些符号在数学之外并不重要,所以他从文本字体中省略了它们。