灰度在简单的 TikZ 中不起作用

灰度在简单的 TikZ 中不起作用

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}

在此处输入图片描述

相关内容