我想在 TikZ 中沿路径放置一些文本。所述文本是引言,对于引言,我总是会使用包csquotes
。但是,\enquote
当与沿路径的文本一起使用时,它似乎不起作用。
考虑以下 FMWE(相当简单的工作示例):
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usepackage{csquotes}
\begin{document}
\begin{tikzpicture}
\node at (0,-1) {\enquote{Howdy}};
\path[decorate, decoration={text along path, text={\enquote{Text along an arc}}}] (0, 0) arc[start angle=270, end angle=360, radius=3];
\end{tikzpicture}
\end{document}
尝试编译此文件会导致xelatex
或pdflatex
我使用的任何其他编译程序无限期挂起。删除\enquote
路径修饰中的 可使一切正常运行。包含的节点显示csquotes
原则上与 TikZ 并不不兼容。
所以,我的问题是:
- 为什么在这里不起作用
\enquote
? - 我怎么能够制作这行得通?
- 如果我无法使其工作,是否有其他方法可以获得印刷正确的引号,而不必手动选择它们?
谢谢。
编辑:后来我发现事实并非如此仅有的 \enquote
这不仅会造成麻烦,还会造成诸如此类的事情\dots
。至少我的前两个问题仍然存在。
答案1
修饰将text
参数拆分成标记并单独放置它们,即\enquote
然后Text along an arc
。请参阅手册中的解释。
您在这里不能使用,\enquote
就像您不能使用例如一样\textbf
。
幸运的是,该csquotes
包提供了一些用户宏,在它的手册其中包括\textooquote
(o彭宁/outer) 和\textcoquote
(C失落/o有了这些,文本至少会使用包功能提供的自动样式csquotes
。
您{}
也必须将这些附加进去。
如果没有,csquotes
您将不得不手动输入您语言的文字引号。在这种情况下,{}
除非您使用 LuaLaTeX,否则它们也需要括起来。
代码
\documentclass[tikz]{standalone}
%\documentclass{article}
%\usepackage{tikz}
\usetikzlibrary{decorations.text}
\usepackage{csquotes}
\begin{document}
\begin{tikzpicture}
\node at (0,-1) {\enquote{Howdy}};
\path[
decorate,
decoration={
name=text along path,
text={\textooquote}Text along an arc{\textcoquote}
}
] (0, 0) arc[start angle=270, end angle=360, radius=3];
\end{tikzpicture}
\end{document}