我理解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
。