對齊 tcolorbox 內部和外部的行數

對齊 tcolorbox 內部和外部的行數

我有這個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導致識別的命令。用於/tcb/left*=⟨length⟩讀取的tcolorbox 文檔

設定 /tcb/left 使得 ⟨length⟩ 是左邊界框和文字部分之間的距離。

在你的情況下,設定應該足夠了left*=0mm

相關內容