如何将单词格式化为变量名?

如何将单词格式化为变量名?

我正在尝试找到一种方法,使本文中出现的方程式看起来更好一些……以下是我的建议:

    \documentclass{article}
    \usepackage{amsmath}

    \begin{document}
    \begin{equation}
        Risk_{i,t}=c+\alpha Risk_{i,t-1}+\beta_{1}
        CEO_\text{PC}_{i,t}+\beta_{2} BR\_ind_{i,t}+\beta_{k}
        Z_{i,t}+\epsilon_{i,t}
    \end{equation}
    \end{document}

这是我正在寻找的方程的标题: 在此处输入图片描述

答案1

将单词排版为变量的一些选项包括:

作为操作符名称

命令\operatornamefromamsmath将其参数排版为运算符 sin 或 log。具体来说,在α和 Risk: 的\alpha \Risk_i排版与 完全一样\alpha \log_i

\Risk一个缺点是和之间的间距\cdot会不正确,因此您需要写类似\Risk\! \cdot \alpha、 或 的内容{\Risk} \cdot \alpha

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}

%Formatting for a MWE on TeX.SX:
\usepackage[paperwidth=10cm]{geometry}
\pagestyle{empty}

\newcommand{\Risk}{\operatorname{Risk}}
\newcommand{\CEOPC}{\operatorname{CEO\_PC}}
\newcommand{\BRind}{\operatorname{BR\_ind}}

\begin{document}
\begin{equation}
  \begin{split}
    \Risk_{i,t} = c + &\alpha \Risk_{i,t-1} + \beta_{1}\CEOPC_{i,t} + \\
       &\beta_{2}\BRind_{i,t} + \beta_{k}Z_{i,t}+\epsilon_{i,t}
  \end{split}
\end{equation}
\end{document}

拉丁现代样本

作为格式化文本

您可以在数学模式下使用该命令\textnormal来设置文本短语,并使用您想要的任何文本模式格式。在此示例中,我将它们排版为倾斜文本,而不是斜体文本。

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}

%Formatting for a MWE on TeX.SX:
\usepackage[paperwidth=10cm]{geometry}
\pagestyle{empty}

\newcommand\variablename[1]{\mathop{\textnormal{\slshape #1}}\nolimits}

\newcommand{\Risk}{\variablename{Risk}}
\newcommand{\CEOPC}{\variablename{CEO\_PC}}
\newcommand{\BRind}{\variablename{BR\_ind}}

\begin{document}
\begin{equation}
  \begin{split}
    \Risk_{i,t} = c + &\alpha \Risk_{i,t-1} + \beta_{1}\CEOPC_{i,t} + \\
       &\beta_{2}\BRind_{i,t} + \beta_{k}Z_{i,t}+\epsilon_{i,t}
  \end{split}
\end{equation}
\end{document}

倾斜的文字示例

如果您使用\text,如您的示例所示,等式前面的文本格式将会渗透出来。但在某些情况下,您可能希望这样:如果您\Risk在排版为粗体无衬线的标题中使用 ,您可能也希望数学符号采用粗体无衬线。

将其包裹在内\mathop会为您提供像运算符一样的间距\lim,但下标会像 一样设置在下方\displaystyle lim_{\epsilon \to 0}。因此,使用 来抑制这种情况\nolimits

根据 Mico 的建议,我将格式移至新命令中\variablename,并用它来定义其他宏。这样还可以在一个地方更改所有全字变量的格式,并且\variablename{Return}无需声明宏即可编写。

作为数学文本字母

这就是字母\mathrm、、等的用途\mathit\mathbf

\documentclass{article}
\usepackage{amsmath}
\usepackage{fontspec}

%Formatting for a MWE on TeX.SX:
\usepackage[paperwidth=10cm]{geometry}
\pagestyle{empty}

\newcommand\variablename[1]{\mathop{\mathit{#1}}\nolimits}

\newcommand{\Risk}{\variablename{Risk}}
\newcommand{\CEOPC}{\variablename{CEO\_PC}}
\newcommand{\BRind}{\variablename{BR\_ind}}

\begin{document}
\begin{equation}
  \begin{split}
    \Risk_{i,t} = c + &\alpha \Risk_{i,t-1} + \beta_{1}\CEOPC_{i,t} + \\
       &\beta_{2}\BRind_{i,t} + \beta_{k}Z_{i,t}+\epsilon_{i,t}
  \end{split}
\end{equation}
\end{document}

\mathit 示例

默认情况下,在大多数字体包中, 中的字母形状\mathit与 中的数学符号非常相似\mathnormal,但使用,您可以获得连字、字距调整和斜体校正。您肯定会注意到和\mathit之间的区别。\mathit{fl}\mathnormal{fl}

声明新的数学字体

您还可以声明新的数学字母表,例如\mathrm\mathit。在中unicode-math,您可以使用\setmathfontface,而在旧版 NFSS 中,您可以使用\DeclareMathAlphabet

\documentclass{article}
\usepackage{amsmath}
\usepackage{iftex}

\iftutex
  \usepackage{unicode-math}
  \setmathfontface{\mathvar}{lmsans10-oblique.otf}[Ligatures={Common,Rare}]
\else
  \usepackage[T1]{fontenc}
  \DeclareMathAlphabet{\mathvar}{T1}{lmss}{m}{sl}
\fi

%Formatting for a MWE on TeX.SX:
\usepackage[paperwidth=10cm]{geometry}
\pagestyle{empty}

\newcommand\variablename[1]{\mathop{\mathvar{#1}}\nolimits}

\newcommand{\Risk}{\variablename{Risk}}
\newcommand{\CEOPC}{\variablename{CEO\_PC}}
\newcommand{\BRind}{\variablename{BR\_ind}}

\begin{document}
\begin{equation}
  \begin{split}
    \Risk_{i,t} = c + &\alpha \Risk_{i,t-1} + \beta_{1}\CEOPC_{i,t} + \\
       &\beta_{2}\BRind_{i,t} + \beta_{k}Z_{i,t}+\epsilon_{i,t}
  \end{split}
\end{equation}
\end{document}

Latin Modern Sans Oblique 示例

此示例使用 Latin Modern Sans Oblique,有些不自然,因为 或unicode-math定义isomath了字母表\mathsfit

更新

Henri Menke 在评论中提出了另一个很好的建议,他说他使用

 \newcommand*\diff{\mathop{}\!\mathrm{d}}

在表达式 d 中,左侧获得运算符式间距,右侧获得普通间距X

如果你按照你的方式编写方程式,这些变量名称应该排版为运算符。并不是每个人都认为这是正确的。如果你不这样做,你应该小心,例如,总是写成:\alpha \cdot \Risk而不是\alpha \Risk:你不想排版大量作为聚集

答案2

不完全确定你所说的更好看的方程式是什么意思,但如果你把所有较长的变量名都放在文本框中,看起来会更好我的眼睛!

    \documentclass{article}
    \usepackage{amsmath}

    \begin{document}

    \begin{equation}
        \text{Risk}_{i,t}=c+\alpha \text{Risk}_{i,t-1}+\beta_{1}
        \text{CEO\_PC}_{i,t} +\beta_{2} \text{BR\_ind}_{i,t}+\beta_{k}
        \text{Z}_{i,t}+\epsilon_{i,t}
    \end{equation}

    \end{document}

这将给出:

在此处输入图片描述

答案3

我添加了我的建议,以获得另一个非常好的观点作为输出。

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}

  
\begin{document}
\begin{equation}
\mathsf{Risk}_{i,t}=c+\alpha \mathsf{Risk}_{i,t-1}+\beta_{1}
\mathsf{CEO\_PC}_{i,t}+\beta_{2} \mathsf{BR}\_\mathsf{ind}_{i,t}+\beta_{k}
\mathsf{Z}_{i,t}+\epsilon_{i,t}
\end{equation}
\end{document}

在此处输入图片描述

使用评论中@Mico 建议的宏\newcommand{\vn}[1]{\mathsf{#1}}来减少很多\mathsf

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\newcommand{\vn}[1]{\mathsf{#1}}

\begin{document}
\begin{equation}
\vn{Risk}_{i,t}=c+\alpha \vn{Risk}_{i,t-1}+\beta_{1}
\vn{CEO\_PC}_{i,t}+\beta_{2} \vn{BR}\_\vn{ind}_{i,t}+\beta_{k}
\vn{Z}_{i,t}+\epsilon_{i,t}
\end{equation}
\end{document}

相关内容