背景
我希望创建一个类似于此处的调色板的 LaTeX 版本:https://codepen.io/devi8/pen/nJMGZR。它看起来像这样:
我已经设法找到可以构建的代码,但我遇到了两个问题:
- 如何在 MWE 中使用 CMYK 而不是 RGB?
- 我怎样才能将每个框分成两个框并为每个框添加阴影边框?
最小工作示例(MWE)
\documentclass{article}
\usepackage{xcolor,stackengine}
\newcommand\palbox[2]{{\sffamily\fboxsep=10pt\relax\fboxrule=0pt\relax\footnotesize%
\fcolorbox{gray!50}{gray!10}{%
\stackengine{8pt}{%
\colorbox[RGB]{#1}{\rule{60pt}{0pt}\rule{0pt}{60pt}}%
}{%
\color{black!60}\stackengine{6pt}{\##2}{\saycolors{#1}}{U}{l}{F}{F}{S}%
}{U}{l}{F}{F}{S}%
}%
}}
\newcommand\saycolors[1]{\saycolorsaux#1\relax}
\def\saycolorsaux#1 #2 #3\relax{R:#1 G:#2 B:#3}
\begin{document}
\palbox{1 103 143}{01678f}\quad
\palbox{221 109 16}{dd6d10}\quad
\palbox{18 54 69}{123645}\quad
\palbox{120 121 124}{78797c}
\end{document}
电流输出
期望输出
两个 CMYK 颜色彼此相邻,位于一个带有阴影的盒子中。
答案1
这不是基于您的代码的解决方案,而是基于tcolorbox
。我不是色彩系统专家,所以我不知道 CMYK 在这里是否正常工作。
编辑:颜色名称和 CMYK 代码现在是分开的。tcbraster
将样本放在列和行中。
\documentclass{article}
\usepackage{helvet}
\usepackage{array,tabularx,colortbl}
\usepackage[most]{tcolorbox}
\newcommand{\swatch}[5]{%
\definecolor{c1}{cmyk}{#1}%
\definecolor{c2}{cmyk}{#3}%
\begin{tcolorbox}[
enhanced,
frame hidden,
width=21ex,
clip upper,
fontupper=\color{gray},
colback=white,
fuzzy shadow={0mm}{0pt}{-.5pt}{1pt}{black!60!white},
tabularx={XX}
]
\cellcolor{c1} & \cellcolor{c2} \\[4ex]
\multicolumn{2}{l}{\textsf{#5}\rule{0pt}{3ex}} \\
{\tiny\textsf{#2}} & {\tiny\textsf{#4}}
\end{tcolorbox}%
}
\begin{document}
\begin{tcbraster}[raster columns=2,raster force size=false]
\swatch{.61,.34,0,.07}{blue1}{.66,.38,0,.14}{blue2}{Blue Jeans}
\swatch{0,.19,.67,0}{yellow1}{0,.24,.73,.04}{yellow2}{Sunflower}
\swatch{.25,0,.51,.17}{green1}{.27,0,.58,.24}{green2}{Grass}
\swatch{0,.64,.57,.07}{red1}{0,.69,.62,.15}{red2}{Grapefruit}
\end{tcbraster}
\end{document}