amssymb: галочка в поле

Oct 24 2020

Мой вопрос вызван тем, что на amssymbупаковке нет галочки в квадрате. К счастью, в разделе «Создание флажка в рамке» я нашел способ установить флажок в поле.

Однако как сделать его совместимым с коробкой без галочки? Рассмотрим этот пример:

\documentclass{article}
\usepackage{amssymb}

\begin{document}
\noindent
\makebox[0pt][l]{$\square$}\raisebox{0.15ex}{\hspace{0.1em}$\checkmark$} A\\
\makebox[0pt][l]{$\square$}{\hspace{0.5em}} B\\

\end{document}

Результат:

Я пытаюсь изменить параметр, \hspaceчтобы привести «B» в соответствие с «A», не имея точного решения. Вы можете помочь?

Ответы

6 egreg Oct 24 2020 at 20:31

Вероятно, обратная логика:

\documentclass{article}
\usepackage{amssymb}

\newcommand{\checkbox}[1]{%
  \ifnum#1=1
    \makebox[0pt][l]{\raisebox{0.15ex}{\hspace{0.1em}$\checkmark$}}%
  \fi
  $\square$%
}

\begin{document}

\checkbox{1} A

\checkbox{0} B

\end{document}

Я добавил аргумент, чтобы не было проблем с пробелами после макроса. Кроме того, при желании легче управлять внешним видом галочки.