TikZ:沿路径在文本中使用 \enquote

TikZ:沿路径在文本中使用 \enquote

我想在 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}

尝试编译此文件会导致xelatexpdflatex我使用的任何其他编译程序无限期挂起。删除\enquote路径修饰中的 可使一切正常运行。包含的节点显示csquotes原则上与 TikZ 并不不兼容。

所以,我的问题是:

  1. 为什么在这里不起作用\enquote
  2. 我怎么能够制作这行得通?
  3. 如果我无法使其工作,是否有其他方法可以获得印刷正确的引号,而不必手动选择它们?

谢谢。

编辑:后来我发现事实并非如此仅有的 \enquote这不仅会造成麻烦,还会造成诸如此类的事情\dots。至少我的前两个问题仍然存在。

答案1

修饰将text参数拆分成标记并单独放置它们,即\enquote然后Text along an arc请参阅手册中的解释。 您在这里不能使用,\enquote就像您不能使用例如一样\textbf

幸运的是,该csquotes包提供了一些用户宏,在它的手册其中包括\textooquoteo彭宁/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}

输出

在此处输入图片描述

相关内容