Spacing=true + ragged2e 会产生错误的小页面

Spacing=true + ragged2e 会产生错误的小页面

我理解spacing=true中的选项microtype被视为“实验性的”。但是,对于我的文档,它确实改善了文档的外观——但ragged2e使用 时某些小页面出现了戏剧性的例外。

\documentclass{article}
\usepackage[document]{ragged2e}
\usepackage{mdframed}

\usepackage[spacing=true]{microtype}

\newenvironment{mybox}{
\begin{minipage}[\textheight]{\linewidth}
\begin{mdframed}
}{
\end{mdframed}
\end{minipage}
}

\usepackage{lipsum}

\begin{document}

\begin{mybox}
\lipsum[1-3]
\end{mybox}

\end{document}

在此处输入图片描述

最好的解决方案是什么(除了默认的spacing=false)?

答案1

microtype软件包发出警告:

Package microtype Warning: You are using the `ragged2e' package.
(microtype)                Adjustment of interword spacing may lead to
(microtype)                undesired results when used with `ragged2e'.
(microtype)                In this case, disable the `spacing' option.

\RaggedRight但是,如果我在环境开始时重新陈述,则不会出现错误的输出mdframed

\documentclass{article}
\usepackage[document]{ragged2e}
\usepackage{mdframed}

\usepackage[spacing=true]{microtype}

\newenvironment{mybox}
 {\begin{minipage}[\textheight]{\linewidth}
  \begin{mdframed}\RaggedRight}
 {\end{mdframed}\end{minipage}}

\usepackage{lipsum}

\begin{document}

\noindent
\begin{mybox}
\lipsum[1-3]
\end{mybox}

\end{document}

但目前还不清楚minipage包装器的作用是什么。

在此处输入图片描述

如果您希望框架不跨页面分割,只需添加该nobreak选项。

\newenvironment{mybox}
 {\begin{mdframed}[nobreak]\RaggedRight}
 {\end{mdframed}}

这也避免了需要\noindent

相关内容