MWE 说明了一切:
% !TeX program = LuaLaTeX
% !TeX encoding = UTF-8
\documentclass{minimal}
\PassOptionsToPackage{monochrome}{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\selectcolormodel{gray}
\filldraw[draw=red,fill=red] (1.5,4) rectangle (3.5,4.5);
\end{tikzpicture}
\end{document}
它绘制了方框。但方框是红色的。我希望它是灰色的。与 LuaLaTeX 或 pdfLaTeX 编译器相同。Linux 上的 TeXlive 2016。界面是 TeXworks。
我第一次尝试 TikZ 失败了。:(
答案1
改用\fill[red,draw=red]
。
注意:除了@Symbol1的评论之外,避免使用最小类。
\documentclass[border=2pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\selectcolormodel{gray}
\fill[red,draw=red] (1.5,4) rectangle (3.5,4.5);
\end{tikzpicture}
\end{document}
编辑:
要使所有笔触以及所有填充都变成灰度色,\usepackage[gray]{xcolor}
可以使用该选项。但是,除了包含的图形外,它将在整个文档中设置此设置。
\documentclass[border=2pt]{standalone}
\usepackage[gray]{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\fill [draw=blue,fill=red] (1.5,4) rectangle (3.5,4.5);
\draw [fill=green,draw=red] (1,2)--(1,3)--(3,3)--cycle;
\end{tikzpicture}
\end{document}
答案2
您可以强制 pgf 颜色命令使用灰色或您想要的任何其他颜色:
\documentclass{minimal}
%\PassOptionsToPackage{monochrome}{xcolor}
\usepackage{tikz}
\let\oldpgfsetstrokecolor\pgfsetstrokecolor
\let\oldpgfsetfillcolor\pgfsetfillcolor
\def\pgfsetstrokecolor#1{\oldpgfsetstrokecolor{gray}}
\def\pgfsetfillcolor#1{\oldpgfsetfillcolor{gray}}
\begin{document}
\begin{tikzpicture}
\selectcolormodel{gray}
\filldraw[draw=red,fill=red] (1.5,4) rectangle (3.5,4.5);
\end{tikzpicture}
\end{document}
答案3
该monochrome
选项继承自旧color
包。说明:color
软件包中一个值得关注的特殊选项是monochrome
。如果选择了此选项,则所有颜色命令都将被禁用,这样它们就不会产生错误,但也不会产生颜色。如果使用无法产生颜色的预览器进行预览,这将非常有用。
在这里,您想要灰色空间中的颜色,因此您可以使用包gray
的选项xcolor
:
\documentclass{standalone}
\PassOptionsToPackage{gray}{xcolor}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[draw=red,fill=green] (1.5,4) rectangle (3.5,4.5);
\end{tikzpicture}
\end{document}