我想定义一个环境,可以在其中用美元符号书写文本和公式。我希望这些公式仅在该环境中具有特定的样式,例如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}
结果: