在图形标题中定义具有不同填充的 tikz 形状

在图形标题中定义具有不同填充的 tikz 形状

以下是我想要的输出

在我的论文的图表标题中,我想定义 3 个三角形,并填充 3 种颜色(黄色、红色和黑色)。对于一个三角形,它工作正常。我如何定义其他两个具有不同填充的三角形。

以下是论文和章节的 MWE:

\documentclass[b5paper,twoside,10pt,openright]{book}
\usepackage[english]{babel}
\usepackage{charter}
\usepackage{etoolbox}
\usepackage{tikz}
\definecolor{mycolor1}{RGB}{255,255,0}      % yellow
\definecolor{mycolor2}{RGB}{255,0,0}        % red
\definecolor{mycolor3}{RGB}{0,0,0}          % black

\newrobustcmd*{\mytriangle}[1]{\tikz{\draw[thick, fill=mycolor1] ((0,0) -- (0.2cm,0) -- (0.1cm,0.2cm) -- cycle;}}

%\newrobustcmd*{\mytriangle}[1]{\tikz{\draw[thick, fill=mycolor2] ((0,0) -- (0.2cm,0) -- (0.1cm,0.2cm) -- cycle;}}
%\newrobustcmd*{\mytriangle}[1]{\tikz{\draw[thick, fill=mycolor2] ((0,0) -- (0.2cm,0) -- (0.1cm,0.2cm) -- cycle;}}

\begin{document}

this is my thesis 


\include{introduction}

\end{document}

这是章节简介的代码:

\chapter{introduction}


\begin{figure}[htp]


  A figure
 \caption{This is a triangle {\mytriangle{mycolor1}}}


\end{figure}

答案1

根据@Pier Paolo 的评论,您可以使用\mytriangle带参数的命令。该参数用于传递您想要的颜色。

1.请注意,您不需要定义这些颜色。它们在您加载时已经定义tikz。因此您只需使用\mytriangle{red}

2.请注意,您原来的三角形(用 生成(0,0) -- (0.2cm,0) -- (0.1cm,0.2cm) -- cycle)不是等边三角形。

因此,我决定利用极坐标创建一个内接于半径为 的圆的等边坐标\radius。请注意使用

\newlength{\radius} \setlength{\radius}{.2cm}

3.我还定义了另外两个以相同方式工作的命令,并对颜色进行了强制参数设置。

平均能量损失

\documentclass{report}
\usepackage{etoolbox}
\usepackage{tikz}
\usepackage{lipsum}

%%\definecolor{mycolor1}{RGB}{255,255,0}      % yellow
%%\definecolor{mycolor2}{RGB}{255,0,0}        % red
%%\definecolor{mycolor3}{RGB}{0,0,0}          % black
\newlength{\radius}
\setlength{\radius}{.2cm}

\newrobustcmd*{\mytriangle}[1]{\tikz{\draw[thick, fill=#1] (90:\radius) -- (210:\radius) -- (330:\radius) -- cycle;}}

\newrobustcmd*{\mysquare}[1]{\tikz{\draw[thick, fill=#1] (45:\radius) -- (135:\radius) -- (225:\radius) -- (315:\radius) -- cycle;}}

\newrobustcmd*{\mycircle}[1]{\tikz{\draw[thick, fill=#1] (0,0)  circle (\radius);}}

\begin{document}
\lipsum*[1] \mytriangle{yellow} \quad \mytriangle{red} \quad \mytriangle{black}
%
\lipsum*[2] \mysquare{yellow} \quad \mysquare{red} \quad \mysquare{black}
%
\lipsum*[5] \mycircle{yellow} \quad \mycircle{red} \quad \mycircle{black}

\end{document}

在此处输入图片描述

相关内容