
我想用平行線創建漂亮的盒子。請參閱附圖
我的最小編碼:
\documentclass[a4paper,8pt]{article}
\usepackage[left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]{geometry}
\usepackage[most]{tcolorbox}
%\usepackage{tikz}
\usepackage{adjustbox}
\tikzset{fancytitle/.style ={fill=red, text=white}}
\newtcolorbox{Mybox}[2][]{enhanced,
arc=4mm,
colframe=blue!80!red,colback=white,colbacktitle=blue!5!yellow!50!white,
fonttitle=\bfseries,coltitle=black,
title={#2},
#1}
\begin{document}
\begin{Mybox}[width=5.4cm,height=2.4cm]{Title}
\begin{center}
abc xyz
\end{center}
\end{Mybox}
\end{document}
答案1
這很大程度是抄襲自這裡但\parshape
內容會自動插入before upper
。當然,您可以根據需要調整尺寸,並可以相應地更改行數\parshape
。
\documentclass[a4paper,8pt]{article}
\usepackage[left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]{geometry}
\usepackage[most]{tcolorbox}
\newtcolorbox{Mybox}[2][]{%
enhanced,top=0mm,left=2pt,right=2pt,
enlarge top by=\baselineskip/2+1mm,
enlarge top at break by=0mm,pad at break=2mm,
fontupper=\normalsize,
overlay unbroken and first={%
\draw[fill=yellow]
([xshift=6pt,yshift=12pt]frame.north west) -| ++ (1,-2)
-- ++ (-0.5,0.3) -- ++ (-0.5,-0.3) -- cycle;
\node[anchor=north west,text width=1cm-4pt,align=center] at ([xshift=6pt,yshift=12pt]frame.north west)
{#2};
},
breakable,arc=4mm,
colframe=blue!80!red,colback=white,
width=\textwidth,
before upper ={\parshape 5
1.2cm \dimexpr \hsize-1.2cm\relax
1.2cm \dimexpr \hsize-1.2cm\relax
1.2cm \dimexpr \hsize-1.2cm\relax
1.2cm \dimexpr \hsize-1.2cm\relax
0pt \hsize} ,#1}
\begin{document}
\begin{Mybox}[width=5.4cm]{abc xyz}
some text some text some text some text some text some text some text some text
some text some text some text some text some text some text some text some text
some text some text some text some text some text
\end{Mybox}
\end{document}
如果您想要真正的水平線,您可以使用\hrulefill
。 (但是,在這種情況下,您最好不要tcolorbox
使用簡單的 Ti 來繪製該東西kZ。
\documentclass[a4paper,8pt]{article}
\usepackage[left=1.0cm,right=0.3cm,top=0.5cm,bottom=0.5cm]{geometry}
\usepackage[most]{tcolorbox}
\newcounter{ic}
\newtcolorbox{Mybox}[2][]{%
enhanced,top=0mm,left=2pt,right=2pt,
enlarge top by=\baselineskip/2+1mm,
enlarge top at break by=0mm,pad at break=2mm,
fontupper=\normalsize,
overlay unbroken and first={%
\draw[fill=yellow]
([xshift=6pt,yshift=12pt]frame.north west) -| ++ (1.6,-1.3)
-- ++ (-0.8,0.3) -- ++ (-0.8,-0.3) -- cycle;
\node[anchor=north west,text width=1.6cm-4pt,align=center] at ([xshift=6pt,yshift=12pt]frame.north west)
{#2};
},
breakable,arc=4mm,
colframe=blue!80!red,colback=white,
width=\textwidth,#1}
\begin{document}
\begin{Mybox}[width=5.4cm]{abc xyz}
\vphantom{X}\hspace{1.8cm}\hrulefill{}\par
\hspace{1.8cm}\hrulefill{}\par
\hrulefill{}\par
\hrulefill{}\par
\hrulefill{}
\end{Mybox}
\end{document}