标题中的图案图例

标题中的图案图例

这是一个后续问题:latex - 标题中的颜色框作为图例 - 如何居中或采用替代解决方案?

为了方便起见,我复制了 MWE:

\documentclass{article}
\usepackage{graphicx}
\usepackage{xcolor}

\DeclareRobustCommand{\legendsquare}[1]{%
  \textcolor{#1}{\rule{1ex}{1ex}}%
}
\begin{document}
\begin{figure}[hbp]
\centering
\includegraphics[width=.4\textwidth]{example-image}
\caption{Pattern of participants \legendsquare{green}~X,
  \legendsquare{orange}~Y,
  \legendsquare{black}~Z after}
\label{fig:cha_HAC_RunningTime}
\end{figure}    
\end{document}

彩色图例现在显示在标题中。方框填充了绿色、橙色和黑色。

问题:如何在彩色框中放置一些图案,例如对角线图案、点状图案等?

答案1

您可以用 TikZ 替换您的命令。如果您想保持命令定义简单,着色命令会变得稍微复杂一些。

您可以draw在正方形中添加带有图案的东西来显示正方形的外观。

输出

在此处输入图片描述

代码

\documentclass{article}
\usepackage{graphicx}
\usepackage{tikz}

\usetikzlibrary{patterns}

\DeclareRobustCommand{\legendsquare}[1]{%
  \tikz[baseline=(a.south)]{\node[#1, inner sep=.8ex, outer sep=0] (a) {};}%
}

\begin{document}
\begin{figure}[!htb]
\centering
\includegraphics[width=.4\textwidth]{example-image}
\caption{Pattern of participants \legendsquare{fill=green}~X,
    \legendsquare{pattern=north west lines}~J,
    \legendsquare{pattern=dots}~W,
    \legendsquare{fill=orange}~Y,
    \legendsquare{fill=black}~Z after}
\label{fig:cha_HAC_RunningTime}
\end{figure}    
\end{document}

相关内容