Как нарисовать в LaTeX квадрат со стороной 1 см, залитый цветом?

Как нарисовать в LaTeX квадрат со стороной 1 см, залитый цветом?

Как нарисовать квадрат 1 см в LaTeX, залитый цветом? Я нашел mdframedи frameboxделаю это, но там нужно написать текст внутри. Мне просто нужно нарисовать рамку.

решение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для создания небольшой команды для box.

\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) в том, что вам нужно прочитать 26560 строк кода из 56 внешних файлов. Что делает TikZ? Он реализует язык программирования для программирования изображений с использованием языка программирования для набора текста. Иногда кажется более функциональным использовать исходный язык для набора текста напрямую. Я имею в виду, что это как раз тот случай.

Связанный контент