如何在 LaTeX 中绘制一个边长为 1cm 的正方形并填充颜色?

如何在 LaTeX 中绘制一个边长为 1cm 的正方形并填充颜色?

如何在 LaTeX 中绘制一个 1cm 的正方形并填充颜色?我找到了mdframedframebox做到了这一点,但需要在里面写文字。我只需要画一个框。

答案1

使用简单的\rule命令:

\documentclass{article}
\usepackage{xcolor}
\newcommand\crule[3][black]{\textcolor{#1}{\rule{#2}{#3}}}
\begin{document}

\crule{1cm}{1cm} \crule[blue]{1cm}{1cm} \crule[red!50!white!100]{1cm}{1cm}  

\end{document}

在此处输入图片描述

答案2

还没有人绘制并填充过一个盒子*,这可能就是原始问题的意思。值得一提的是,这里有一种完全不同的方法来获得 10 毫米的盒子 - 在空盒子周围使用 fbox。8-)

\usepackage{xcolor}
...
\fboxsep=4mm \fboxrule=1mm
\fcolorbox{black}{blue!40!white}{\null}

在此处输入图片描述

编辑:* 抱歉,上面的解决方案带有绘制/填充的框。但没有此类图片。

答案3

您可以使用tikz\newcommand来为盒子设置一个小命令。

\documentclass{article}

\usepackage{lipsum}
\usepackage{tikz}

\newcommand{\mycbox}[1]{\tikz{\path[draw=#1,fill=#1] (0,0) rectangle (1cm,1cm);}}

\begin{document}
    \lipsum[1-2]
    \mycbox{blue}
    \mycbox{red}
\end{document}

结果:

在此处输入图片描述

答案4

上述所有解决方案都扩展为

\hbox{\pdfliteral{0 0 1 rg}\vrule height1cm width1cm depth0cm\pdfliteral{0 g}}

在pdfTeX级别。唯一的区别(当使用TikZ时)是您需要从56个外部文件中读取26560行代码。TikZ做什么?它使用编程语言进行排版来实现图片编程。有时直接使用原始语言进行排版似乎更实用。我的意思是这是这种情况。

相关内容