因此,我想排版具有以下属性的 tcolorbox:
- 仅左边框
- 圆角
- 左边界右侧内部有尖角。
我尝试了以下方法:
\begin{tcolorbox}
[
toprule=0pt,
bottomrule=0pt,
rightrule=0pt,
leftrule=5pt,
colframe=blue
]
This is a tcolorbox!
\end{tcolorbox}
不幸的是,我得到了以下输出: 请注意,尽管我已经明确告诉 tcolorbox 以 0pt 的厚度来绘制它们(从技术上讲,这意味着“不可见”),但在框的顶部、右侧和底部仍有淡淡的蓝色轮廓。
此外,请注意盒子内部灰色部分的左上角和右下角不清晰。
有人知道我该如何解决这些问题吗?我尝试过查看 tcolorbox 手册,但找不到我想要的内容。如果您的解决方案有命令\newenvironment
,您能否彻底解释您的代码以尽量减少答案下的问题数量?
谢谢!
答案1
您可以替换框架代码,以便只绘制左边框,这样可以消除伪影并允许您拥有尖锐的内部角:
\documentclass{article}
\usepackage[skins]{tcolorbox}
\newtcolorbox{blueleftbox}{%
enhanced,
boxrule=0pt,
leftrule=5pt,
sharp corners=west,
frame code={
\fill[blue]
([xshift=5pt]frame.north west) --
([xshift=5pt]frame.south west) --
([xshift=1mm]frame.south west) arc
[radius=1mm,start angle=-90,end angle=-180] --
([yshift=-1mm]frame.north west) arc
[radius=1mm,start angle=180,end angle=90]--
cycle;
}
}
\begin{document}
\begin{blueleftbox}
This is a tcolorbox!
\end{blueleftbox}
\end{document}
答案2
请借助以下方法控制电弧——
arc=0mm,outer arc=1mm,
\begin{tcolorbox}
[arc=0mm,outer arc=1mm,
boxrule=0mm,toprule=0mm,bottomrule=0mm,left=1mm,right=1mm,leftrule=5pt,
titlerule=0mm,toptitle=0mm,bottomtitle=0mm,top=0mm,
colframe=blue!50!black,colback=blue!5!white,coltitle=blue!50!black,
]
This is a tcolorbox!
\end{tcolorbox}