我想减少列之间的空间并且tcolorbox
不带框架显示。
我的最小代码:
\documentclass{article}
\usepackage[a4,landscape]{geometry}
\usepackage[absolute,overlay]{textpos}
\usepackage{xcolor}
\usepackage{tcolorbox}
\tcbuselibrary{poster}
\usepackage{tikz}
\usetikzlibrary{positioning}
\usepackage{enumitem}
\usepackage{multicol}
\usepackage{microtype}
\begin{document}
\begin{tcbposter}
\posterbox[width=12.0cm,height=5.0cm]{xshift=1cm,yshift=1cm}
{
\addtolength{\leftmargini}{0.1cm}
{
\begin{tcolorbox}
\setlength\columnsep{-10pt}
%\setlength{\columnrulewidth}{1pt}
\begin{multicols*}{3}
\begin{enumerate}[itemsep=0.5mm]
\item ............
\item ............
\item ............
\item ............
\item ............
\item ............
\end{enumerate}
\end{multicols*}
\end{tcolorbox}
}
}
\end{tcbposter}
\end{document}
答案1
首先,\usepackage[a4,landscape]{geometry}
是无效的:您想要的选项叫做a4paper
,而不是a4
。
其次,由于插入了缩进框,导致\hbox
宽度过大。在之前添加可以解决这个问题。\parindent
\begin{tcbposter}
\noindent
\begin{tcbposter}
现在,谈谈真正的问题。由于您没有说明如何处理删除的水平空间,因此我不得不猜测:我假设您希望保留整个整体宽度并用列内容完全填充它(因此,我将其设置为\columnsep
)0pt
。
为了删除 周围的框架
tcolorbox
,您可以使用tile
选项,它是 的快捷方式skin=tile
(这通常需要\tcbuselibrary{skins}
)。您尝试挤压的水平空间并非来自 的
multicol
参数\columnsep
— 这就是您尝试使用\setlength\columnsep{-10pt}
无效的原因。它部分来自enumitem
水平间距参数 — 主要来自labelwidth
,但也有一部分来自默认自动计算的labelindent
。此外,您的点不一定填满整行,因为您使用的是显式的............
而不是\dotfill
。通过传递
leftmargin=*
给enumerate
环境,可以告诉1) 将宽度enumitem
设置为(这是由于枚举的编号)和 2)从其他参数计算参数。由于默认为,当不从其他参数计算时,即使用 时的情况,标签将设置为从当前列的左边距开始。labelwidth
0.
\arabic
leftmargin
labelindent
0pt
leftmargin=*
enumerate
\documentclass{article}
\usepackage[a4paper,landscape]{geometry}
\usepackage[absolute,overlay]{textpos}
\usepackage{tcolorbox}
\tcbuselibrary{poster, skins}
\usepackage{enumitem}
\usepackage{multicol}
\begin{document}
\noindent % Without this, you have an overfull \hbox (\parindent too much)
\begin{tcbposter}
\posterbox[width=12.0cm,height=5.0cm]{xshift=1cm,yshift=1cm}
{%
\begin{tcolorbox}[tile] % <---- 'tile' removes the frame
\setlength{\columnsep}{0pt}%
\begin{multicols}{3}
\begin{enumerate}[itemsep=0.5mm, leftmargin=*]
\item \dotfill\\ abc def\dotfill
\item \dotfill\\\mbox{}\dotfill
\item \dotfill\\\mbox{}\dotfill
\item \dotfill\\\mbox{}\dotfill
\item \dotfill\\\mbox{}\dotfill
\item \dotfill\\\mbox{}\dotfill
\end{enumerate}
\end{multicols}
\end{tcolorbox}
}%
\end{tcbposter}
\end{document}
注意:这里为什么需要 不是很清楚tcolorbox
。如果没有它,您将获得以下内容(即不再有、left
和的边距):top
right
bottom
tcolorbox