如何将 \itshape 中的文本更改为普通字体?

如何将 \itshape 中的文本更改为普通字体?

我有以下代码:

\documentclass[11pt]{article}

\usepackage{enumerate}
\usepackage{amsmath}
\newenvironment{italic}{\begin{quote}\itshape}{\end{quote}}
\DeclareMathOperator{\rad}{rad}

\begin{document}

\begin{italic}
blablabla
    \begin{displaymath}
    \rad(R)=\{x\in R\mid x^n=0 \text{ where we consider } n\geq 1\}
    \end{displaymath}
more blablabla

    \begin{enumerate}
        \item $x^n$ with $n=1$
        \item $y^m$ with $m=2$
    \end{enumerate}

\end{italic}

\end{document}

我想要啦啦啦斜体,但数学环境中的文本(例如“我们考虑的地方”和“与”)不应该是斜体。在我的文档中,我有很多这样的啦啦啦数学环境之间,所以我使用自定义的斜体环境:节省一些时间,而不必一直\textit使用\itshape

我该如何解决这个问题?这是一个好方法吗?


编辑:我更新了我的问题并更改了标题,因为我一开始给出的代码并没有真正反映我的情况。我的错误......我使用提示来声明拉德作为数学运算符。

答案1

\textit通常不控制数学环境中文本的外观。这是单独完成的。

在数学模式中,您可以使用

\mathrm{rad}

或者,如果这是一个函数的名称,您可以amsmath在序言中加载包

\usepackage{amsmath}

然后在正文中调用

\operatorname{rad}

如果您想要重复调用它,您可以定义一个命令来完成此操作:

\usepackage{amsmath}
\DeclareMathOperator{\rad}{rad}

然后在文档正文中你可以写

\[
  \rad(R)=\{x\in R\mid x^n=0 \text{ with }n\geq 1\}
\]

如果你还希望with不设置斜体,你可以这样做

\text{\normalfont\ with }

或者

\textnormal{ with }

您需要在其中进行此更改,\text{...}因为它继承了数学环境之外的字体样式。

在此处输入图片描述

您应该注意到\normalfont是一个切换命令,像 一样\bfseries,它会一直有效直到当前组结束。\textbf{...}对应于{\bfseries ....}\textnormal{...}对应于{\normalfont ...}

答案2

回答你的第一个问题:它不起作用,因为你处于数学模式。另一方面,如果你不在数学模式,那么

\textit{Blablabla \normalfont{Normalfont Bla} More Bla}

也不会起作用,因为 normalfont 不接受参数。试试这个来看看区别:

\documentclass{article}

\begin{document}
\textit{Blablabla {\normalfont Normalfont Bla} More Bla}
\end{document}

此外,您不需要使用数学\textit

\documentclass[11pt]{article}

\begin{document}
\textit{blablabla}
\begin{displaymath}
  \mathrm{rad}(R)=\{x\in R\mid x^n=0 \text{ with } n\geq 1\}
\end{displaymath}
\end{document}

编辑

关于您的编辑:

\documentclass[11pt]{article}
\usepackage{amsmath}
\let\AMStext\text
\newenvironment{italic}
  {\renewcommand{\text}[1]{\AMStext{\normalfont ##1}}
  \begin{quote}\itshape}
  {\end{quote}}
\DeclareMathOperator{\rad}{rad}

\begin{document}
\begin{italic}
blablabla
  \begin{displaymath}
    \rad(R)=\{x\in R\mid x^n=0 \text{ where we consider } n\geq 1\}
  \end{displaymath}
more blablabla
  \begin{enumerate}
    \item $x^n \text{ with } n=1$
    \item $y^m \text{ with } m=2$
  \end{enumerate}
\end{italic}
\end{document}

答案3

A. Ellet 所说的内容可以在以下完整代码片段中模拟。thm环境使封闭的文本变为斜体。由于\text从外部环境继承了字体,因此文本\text{ with }也变为斜体。要将其更改回正常字体,请使用\text{ \normalfont with }\text{ \textnormal{with} }

\documentclass[preview,border=12pt]{standalone}
\usepackage{amsmath,amssymb}

\DeclareMathOperator{\rad}{rad}
\newtheorem{thm}{Theorem}

\begin{document}
\begin{thm}[\textbackslash textnormal]
\[
  \rad(R)=\{x\in \mathbb{R}\mid x^n=0 \text{ \textnormal{with} } n\geq 1\}
\]
\end{thm}
\begin{thm}[\textbackslash normalfont]
\[
  \rad(R)=\{x\in \mathbb{R}\mid x^n=0 \text{ \normalfont with } n\geq 1\}
\]
\end{thm}
\end{document}

R你也可以通过改变符号,\mathbb{R}让它更清晰地显示为实数集。是不是看起来更加美观了呢?

在此处输入图片描述

注意:这是一个社区维基答案,只是为了防止我在读者投票时获得声誉点数。

相关内容