我如何将 \fboxsep 移动到中间

我如何将 \fboxsep 移动到中间

我正在尝试用数字方块创建这些数字键,但我不确定如何将框移向中间。

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem,multicol,xcolor}
\fboxsep=4mm \fboxrule=0.5mm % set these parameters globally

\begin{document}
\begin{multicols}{3}

\begin{enumerate}[label=(\alph*)]
\item $2 + \fcolorbox{black}{white}{\null} = 5$
\item $\fcolorbox{black}{white}{\null} + 2 = 5$

\item $1 + \fcolorbox{black}{white}{\null} = 5$
\item $\fcolorbox{black}{white}{\null} + 1 = 5$

\item $3 + \fcolorbox{black}{white}{\null} = 5$
\item $\fcolorbox{black}{white}{\null} + 3 = 5$
\end{enumerate}

\end{multicols}
\end{document}

答案1

使用沿数学轴居中的符号幻像,例如\sum和,要得到一个正方形,测量其高度和深度。最后,确定的值\fboxsep以获得所需的正方形宽度。

\documentclass{article}
\usepackage{enumitem,multicol}

\fboxsep=4mm \fboxrule=0.5mm % set these parameters globally

\newcommand{\fillnumber}{%
  \begingroup
  \setlength{\fboxrule}{0.5mm}%
  \setlength{\fboxsep}{1mm}%
  \sbox0{$\sum$}%
  \fbox{$\vphantom{\sum}$\hspace{\dimeval{\ht0+\dp0}}}%
  \endgroup
}

\begin{document}
\begin{multicols}{3}

\begin{enumerate}[label=(\alph*)]
\item $2 + \fillnumber = 5$
\item $\fillnumber + 2 = 5$

\item $1 + \fillnumber = 5$
\item $\fillnumber + 1 = 5$

\item $3 + \fillnumber = 5$
\item $\fillnumber + 3 = 5$
\end{enumerate}

\end{multicols}
\end{document}

在此处输入图片描述

tasks在我看来,使用比更好multicols

\documentclass{article}
\usepackage{tasks}

\fboxsep=4mm \fboxrule=0.5mm % set these parameters globally

\newcommand{\fillnumber}{%
  \begingroup
  \setlength{\fboxrule}{0.5mm}%
  \setlength{\fboxsep}{1mm}%
  \sbox0{$\sum$}%
  \fbox{$\vphantom{\sum}$\hspace{\dimeval{\ht0+\dp0}}}%
  \endgroup
}

\begin{document}

\begin{tasks}(3)
\task $2 + \fillnumber = 5$
\task $\fillnumber + 2 = 5$
\task $1 + \fillnumber = 5$
\task $\fillnumber + 1 = 5$
\task $3 + \fillnumber = 5$
\task $\fillnumber + 3 = 5$
\end{tasks}

\end{document}

在此处输入图片描述

答案2

不要使用\null,因为它没有任何高度。相反,设置一个\phantom数字;它将允许您拥有一个大致与内容大小匹配的框。此外,定义一个可以为您完成所有调整的命令;这将使全局更改变得更加容易。

在此处输入图片描述

\documentclass{article}

\usepackage{multicol,enumitem}

\newcommand{\boxnum}[1]{{%
  \setlength{\fboxsep}{4mm}%
  \setlength{\fboxrule}{0.5mm}%
  \fbox{\phantom{#1}}%
}}

\begin{document}

\begin{multicols}{3}
  \begin{enumerate}[label=(\alph*)]
    \item $2 + \boxnum{3} = 5$
    \item $\boxnum{3} + 2 = 5$

    \item $1 + \boxnum{4} = 5$
    \item $\boxnum{4} + 1 = 5$

    \item $3 + \boxnum{2} = 5$
    \item $\boxnum{2} + 3 = 5$
  \end{enumerate}
\end{multicols}

\end{document}

答案3

我假设通过“将框移到中间”,你希望框垂直居中在数学轴上。(附言:数学轴是一条不可见的水平线,它将诸如 、 和 等符号一-分为=+此外,我假设你想实现这个目标没有扩大框架框。

如果这些假设是正确的,我建议您将框架框装入\vcenter{\hbox{...}}包装器中;\vcenter这是一个将其参数垂直置于数学轴上的命令。

\boxed{}顺便说一句,我认为写起来比更容易\fcolorbox{black}{white}{\null}

在此处输入图片描述

\documentclass{article}
\usepackage{enumitem,multicol,xcolor,amsmath}
\fboxsep=4mm \fboxrule=0.5mm
\newcommand\mybox{%
   \vcenter{\hbox{$\boxed{}$}}} % feel free to come up with a snazzier name
\begin{document}

\noindent \textcolor{red}{Before}
\begin{multicols}{3}
\begin{enumerate}[label=(\alph*)]
\item $2 + \boxed{} = 5$
\item $\boxed{} + 2 = 5$

\item $1 + \boxed{} = 5$
\item $\boxed{} + 1 = 5$

\item $3 + \boxed{} = 5$
\item $\boxed{} + 3 = 5$
\end{enumerate}
\end{multicols}

\bigskip
\noindent \textcolor{red}{After}
\begin{multicols}{3}
\begin{enumerate}[label=(\alph*)]
\item $2 + \mybox = 5$
\item $\mybox + 2 = 5$

\item $1 + \mybox = 5$
\item $\mybox + 1 = 5$

\item $3 + \mybox = 5$
\item $\mybox + 3 = 5$
\end{enumerate}
\end{multicols}

\end{document}

相关内容