新环境中的粗体文本

新环境中的粗体文本

我想定义自己的环境,比如

\newenvironment{question}
{\begin{tiny}}
{\end{tiny}}

这可能没什么意义,但确实有效。我该如何对粗体字体做同样的事情?

答案1

您需要使用“开关”,通过\bfseries在环境启动时发出来实现(比如说boldenv):

\newenvironment{boldenv}
  {\bfseries}% \begin{boldenv}
  {}% \end{boldenv}

此开关的范围仅限于环境,因为\begin{boldenv}...\end{boldenv}自然形成了一个组。此外,斜体此环境中的文本将继承大胆的开关(例如,如果您使用\textit{<stuff>})。为了避免这种情况,您必须使用类似 的方法来恢复字体{\normalfont\itshape <stuff>}

答案2

没有环境tiny。只有一个命令\tiny。同样可以通过以下方式实现\bfseries\newenvironment{foo}{\bfseries}{}


我认为有必要提及一个鲜为人知的事实:不要使用字体命令作为环境。

解释:

让我从一个小例子和不需要的输出开始:

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\begin{document}
\blindtext
\begin{quote}\tiny\blindtext\end{quote}
\blindtext
\begin{quote}\begin{tiny}\blindtext\end{tiny}\end{quote}
\end{document}

在此处输入图片描述

发生了什么

首先,您可以看到不同的行距。在第一个示例(正确的示例)中,\begin{quote}\tiny\blindtext\end{quote}命令\par以字体大小执行\tiny。因此间距是正确的。在第二个示例中,\begin{quote}\begin{tiny}\blindtext\end{tiny}\end{quote}内部环境进行本地切换到\tiny,并且结尾\par使用quote默认字体大小。因此整个段落的间距是错误的。

相关内容