makenonemptybox 和 multicolumn 的问题

makenonemptybox 和 multicolumn 的问题

我对 makeemptybox 的矩形和线条有疑问。我想像我的图一样减小水平尺寸(使用相同的尺寸)。使用我的代码,左侧的矩形侵入了矩形 (b)

这是我的代码:

\documentclass[a4paper,12pt]{article}[12pt]
\usepackage[italian]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{etoolbox}

\usepackage{multicol}




\usepackage[a4paper,top=1.0cm,bottom=1.0cm,left=1.0cm,right=1.0cm]{geometry}


\newcommand{\makenonemptybox}[2]{%
\par\nobreak\vspace{\ht\strutbox}\noindent
\fbox{%
\parbox[c][\dimexpr#1-2\fboxsep][t]{\dimexpr\linewidth-2\fboxsep}{
\hrule width \hsize height 0pt
#2
}%
}%
\par\vspace{\ht\strutbox}
}





\begin{document}


\pagestyle{empty}

\begin{enumerate}

\item  \textbf{e1}:


\begin{enumerate}
 \begin{multicols}{2} 
\item 

\makenonemptybox{0.5in}
                   {                   
                  box 1                     
                   }
\enspace\hrulefill                                                                        

\物品

\makenonemptybox{0.5in}
                   {                   
                  box 2                     
                   }
\enspace\hrulefill                                                

\end{multicols} 
\end{enumerate}


 \item  \textbf{e2}:

\开始{枚举} \开始{多列}{2} \项目

 \makenonemptybox{0.5in}
                    {                   
                   box 1                     
                    }
 \enspace\hrulefill                                                                        

 \item 

 \makenonemptybox{0.5in}
                    {                   
                   box 2                     
                    }
\enspace\hrulefill                                                

\end{multicols} 
\end{enumerate}



\end{enumerate}

\end{document}

在此处输入图片描述

在此处输入图片描述

答案1

您忘记考虑列分隔的宽度(\columnsep)。您还需要稍微增加默认分隔。以下方法可以解决您的当前问题。但请注意,如果您希望将项目设置为网格模式,则应考虑使用包tasks,这将简化其余代码。

\documentclass[12pt]{article}
\usepackage[a4paper,top=1.0cm,bottom=1.0cm,left=1.0cm,right=1.0cm]{geometry}
\usepackage{multicol}

\setlength{\columnsep}{.5cm}

\newcommand{\makenonemptybox}[2]{%
  \par\nobreak\vspace{\ht\strutbox}\noindent
  \fbox{%
    \parbox[c][\dimexpr#1-2\fboxsep][t]{\dimexpr\linewidth-\columnsep-2\fboxsep}{
    \hrule width \hsize height 0pt
    #2
    }%
  }%
  \par\vspace{\ht\strutbox}
}

\begin{document}
  \pagestyle{empty}

  \begin{enumerate}

    \item  \textbf{e1}:

    \begin{enumerate}
      \begin{multicols}{2} 
        \item \makenonemptybox{0.5in} {box 1}
          \enspace\hrulefill      
        \item \makenonemptybox{0.5in} {box 2}
          \enspace\hrulefill
      \end{multicols} 
    \end{enumerate}

    \item \textbf{e2}:

    \begin{enumerate}
      \begin{multicols}{2}
        \item \makenonemptybox{0.5in} {box 1}
          \enspace\hrulefill 
        \item \makenonemptybox{0.5in} {box 2}
          \enspace\hrulefill
      \end{multicols} 
    \end{enumerate}
  \end{enumerate}
\end{document}

结果:

在此处输入图片描述

相关内容