在 TikZ 中处理一些图形时,我遇到了一些特殊需求(当然我可以使用一些图像处理程序来实现,但我想知道是否有(La)TeXy 方法):我想改变字符的颜色之内字符(最好与某些线条相交)。
这就是我能够实现的(我知道这几乎不算什么):
这就是我想要的:
如果您需要 MWE,这里有一个测试对象:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\node[color=gray] {A};
\draw[thin] (2pt,-4pt) circle (3pt);
\end{tikzpicture}
\end{document}
答案1
我会把这个作为答案,尽管我不确定它是否足够长。只要你不想对字母的不同区域重复执行此操作,你就可以在 tikz 中剪辑内容:
\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}
\node[color=gray] {A};
\draw[thin] (2pt,-4pt) circle (3pt);
\end{tikzpicture}
\begin{tikzpicture}
\node[color=gray] {A};
\clip (2pt,-4pt) circle (3pt);
\node[color=blue] {A};
\end{tikzpicture}
\end{document}
可能更好的变体是定义一个宏,至少如果您需要多次这样做(例如大写的章节开头):
\newcommand{\coloredletter}[1]{\tikz{\node[color=gray] at (0, 0) {#1}; \clip (2pt,-4pt) circle (3pt); \node[color=blue] at (0, 0) {#1};}}
\coloredletter{A}
\coloredletter{B}
结果如下: