我想创建一个 LaTeX 环境,用于样式化的盒子,而不使用任何额外的包,只需定义一些线条和空格。我已经取得了很大进展,但在这个例子中,我想象的最后一行失败了,我意识到我还没有对底层盒子模型有正确的印象。
目标:带有自定义边框线、一些填充以及内部可能包含任何其他 LaTeX 命令的框。在这种情况下,我想象一个框,左侧有一条粗线和一条细线,而较细的线与顶部短水平段的左端相连,而右侧就像是它的 180° 旋转副本,只是没有较粗的线。
在我的班级档案中我已经意识到了这一点
\newenvironment{interrupt} {%
\vspace{2em}%
\noindent%
\hspace{2.5pt}\rule{2em}{.2pt}\hspace{-2em}\hspace{-2.5pt}%
\vline width .8pt%
\hspace{1.5pt}%
\vline width .2pt%
\hspace{2em}%
\begin{minipage}[t]{.9\linewidth}
\vspace{1em}%
} {%
\vspace{.5em}%
\end{minipage}%
%\vfill
\hspace{2em}\vline width .2pt%
\vfill%
%\hspace{-2em}%
\hfill%
\rule{2em}{.2pt}%
\vspace{2em}%
}
但右下角部分的表现并不像我预期的那样,我尝试的所有对齐方法都失败了。那么我哪里想错了呢?
如果有好的资源详细解释这一点而我却错过了,请链接它!
附加问题:OT,但与示例相关,使内框动态使用所有可用空间减去所需填充的最佳方法是什么?
编辑:根据要求,提供我的具体案例的最小示例
\documentclass[a4paper]{article}
\makeatletter
\newenvironment{interrupt} {%
\vspace{2em}%
\noindent%
\hspace{2.5pt}\rule{2em}{.2pt}\hspace{-2em}\hspace{-2.5pt}%
\vline width .8pt%
\hspace{1.5pt}%
\vline width .2pt%
\hspace{2em}%
\begin{minipage}[t]{.9\linewidth}
\vspace{1em}%
} {%
\vspace{.5em}%
\end{minipage}%
%\vfill
\hspace{2em}\vline width .2pt%
%\vfill%
%\hspace{-2em}%
%\hfill%
\rule{2em}{.2pt}%
\vspace{2em}%
}
\makeatother
\begin{document}
Bla, bla blabla bla, bla.\\
Ba di da bla
\begin{interrupt} % the session and discussion is interrupted
% and may be continued in the same context later
How nice, a custom sample text.
\begin{tabular}{c | c c}
1 & 2 & 3\\\hline
4 & 5 & 6\\
7 & 8 & 9
\end{tabular}
\end{interrupt}
Back to same bla\dots
\end{document}
答案1
\documentclass[a4paper]{article}
\makeatletter
\newenvironment{interrupt} {%
\par
\addvspace{2em}%
\noindent\hspace{2.5pt}\rule{2em}{.2pt}\hspace{\dimexpr-2.5pt-2em}%
\vline width .8pt %
\hspace{1.5pt}%
\vline width .2pt %
\hspace{2em}%
\begin{minipage}[t]{\dimexpr\linewidth-5pt-4em}
\vspace{1em}%
} {%
\vspace{.5em}%
\end{minipage}%
\hspace{2em}%
\vline width .2pt %
\par
\parskip0pt
\nointerlineskip
\noindent\hfill\rule{2em}{.2pt}\hspace*{2.5pt}%
\par
\addvspace{2em}%
}
\makeatother
\begin{document}
Bla, bla blabla bla, bla.\\
Ba di da bla
\begin{interrupt} % the session and discussion is interrupted
% and may be continued in the same context later
How nice, a custom sample text.
\begin{tabular}{c | c c}
1 & 2 & 3\\\hline
4 & 5 & 6\\
7 & 8 & 9
\end{tabular}
\end{interrupt}
Back to same bla\dots
\end{document}