努力在同一行中使用 3 个公式

努力在同一行中使用 3 个公式

想知道是否有人能帮助解决以下问题。

基本上,我需要在同一行中有 3 个公式及其对应的引用。对于 Precision 公式,我需要 (2),就像 Recall 公式中的 (1) 一样,对于 F1 公式也是如此。努力将 3 个公式放在同一行,下面是我能得到的最好结果,但仍然不正确。

请参阅下面我使用的代码:

\documentclass{article}

\usepackage{tabularx,amsmath}

\begin{document}

\noindent\begin{tabularx}{\textwidth}{@{}XXX@{}}
  \begin{equation}
  Recall = \frac{TP}{TP +FN}
    \label{eqn:1}
  \end{equation} &
  \begin{equation}
  Precision = \frac{TP}{TP + FP}
    \label{eqn:2}
  \end{equation} &
  \begin{equation}
  F1 = 2 * \frac{ Precision * Recall}{Precision + Recall}
    \label{eqn:3}
  \end{equation}
\end{tabularx}

\end{document}

在此处输入图片描述

任何帮助都将非常感激!

谢谢!

答案1

由于您没有说明字体(这会影响表达式的大小)或页面大小,因此很难具体说明如何使某些东西适应。

以下是使用默认字体和带有文章类别的默认美国信纸的几种可能性。

在此处输入图片描述

\documentclass{article}

\usepackage{array,amsmath}

\begin{document}

Small

{\small
\setlength\tabcolsep{0pt}
\noindent\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
p{.29\textwidth}
p{.31\textwidth}
p{.4\textwidth}
@{}}
  \begin{equation}
  \mathrm{Recall} = \frac{\mathrm{TP}}{\mathrm{TP} {+}\mathrm{FN}}
    \label{eqn:r}
  \end{equation} &
  \begin{equation}
  \mathrm{Precision} = \frac{\mathrm{TP}}{\mathrm{TP} {+} \mathrm{FP}}
    \label{eqn:p}
  \end{equation} &
  \begin{equation}
  \mathrm{F1} = 2 * \frac{ \mathrm{Precision} {*} \mathrm{Recall}}{\mathrm{Precision} {+} \mathrm{Recall}}
    \label{eqn:f}
  \end{equation}
\end{tabular*}

}

Multline

\noindent\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}
p{.25\textwidth}
p{.27\textwidth}
p{.4\textwidth}
@{}}
  \begin{multline}
  \mathrm{Recall} =\\ \frac{\mathrm{TP}}{\mathrm{TP} +\mathrm{FN}}
    \label{eqn:rr}
  \end{multline} &
  \begin{multline}
  \mathrm{Precision} =\\ \frac{\mathrm{TP}}{\mathrm{TP} + \mathrm{FP}}
    \label{eqn:pp}
  \end{multline} &
  \begin{multline}
  \mathrm{F1} =\\ 2 * \frac{ \mathrm{Precision} * \mathrm{Recall}}{\mathrm{Precision} + \mathrm{Recall}}
    \label{eqn:ff}
  \end{multline}
\end{tabular*}


\end{document}

请注意,应避免对多字母单词使用默认数学斜体(它被设计成看起来像单字母变量的乘积),并且最好避免使用数字\label

我避免这样做tabularx ,因为我写它是因为默认情况下它使列宽相等,而在这里你想“用眼睛”调整列以适应表达式。

答案2

除非你减小它们的尺寸,否则你无法将这三个方程式放入标准线中。

这是利用所有可用空间的相当通用的方法。

\documentclass{article}
\usepackage{amsmath}

\usepackage{lipsum} % for context

\makeatletter
\newcommand{\manualequation}[3][]{%
  % #1 = optional size command, #2 = label, #3 = equation
  \mbox{%
   #1%
   $\displaystyle{#3}$\enspace\refstepcounter{equation}\ltx@label{#2}\thetag{\ref{#2}}%
  }%
}
\makeatother

\begin{document}

\lipsum[2][1-5]
\begin{equation*}
\hspace{0pt}
\manualequation[\small]{eqn:1}{
  \mathrm{Recall} = \frac{\mathit{TP}}{\mathit{TP} + \mathit{FN}}
}
\hspace{1000pt minus 1fill}
\manualequation[\small]{eqn:2}{
  \mathrm{Precision} = \frac{\mathit{TP}}{\mathit{TP} + \mathit{FP}}
}
\hspace{1000pt minus 1fill}
\manualequation[\small]{eqn:3}{
  F_1 = 2 \frac{\mathrm{Precision}\cdot\mathrm{Recall}}{\mathrm{Precision} + \mathrm{Recall}}
}
\end{equation*}
\lipsum[3][1-5]

\end{document}

在此处输入图片描述

诀窍是在左侧添加一些胶水,然后在中间插入非常大的胶水,但可以收缩以使块适合。

相关内容