如何在 mdframed 包定义的环境中设置行距?

如何在 mdframed 包定义的环境中设置行距?

在下面的代码中,我如何将 应用于\baselineskip=.8cm环境theorem?我想以某种方式在\mdfdefinestyle\mdtheorem命令中执行此操作,而不是每次手动在主体中执行此操作。另外,我不想使用\linespread或 之类的命令\baselinestretch

\documentclass{book}
\usepackage{lipsum}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mystyle}{%
frametitlerulewidth=0pt,
frametitlerule=true,
frametitlefont=\color{black},
frametitlebackgroundcolor=yellow,
}
\mdtheorem[style=mystyle]{theorem}[chapter]{Theorem}

\begin{document}
\lipsum[1]
\begin{theorem}[Pythagorean theorem]
\lipsum[2]
\end{theorem}
\end{document}

答案1

你可以这样做startinnercode

\documentclass{book}
\usepackage{lipsum}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mystyle}{
  frametitlerulewidth=0pt,
  frametitlerule=true,
  frametitlefont=\color{black},
  frametitlebackgroundcolor=yellow,
  startinnercode={\baselineskip=0.8cm},
}
\mdtheorem[style=mystyle]{theorem}[chapter]{Theorem}

\begin{document}
\lipsum[1]
\begin{theorem}[Pythagorean theorem]
\lipsum[2]
\end{theorem}
\end{document}

但是,使用\linespread{<factor>}\selectfont肯定更好,我不明白你为什么不想使用它。

在此处输入图片描述

答案2

我不知道您为什么不想要这些命令。无论如何,我建议使用该set space包,结合\AtbeginEnvironment来自的命令etoolbox。我测量了行间距确实是 8mm:

\documentclass{book}

\usepackage{lipsum}
\usepackage[framemethod=TikZ]{mdframed}
\mdfdefinestyle{mystyle}{%
frametitlerulewidth=0pt,
frametitlerule=true,
frametitlefont=\color{black},
frametitlebackgroundcolor=yellow,
}
\mdtheorem[style=mystyle]{theorem}[chapter]{Theorem}
\usepackage{setspace}
\usepackage{etoolbox}
\AtBeginEnvironment{theorem}{\setstretch{1.9}}
\begin{document}

\lipsum[1]
\begin{theorem}[Pythagorean theorem]
\lipsum[2]
\end{theorem}

\end{document} 

在此处输入图片描述

相关内容