monochrome
我正在创建一个用于演示/书写的图像文件类型,我对包很感兴趣xcolor
,但是通过使用它我并没有得到预期的结果,检查了文档pstricks
但是,这很旧并且引用了一个过时的包(pstcol
),一张图片来说明我需要什么:
以及 MWE:
\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[monochrome]{xcolor}
\usepackage{pstricks-add}
\pagestyle{empty}
\begin{document}
\begin{pspicture*}(-0.5,-0.5)(5,3.5)
\psset{unit=1.0cm,algebraic=true,dimen=middle,linewidth=0.8pt}
\pscustom[linewidth=0.7pt,linecolor=red,fillcolor=red,fillstyle=solid,opacity=0.25]{
\parametricplot{-2.39}{-1.14}{0.52*cos(t)+3.25|0.52*sin(t)+3}
\lineto(3.25,3)\closepath}
\pspolygon[linewidth=0.7pt,linecolor=cyan,fillcolor=green,fillstyle=solid,opacity=0.25](0.25,0.25)(3.25,3)(4.5,0.25)
\begin{scriptsize}
\uput[d](0.25,0.25){\red{$A$}}
\uput[u](3.25,3){\red{$B$}}
\uput[d](4.5,0.25){\red{$C$}}
\uput{7pt}[-100](3.25,3){\red{$\alpha$}}
\end{scriptsize}
\end{pspicture*}
\end{document}
澄清:不是灰度图,而是“黑白”图像,修改单个图像没有问题,我想要的是将文档(50 张图像)的颜色转换为“全局”颜色。在“pstricks”文档(第 304 页)的“常见问题解答”中,使用如下代码描述了该过程:
\usepackage[monochrome]{pstcol}
% ...
\makeatletter
\def\PSTricksMonochrome{%
\def\psset@bordercolor##1{\pst@getcolor{white}{\psbordercolor}}%
\def\psset@doublecolor##1{\pst@getcolor{white}{\psdoublecolor}}%
\def\psset@shadowcolor##1{\pst@getcolor{darkgray}{\psshadowcolor}}%
\def\psset@linecolor##1{\pst@getcolor{black}{\pslinecolor}}%
\def\psset@fillcolor##1{\pst@getcolor{white}{\psfillcolor}}%
\def\psset@gridcolor##1{\pst@getcolor{black}{\psgridcolor}}%
\def\psset@gridlabelcolor##1{\pst@getcolor{black}{\psgridlabelcolor}}%
\def\psset@hatchcolor##1{\pst@getcolor{black}{\pshatchcolor}}%
\def\psset@subgridcolor##1{\pst@getcolor{gray}{\pssubgridcolor}}}
\makeatother
今天它不起作用。
答案1
您的代码看起来像是从图形程序中导出的复杂代码,正如 Karl 已经指出的那样,您到底想要什么尚不清楚:灰度图像还是从彩色到单色的自动转换?但是,这是黑白输出的正确代码:
\documentclass[10pt]{article}
\usepackage{pstricks}\SpecialCoor
\pagestyle{empty}
\begin{document}
\begin{pspicture}(-0.5,-0.5)(5,3.5)
\psarc(3.25,3){0.5}{(-3,-2.75)}{(1.25,-2.75)}
\pspolygon(0.25,0.25)(3.25,3)(4.5,0.25)
\scriptsize
\uput[d](0.25,0.25){$A$}
\uput[u](3.25,3){$B$}
\uput[d](4.5,0.25){$C$}
\uput{7pt}[-100](3.25,3){$\alpha$}
\end{pspicture}
\end{document}
使用序言中的以下语句可以自动转换为灰度:
\AtBeginDocument{\special{ps:
/setrgbcolor { 0.07 mul exch 0.71 mul add exch 0.21 mul add setgray } def
}}
来自 pstricks.styhttp://texnik.dante.de/tex/latex/pstricks/您可以使用
\usepackage[monochrome]{pstricks}
然后它就由包来完成了。
您还可以覆盖文档序言中的键的定义,例如hatchcolor
\makeatletter
\define@key[psset]{pstricks}{hatchcolor}[black]{\pst@getcolor{black}\pshatchcolor}
\makeatother
答案2
我不确定是否正确理解,但我认为你想要一张未填充的图像。
因此,尝试用以下内容替换相应的行:
\pscustom[linewidth=0.7pt,opacity=0.25]{
\parametricplot{-2.39}{-1.14}{0.52*cos(t)+3.25|0.52*sin(t)+3}
\lineto(3.25,3)\closepath}
\pspolygon[linewidth=0.7pt,opacity=0.25](0.25,0.25)(3.25,3)(4.5,0.25)