You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让LaTeX的\newcommand在正文正体、标题中自动斜体?

解决LaTeX分子式命令在正文正体、标题自动斜体的问题

直接修改你的\ru命令,让它自动检测当前是否处于caption标题环境,切换对应的字体样式:

方法一(推荐,需依赖etoolbox)

先确保加载etoolbox包(如果还没加的话),然后重新定义命令:

\usepackage{etoolbox}
\newcommand{\ru}{%
  \ifbool{caption@captype}% 检测是否在figure/table的caption环境中
    {$\mathit{Ru(NH_3)Cl_6};$}% 标题环境下用斜体分子式
    {$\mathrm{Ru(NH_3)Cl_6};$}% 正文中用正体分子式
}

方法二(不依赖额外包)

如果不想加载etoolbox,可直接用caption包的原生检测命令:

\newcommand{\ru}{%
  \caption@ifcaptype{table}{$\mathit{Ru(NH_3)Cl_6};$}{%
    \caption@ifcaptype{figure}{$\mathit{Ru(NH_3)Cl_6};$}{$\mathrm{Ru(NH_3)Cl_6};$}%
  }%
}

原理说明

  • caption@captype是caption包提供的内部布尔变量,当代码处于figure或table的caption环境中时,该变量为真;
  • 正文中用\mathrm保持化学分子式的标准正体格式,标题中用\mathit生成斜体分子式,和你设置的textfont=it标题样式匹配;
  • 两种方法都不需要手动切换命令,同一个\ru会根据所在环境自动调整字体。

内容的提问来源于stack exchange,提问作者sylvanas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 23:13:10