我正在使用 tikz-uml,我想让所有用例都用白色填充,而不是默认颜色。您知道如何将所有用例设置为白色吗?
我知道我可以在每个用例的选项中写“fill = white”,但我想避免这样做并将白色设置为默认值。
目前这是我的代码:
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz-er2}
\usepackage{tikz-uml}
\usetikzlibrary{positioning}
\usepackage{helvet}
\usetikzlibrary{calc}
\renewcommand{\familydefault}{\sfdefault}
\tikzumlset{}
\begin{document}
\tikzstyle{every edge} = [link]
\begin{tikzpicture}
\umlusecase[x=0, y=0, name=Checkout, fill = white]{Checkout}
\umlusecase[right = 2cm of Checkout]{Customer Authentication}
\end{tikzpicture}
\end{document}
答案1
您正在寻找的密钥是:
\tikzumlset{fill usecase=white}
如果你想定义一个经常发生但不总是发生的自定义变体(可能不仅仅包括fill
- 请记住这些用例仍然是 tikz 节点,因此你习惯于节点的任何内容也可以在这里更改),你可以通过以下方式执行此操作:
\tikzset{myumlcase/.style={fill=red,font=\huge}}
当您在选项中指定时,这将覆盖常规fill
设置(此处为白色)。myumlcase
\umlusecase[myumlcase]{foo}
这是您编辑过的(并且有效的)MWE:
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{tikz}
\usepackage{tikz-er2}
\usepackage{tikz-uml}
\usetikzlibrary{positioning}
\usepackage{helvet}
\usetikzlibrary{calc}
\renewcommand{\familydefault}{\sfdefault}
\tikzumlset{}
\tikzumlset{fill usecase=white} % This is the general color switch
\tikzset{myumlcase/.style={fill=red,font=\huge}} % Defines special umlcase with the name myumlcase
\begin{document}
\tikzstyle{every edge} = [link]
\begin{tikzpicture}
\umlusecase[x=0, y=0, name=Checkout, fill = white,myumlcase]{Checkout}
\umlusecase[right = 2cm of Checkout]{Customer Authentication}
\end{tikzpicture}
\end{document}
要查找将来可能想要更改的其他键,您可以查看 tikz-uml.sty、TikZ-UML 手册(第 2.6 节),当然还有TikZ 手册。