我用框架包来突出显示我的 latex 文档中的环境。但是,将 mdframed 与 amsthm 一起使用时似乎存在错误。在这种情况下,参数内上边距似乎被忽略了(蓝线结束于埃并且不在同一高度。
这是 MWE
\documentclass[a4paper]{article}
\usepackage{amsthm}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{tikz}
\newmdtheoremenv[
hidealllines=true,
leftline=true,
innermargin=0pt,
innerrightmargin=10pt,
innertopmargin=0pt,
linewidth=1.5pt,
linecolor=blue,
]{example}[section]{Example}
\usepackage{lipsum}
\begin{document}
\begin{example}
\lipsum[1]
\end{example}
\end{document}
有人知道如何解决这个问题吗?
答案1
引用amsthm
文档
上下空间:[...] 对于作为单独包使用的 amsthm,它是 \topsep 的本地值。
因此,您可以通过设置innertopmargin
来补偿这个额外的空间-\topsep
:
\documentclass[a4paper]{article}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{tikz}
\usepackage{amsthm}
\newmdtheoremenv[
hidealllines=true,
leftline=true,
innermargin=0pt,
innerrightmargin=10pt,
innertopmargin=-\topsep,
linewidth=1.5pt,
linecolor=blue,
]{example}[section]{Example}
\usepackage{lipsum}
\begin{document}
\begin{example}
\lipsum[1]
\end{example}
\end{document}
或者,您也可以更改的值\topsep
(警告:这也会影响所有其他使用的内容\topsep
):
\documentclass[a4paper]{article}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{tikz}
\usepackage{amsthm}
\setlength{\topsep}{0pt}
\newmdtheoremenv[
hidealllines=true,
leftline=true,
innermargin=0pt,
innerrightmargin=10pt,
innertopmargin=0pt,
linewidth=1.5pt,
linecolor=blue,
]{example}[section]{Example}
\usepackage{lipsum}
\begin{document}
\begin{example}
\lipsum[1]
\end{example}
\end{document}