我将一个 tikzpicture 嵌套在另一个 tikzpicture 中,并且存在“文本宽度”参数从外部 tikzpicture 泄漏到内部的问题。(嵌套几乎是不可避免的——在我的实际用例中, tikzpicture 是在不同的宏中定义的。)
梅威瑟:
\documentclass[a4paper,11pt,landscape]{article}
\usepackage{tikz,nopageno}
\begin{document}
\newcommand{\cost}{%
\begin{tikzpicture}
\node[fill=red!85!black,shape=circle,inner sep=0.3mm,draw=black,text=white] {\raisebox{0pt}[\height][0pt]{\bf 1}};
\end{tikzpicture}}
\cost
\begin{tikzpicture}
\node[text width=10mm] {\cost};
\end{tikzpicture}
\end{document}
我应该如何修改“成本”以使其表现得好像未设置文本宽度?
答案1
包tikz
将 key 的值映射text width
到 的宏内容上,默认为空,因此可以通过选项设置来\tikz@text@width
重新设置 key :text width
text width={}
\documentclass[a4paper,11pt,landscape]{article}
\usepackage{tikz,nopageno}
\begin{document}
\newcommand{\cost}{%
\begin{tikzpicture}
\node[
text width={},
text height={}, % dito
fill=red!85!black,
shape=circle,
inner sep=0.3mm,
draw=black,
text=white,
] {\raisebox{0pt}[\height][0pt]{\bf 1}};
\end{tikzpicture}%
}
\cost
\begin{tikzpicture}
\node[text width=10mm] {\cost};
\end{tikzpicture}
\end{document}