更改数学函数和绘图线的颜色

更改数学函数和绘图线的颜色

我的问题是,我希望我的数学函数和绘图插图具有不同的颜色。我希望我的颜色在开始时就被定义,这样它们就会根据我的喜好自动更改数学和插图的颜色。我以前从未接触过数学和绘图,所以这对我来说有点问题。非常感谢您的帮助。

工作代码:

\documentclass[svgnames]{report}
\usepackage{tikz}
\usepackage[cp1250]{inputenc}
\usepackage[slovak]{babel}
\usepackage{kpfonts}



\definecolor{colMATH}{RGB}{255,0,0} % color of the math functions
\definecolor{colILLUS}{RGB}{0,0,255} % line color in illustration

% example
\begin{document}

% MATH
            $$detA=|A|= \left|\begin{array}{cccc}
            a_11 & a_12 & \ldots & a_{1n} \\
            a_21 & a_22 & \ldots & a_{2n} \\
            . & . &  & . \\
            . & . &  & . \\
            . & . &  & . \\
            a_{n1} & a_{n2} & \ldots & a_{nn} \\
            \end{array} \right|=\sum{(-1)^ja_{1k_1}\cdot a_{2k_2}\cdot a_{3k_3}\cdot...\cdot a_{nk_n}} $$                                       


% ILLUSTRATION
\setlength{\unitlength}{1mm}
\begin{picture}(120,100)(-8,0)
   \put(35,5){\vector(1,0){50}}
   \put(88,5){\makebox(0,0){$h$}}
   \put(40,2){\makebox(0,0){$h_A$}}
   \put(70,2){\makebox(0,0){$h_B$}}
   \multiput(40,5)(30,0){2}{\line(0,1){90}}
   \multiput(40,5)(0,10){7}{\line(1,1){30}}
   \multiput(40,35)(6,0){5}{\line(1,0){3}}
   \multiput(40,65)(6,0){5}{\line(1,0){3}}
   \multiput(40,5)(0,30){3}{\circle*{2}}
   \multiput(70,35)(0,15){3}{\circle*{2}}
   \multiput(40,35)(0,30){2}{\line(1,-1){30}}
   \multiput(39.75,15)(.25,0){3}{\line(0,1){10}}
   \multiput(39,15)(0,10){2}{\line(1,0){2}}
   \multiput(69.75,55)(.25,0){3}{\line(0,1){10}}
   \multiput(69.75,40)(.25,0){3}{\line(0,1){5}}
   \multiput(69,35)(0,5){7}{\line(1,0){2}}
   \put(97,60){\makebox(0,0){$
     \left\}\rule[-4mm]{0mm}{8mm}\right.\leftarrow
     \Delta\tau = 2T_{Cs}\mbox{(lokale Uhr)}
     $}}
   \put(98,50){\makebox(0,0){$\leftarrow$ \emph{Explosion der 2. Uhr}}}
   \put(96,42.5){\makebox(0,0){$\left\}\rule[-1.5mm]{0mm}{3mm}\right.
     \hskip1mm\leftarrow\Delta\tau = T_{Cs}\mbox{(lokale Uhr)}$}}
   \put(25,20){\makebox(0,0){$\Delta\tau = T_{Cs}\rightarrow
     \left\{\rule[-4mm]{0mm}{8mm}\right.$}}  %}
   \put(38,8){\makebox(0,0){1}}
   \put(17,35){\makebox(0,0){ \emph{Start der 1. Uhr} $\rightarrow$ 2$A$}}
   \put(13,65){\makebox(0,0)
                {\emph{Explosion der 1. Uhr} $\rightarrow$ 3$A$}}
   \put(93,35){\makebox(0,0)
                { 2$B \leftarrow$ \emph{Start der 2. Uhr}}}
   \put(74,68){\makebox(0,0){$3B$}}
\end{picture}

\end{document}

这就是我想要的: 在此处输入图片描述

答案1

在您的示例中,可以使用\everydisplay显示的数学和etoolbox图片包来解决:

\everydisplay{\color{colMATH}}
\usepackage{etoolbox}
\AtBeginEnvironment{picture}{\color{colILLUS}}

彩色环境

一些建议:你应该不使用$$,进一步更好地使用数学运算符,例如\det,考虑使用 TikZ (或 PSTricks),如需更多数学功能,请使用amsmath。不过后者可能会有问题\everydisplay

答案2

我已经找到了解决方案数学但这不是很酷。还有其他方法可以让它像这样工作吗?

代码

\definecolor{colMATH}{RGB}{255,0,0} % color of the math functions


\let\oldbmath\[
\renewcommand{\[}{\begingroup\color{colMATH}\oldbmath}
\let\endoldmath\]
\renewcommand{\]}{\endoldmath\endgroup}


%math function
\[
detA=|A|=
\left|\begin{array}{cccc}
       a_11 & a_12   & \ldots & a_{1n} \\
       a_21 & a_22   & \ldots & a_{2n} \\
          . & .      &        & . \\
          . & .      &        & . \\
          . & .      &        & . \\
     a_{n1} & a_{n2} & \ldots & a_{nn} \\
\end{array}
\right|=\sum{(-1)^ja_{1k_1}\cdot a_{2k_2}\cdot a_{3k_3}\cdot...\cdot 
a_{nk_n}}
\]

相关内容