覆盖环境样式

覆盖环境样式

如何更改 LaTeX 中元素的样式?

我想对某些环境进行一些基本修改。例如更改 中的文本大小quotation、 中的边距verbatim或 中的行距itemize

我想要对文档的每个块进行更改。

我如何重写一些样式定义?

答案1

通常,你可以编写自己的环境来包装你想要更改的环境。例如

\newenvironment{quotingalt}
  {% \begin{quotingalt}
   \large% Change font size
   \begin{quote}%
  }{% \end{quotingalt}
   \end{quote}%
  }

事实上,标准类中的许多默认环境都是这样写的。例如,考虑quote来自article.cls

\newenvironment{quote}
               {\list{}{\rightmargin\leftmargin}%
                \item\relax}
               {\endlist}

上述代码以 启动list环境\list并以 结束环境以\endlist形成quote

由于环境具有一定的范围,因此更改是本地化的,因此您不必担心重置它们。environ包裹允许更直观的命令式环境界面,提供\BODY其中抓取的内容:

\usepackage{environ}% http://ctan.org/pkg/environ
\NewEnviron{quotingalt}{%
  \large% Change the font size
  \begin{quote}\BODY\end{quote}%
}

其他方法包括保留原始名称并使用补丁进行修改(使用etoolbox和朋友们)或者完全重新定义并加入您自己的风格。

相关内容