У меня есть этот MWE
\documentclass{article}
\usepackage[many]{tcolorbox}
\usepackage{minted}
\usepackage{graphicx}
\usepackage{mwe}
\setminted{linenos}
\tcbset{
common/.style={
before=\vskip2\baselineskip\noindent,
enhanced,
title empty,
frame empty,
segmentation empty,
middle=0.7cm,
top=0.5cm,
left*=1.5mm, right*=1.5mm, bottom=0pt
}
}
\DeclareTColorBox{coolbox}{O{}mO{}}{
common,
interior code={
\filldraw[ultra thick,fill=white,draw=black,rounded corners=10pt,#1] (frame.north west) -- (frame.north east)[sharp corners] -- (frame.south east);
\node at ([xshift=-30pt,yshift=3pt]interior.north east) {\includegraphics[#3]{#2}};
},
}
\begin{document}
\begin{coolbox}{example-image}[width=1.5cm,angle=-20]
\begin{minted}{bash}
ENV="() { :; }; echo foo" bash
\end{minted}
\end{coolbox}
\begin{minted}{bash}
ENV="() { :; }; echo foo" bash
\end{minted}
\end{document}
который производит с использованием
latexmk -interaction=nonstopmode -shell-escape -synctex=1 -lualatex ./foo.tex
Но как вы можете заметить, есть проблема с количеством строк (я выделил ее фиолетовым цветом). В частности, первая minted
среда находится внутри coolbox
, а вторая нет. Поэтому первая minted
сплющена внутри coolbox
.
Вопрос:Можно ли избежать сдавливания с левой стороны coolbox
(только с левой, потому что она всегда открывается), чтобы выровнять количество строк снаружи и внутри?
решение1
Ваши настройки для tcolorbox
отвечают за это. В вашей \tcbset
команде вы используете left*=1.5mm
, который вызывает идентификацию. Документация tcolorbox для /tcb/left*=⟨length⟩
читает
Устанавливает /tcb/left таким образом, что ⟨length⟩ — это расстояние между левым ограничивающим прямоугольником и текстовыми частями.
В вашем случае достаточно установить left*=0mm
.