我正在尝试让itemize
环境自动居中tcolorbox
。手动解决方法是将其放入 a 中minipage
,然后迭代地将 的大小缩小minipage
到环境的大小itemize
。我曾寻找过类似的 minipage 替代方案,pbox
但无法让它与之配合使用(但我并不是说这是死路一条,我pbox
以前从未使用过,所以可能只是做错了什么)。有什么建议吗?
梅威瑟:
\documentclass[tikz]{standalone}
\usepackage{tcolorbox}
\usepackage[]{enumitem}
\setlist[itemize]{leftmargin=*,nosep}
\newcommand{\boxwidth}{6.75cm}
\begin{document}
\begin{tikzpicture}
\node[](NAME) at (0,0)
{
\begin{tcolorbox}[%
title={\textcolor{white}{\textbf{The itemize env centered}}},
width=\boxwidth, center title, center upper, colframe = red!50!black]
\begin{minipage}{.77\textwidth} % HERE I don't want to adjust manually!
\begin{itemize}
\item bla bla
\item blub blub blub
\item bliblalub-blaa blaba blubb
\begin{itemize}
\item blubber die blub
\item lore em ipsum si
\end{itemize}
\end{itemize}
\end{minipage}
\end{tcolorbox}
};
\end{tikzpicture}
\end{document}
MWE 给出了我想要的结果,但是它需要手动调整宽度minipage
。如何实现自动化?我希望tcolorbox
大小是固定的,因为我正在制作一棵树,其中使用了几个 tcolorbox,它们都应该具有相同的大小,但是框中环境中的内容itemize
并不总是充分利用该空间,因此,我希望它在这些情况下居中...
答案1
一个可能的解决方案:将itemize
环境包裹在另一个tcolorbox
居中的环境中。left=...
不过,跳过可能需要一些调整。
\documentclass{standalone}
\usepackage{tikz}
\usepackage[most]{tcolorbox}
\usepackage[]{enumitem}
\setlist[itemize]{leftmargin=*,nosep}
\newcommand{\boxwidth}{6.75cm}
\newtcolorbox{innerdummybox}[1][]{%
enhanced,interior hidden,frame hidden,boxsep=0pt,top=0pt,right=0pt,#1}
\begin{document}
\begin{tcolorbox}[%
title={\textcolor{white}{\textbf{The itemize env centered}}},
width=\boxwidth, center title, colframe = red!50!black]
\begin{innerdummybox}
\begin{itemize}
\item bla bla
\item blub blub blub
\item bliblalub-blaa blaba blubb
\begin{itemize}
\item blubber die blub
\item lore em ipsum si
\end{itemize}
\end{itemize}
\end{innerdummybox}
\end{tcolorbox}
\end{document}