我的问题是,我希望我的数学函数和绘图插图具有不同的颜色。我希望我的颜色在开始时就被定义,这样它们就会根据我的喜好自动更改数学和插图的颜色。我以前从未接触过数学和绘图,所以这对我来说有点问题。非常感谢您的帮助。
工作代码:
\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}}
\]