数学模式下的自动文本样式

数学模式下的自动文本样式

我想定义一个环境,可以在其中用美元符号书写文本和公式。我希望这些公式仅在该环境中具有特定的样式,例如mathrm

它可以在两种情况下帮助我:

  • 定义一个环境,其中文本为粗体(这很简单),并且我不必使用\boldsymbol公式为粗体;这将是自动的。现在,我这样做(没有自动化环境):\textbf{j'écris une formule avec $\boldsymbol{f}$ qui est importante}.
  • 我有这个命令,用于用不同的字体编写错误的数学文本:
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it} 
\newenvironment{erreur}{\fontfamily{pzc}\selectfont *(}{)}

但是,同样的事情,我必须写,\begin{erreur} La dérivée de $\mathpzc{x \mapsto sin(x)}$ est $\mathpzc{x \mapsto - cos(x)}$. \end{erreur}以便数学模式具有特定的风格。

我想在本地执行类似“设置数学字体”的操作。有什么想法吗?

这就是我现在所拥有的并且不想改变(只是获得它的方式;))! 在此处输入图片描述

(我被要求输入代码。代码如下:

\documentclass{article}

\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it} 
\newenvironment{erreur}{\fontfamily{pzc}\selectfont *(}{)}

\begin{document}

\begin{erreur} La dérivée de $\mathpzc{x \mapsto sin(x)}$ est $\mathpzc{x \mapsto - cos(x)}$. \end{erreur}

\begin{erreur} La dérivée de $x \mapsto sin(x)$ est $x \mapsto - cos(x)$. \end{erreur}

\end{document}

我想改变我的环境erreur,以便第二行代码可以自动提供第一行的结果。)

答案1

对于有关字体的问题,pzc您可以$使用\everymath。这并不总是很强大,但可能足以满足您的目的。这种方法需要一个额外的步骤,即\mathpzc从接受参数的命令更改为永久更改字体的开关,直到下一个开关或直到组结束(类似于文本的\textbf{}vs. \bfseries),这可以使用 来完成\@fontswitch

此命令有两个参数:第一个参数用于文本模式,第二个参数用于数学模式。如果在\everymath第一个参数中调用,则永远不会使用,但您可以在此处放置一些合理的内容以保持一致性。

如果\everymath将钩子放在里面,\newenvironment{erreur}那么环境之外的数学就不会受到影响。

梅威瑟:

\documentclass{article}
\DeclareMathAlphabet{\mathpzc}{OT1}{pzc}{m}{it} 
\makeatletter
\newenvironment{erreur}{%
\everymath{\@fontswitch{\normalfont\rmfamily}{\mathpzc}}%
\fontfamily{pzc}\selectfont *(}%
{)}
\makeatother

\begin{document}
La dérivée de $x \mapsto sin(x)$ est $x \mapsto cos(x)$.

\begin{erreur} La dérivée de $\mathpzc{x \mapsto sin(x)}$ est $\mathpzc{x \mapsto - cos(x)}$. \end{erreur}

La dérivée de $x \mapsto sin(x)$ est $x \mapsto cos(x)$.

\begin{erreur} La dérivée de $x \mapsto sin(x)$ est $x \mapsto - cos(x)$. \end{erreur}

La dérivée de $x \mapsto sin(x)$ est $x \mapsto cos(x)$.
\end{document}

结果:

在此处输入图片描述

相关内容