我对 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}
结果: