我想通过为文档的某些部分添加彩色背景来突出它们。借助于,adjustbox
我能够编写一个可以满足我要求的环境:它将内容放在一个无边框、无填充的框中,并带有彩色背景。
\usepackage{adjustbox}
\newenvironment{shaded}
{\par\noindent\adjustbox{frame=0pt,bgcolor=yellow,minipage=\textwidth}\bgroup}
{\egroup\par}
问题是,这是一个框。它不能跨页面拆分,并且不能很好地与浮动等配合使用,而创建框时不会遇到浮动等问题。(由于有此minipage
选项,脚注会被捕获在阴影区域的底部,而不是完全消失)。对于我的特定用途,重组文档以避免这些问题不是一种选择。
所以问题是:是否有任何解决方案可以创建尽可能透明的彩色背景?我已经看到了很多关于着色的答案表,代码片段,支持分页符的装箱,完成页面(A, b) 等等,但我看不出它如何适应更普遍的用途。
完成 MWE:
\documentclass{article}
\usepackage{xcolor,adjustbox}
\newenvironment{shaded}
{\par\noindent\adjustbox{frame=0pt,bgcolor=yellow,minipage=\textwidth}\bgroup}
{\egroup\par}
\begin{document}
\section{Regular section}
This section is not highlighted.
This text is just padding to indicate the natural line length.
\begin{shaded}
This is set with a colored background.
\section{Highlighted section}
This entire section is,
actually.\footnote{This footnote is trapped in the minipage.}
\begin{table}
This float triggers an error and disappears.
\end{table}
\end{shaded}
\section{The rest of the document}
\end{document}
答案1
以下包可用于阴影环境并且允许分页:
这里有一个建议使用framed
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{framed,xcolor}
\colorlet{shadecolor}{red!20}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{shaded}
\blindtext\blindtext
\blindtext\blindtext
\end{shaded}
\blindtext
\end{document}
一个更现代的包,可以让你舒适地配置框架,就是包mdframed
。下面是一个带有阴影背景的简单示例。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{mdframed}
\newmdenv[hidealllines=true,backgroundcolor=red!20]{shaded}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{shaded}
\blindtext\blindtext
\blindtext\blindtext
\end{shaded}
\blindtext
\end{document}
相关问题有: