排版时无需自然对数括号

排版时无需自然对数括号

如何在自然对数的内容周围插入括号?我希望我的文档显示

ln(x+1)

但是代码

\ln{x+1}

或者

\ln(x+1)

或者

\ln \left( x+1 \right)

不会产生这种情况。

编辑:我应该指定这个问题发生在equation(数学模式)中。

今天早些时候,由于临时文件(日志和辅助文件)损坏,我在编译时遇到了一些问题,但我从未重新启动过 tex 环境。今晚重新启动后,我的原始文档按预期放置了括号。

由于他的努力,我将 Christian 的帖子标记为解决方案,并且他的解释确实清楚地解释了命令 \ln 实际上是什么(没有参数的命令)。

感谢大家的快速回复。

答案1

有几种可能性可以实现这一点,但所有可能性都需要进入数学模式,即使用$...$\(...\)\[...\]或各种数学环境之一,如equationalign

\ln{x+1}不会产生一对括号。事实上,它与 相同\ln x+1\ln是一个没有参数的命令,因此\ln实际上是独立的,并且会忽略后面的{...}

如果在许多场合都需要使用括号,则包装宏(例如\lnn和)\lnb很有用,它们使用\left(...\right)或中等间距的版本\mleft(...\mright),两者都具有growing使用分数等括号的优点。

\documentclass{article}

\usepackage{amsmath}
\usepackage{mleftright}

\newcommand{\lnn}[1]{%
  \ln\left(#1\right)%
}

\newcommand{\lnb}[1]{%
  \ln\mleft(#1\mright)%
}

\begin{document}


\verb!$\ln x+1$ and $\ln{x+1}$ produce the same output!

\begin{center}
  \fboxsep=0pt
  \fbox{$\ln x+1$}

  \fbox{$\ln{x+1}$}
\end{center}

produce the same output

With parentheses:

$
\begin{array}{ccc}
  \verb!\ln(x+1)! & \verb!\ln \left(x+1\right)! & \verb!\ln \mleft(x+1\mright)! \\
  \\
  \ln (x+1) & \ln \left(x+1\right) & \ln \mleft(x+1\mright) \\
  \\
   \verb!\lnb{x+1}! & \verb!\lnb{\dfrac{x+1}{x-1}}! & \verb+\lnn{n!}+\\
   \\
  \lnb{x+1} & \lnb{\dfrac{x+1}{x-1}} & \lnn{n!} \\
\end{array}
$

\end{document}

在此处输入图片描述

答案2

physics包会自动生成log()正确ln()大小的括号。只需使用

\usepackage{physics}

并且$log(x+1)$可以$\log(\dfrac{x+1}{x-1})$开箱即用。

相关内容