如何更好地格式化这个公式,特别是括号?

如何更好地格式化这个公式,特别是括号?
 $$\mathrm{err} \left( h(\vec{\theta}, \vec{x}), y \right)
= \delta_{0y} ~ H \left( h(\vec{x}; \vec{\theta}) - \frac{1}{2} \right)
+ \delta_{1y} ~ H \left( \frac{1}{2} - h(\vec{x}; \vec{\theta}) \right)$$

答案1

  1. 你永远不应该$$在 LaTeX 中使用,参见为什么\[ … \]优于$$

  2. “err” 应该是一个数学运算符。

  3. 切勿在数学模式中使用~;乘法不需要空格。

  4. \left并且\right在它们包围函数参数时添加不必要的空间。

  5. \vec闭括号附近需要有一个窄的空格。

  6. 参数不需要大括号err;我会使用正常大小,但我也会展示如何获得稍微大一点的括号。

\documentclass{article}
\usepackage{amsmath}

\DeclareMathOperator{\err}{err}

\begin{document}
First version
\[
\err( h(\vec{\theta}, \vec{x}\,), y )
= \delta_{0y} H \biggl( h(\vec{x}; \vec{\theta}\,) - \frac{1}{2} \biggr)
+ \delta_{1y} H \biggl( \frac{1}{2} - h(\vec{x}; \vec{\theta}\,) \biggr)
\]

Second version
\[
\err\bigl( h(\vec{\theta}, \vec{x}\,), y \bigr)
= \delta_{0y} H \biggl( h(\vec{x}; \vec{\theta}\,) - \frac{1}{2} \biggr)
+ \delta_{1y} H \biggl( \frac{1}{2} - h(\vec{x}; \vec{\theta}\,) \biggr)
\]

\end{document}

在此处输入图片描述

其他选项包括不在\DeclareMathOperator{\err}{err}前言中使用,而是\operatorname{err}在公式中使用等价物,以及使用\tfrac{1}{2}daleif 建议的,尽管我对此不太确定。这是示例。

\documentclass{article}
\usepackage{amsmath}

Third version
\[
\operatorname{err}\bigl( h(\vec{\theta}, \vec{x}\,), y \bigr)
= \delta_{0y} H \bigl( h(\vec{x}; \vec{\theta}\,) - \tfrac{1}{2} \bigr)
+ \delta_{1y} H \bigl( \tfrac{1}{2} - h(\vec{x}; \vec{\theta}\,) \bigr)
\]

\end{document}

在此处输入图片描述

答案2

假设它是 LaTeX 文档,首先将其替换$$ … $$\[ … \]。同时将其定义err为数学运算符以获得正确的水平间距。然后,您可以使用nccmath包来使用中等大小的分数,并将其替换\left … \right为手动调整的\Bigl … \Bigr

\documentclass[12pt,a4paper]{article}

\usepackage[utf8]{inputenc}

\usepackage{mathtools}
\usepackage{nccmath} 

\DeclareMathOperator{\err}{err}

\begin{document}

\[ \err\bigl( h(\vec{\theta}, \vec{x}), y \bigr) = \delta_{0y}\,H\Bigl(h( \vec{x}; \vec{\theta}) - \mfrac{1}{2} \Bigr) + \delta_{1y}\, H\Bigl( \mfrac{1}{2} - h(\vec{x}; \vec{\theta}) \Bigr) \]

\end{document}

在此处输入图片描述

相关内容