小L的实现代码,这里进行了整理,去掉了配置minted的部分,便于大家使用,编译方式选用xelatex,代码如下:

\documentclass[UTF8, openany,twoside]{ctexbook}
 
\usepackage[tikz]{bclogo,rotating}
\usepackage{tikz}
\usepackage{mdframed}
\usepackage{geometry}
\usepackage{graphicx}
\usetikzlibrary{calc}
\DeclareGraphicsRule{.mps}{eps}{.mps}{}
 
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}

\newenvironment{attention}[1]
{\par\medskip\noindent
\begin{tikzpicture}
  \node[inner sep = 0pt] (box) \bgroup%
  \begin{minipage}[t]{.99\textwidth}%
    \begin{minipage}{.3\textwidth}
    \centering
    \tikz[scale = 5]\node[scale = 3, rotate = 30]{\bclampe};
    \end{minipage}%
    \begin{minipage}{.65\textwidth}
    \textbf{#1}\par\smallskip
    \surroundwithmdframed
      [topline=false, bottomline=false, leftline=false, rightline=false,
      backgroundcolor=lbcolor]
      {minted}}% former part
{%
    \end{minipage}\hfill
  \end{minipage}%
  \egroup;
  \draw[black,line width=3pt]
    ( $ (box.north east) + (-5pt,3pt) $ ) -- ( $ (box.north east) + (0,3pt) $ ) -- ( $ (box.south east) + (0,-3pt) $ ) -- + (-5pt,0);
  \draw[black,line width=3pt]
    ( $ (box.north west) + (5pt,3pt) $ ) -- ( $ (box.north west) + (0,3pt) $ ) -- ( $ (box.south west) + (0,-3pt) $ ) -- + (5pt,0);
\end{tikzpicture}
\par\medskip}
 
\begin{document}

\begin{attention}{Attention}
如何用 LaTeX 实现这种方框, 要求方框的高度能够随着中间内容的多少自动调整.
\end{attention}

\end{document}

其样式结果如下:代码选自:https://gist.github.com/Liam0205/488895b9555273207f3f99918d368e83

点赞(1)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部