有空的话逐个补充吧(虽然我也不是很懂)。
感觉每一个都可以算是「典中典」的「日经问题」,而且应该都能在「TeX.SE」上找到高赞回答。
关于一:
数学模式里,为什么要$...$而不要\(...\)?
TL;DR: 更推荐$ $,一方面可以在plainTeX内使用,另一方面\(\)不容易因为过多的(和)影响代码的可读性。


Ref: https://tex.stackexchange.com/a/513/322482
关于二:
数学模式里,为什么要\[...\]而不要$$...$$?
TL;DR: 其实是很典的,$$...$$前后的间距处理不正确,而\[...\]可以正确处理公式前后的行间距。
如果加上 equation* 环境最佳选择又是什么?在amsmath文档里的表述是:\[...\]与equation*完全等价。
但考虑到代码可读性和这个评论,似乎equation*在语义上会略好于\[\]
Ref1: 详见「孟晨」的这个回答
(P.S.)上述的评论区还有刘海洋对问题一的comment😀
Ref2: https://tex.stackexchange.com/questions/503/why-is-preferable-to
问题一与问题二的表述性质不太相同。
对于问题一:是「推荐」$...$而不是\(...\)
对于问题二:是「几乎不要(never)」(或者说严重点「禁止」)使用$$...$$,请使用\[...\]或equation*.
关于三:
数学模式里,为什么要 align 环境而不要 eqnarray 环境?
TL;DR: 两个主要缺陷:
eqnarray在等号=周围设置的水平间距与其他数学环境(如\[...\]>或$$...$$)不一致(其间距更宽)。eqnarray(以及eqnarray*!)的公式编号定义不明确,导致引用时出现编号错误——尤其在使用\nonumber命令时。
经典回答在:https://tex.stackexchange.com/a/197/322482
详见Ref: https://tug.org/pracjourn/2006-4/madsen/madsen.pdf
增加eqnarray的又一罪状
\documentclass[12pt]{article}
\usepackage{showframe}
\usepackage{amsmath,amssymb}
\setlength{\parindent}{0cm}
\numberwithin{equation}{section}
\begin{document}
\section{aaa}
\section{bbb}
\section{ccc}
Why?
\begin{subequations}
\begin{eqnarray}
\tan^{-1}\left(\frac{1}{F_{2n-2}}\right) &=& \tan^{-1}\left(\frac{1}{F_{2n}}\right)+\tan^{-1}\left(\frac{1}{L_{2n-2}}\right)+\tan^{-1}\left(\frac{1}{L_{2n}}\right)\,,\\
\tan^{-1}\left(\frac{2}{L_{2n-1}}\right) &=& \tan^{-1}\left(\frac{1}{F_{2n}}\right)+\tan^{-1}\left(\frac{1}{L_{2n}}\right)\,,
\end{eqnarray}
\end{subequations}
Why not?
\begin{subequations}
\begin{align}
\tan^{-1}\left(\frac{1}{F_{2n-2}}\right) &=& \tan^{-1}\left(\frac{1}{F_{2n}}\right)+\tan^{-1}\left(\frac{1}{L_{2n-2}}\right)+\tan^{-1}\left(\frac{1}{L_{2n}}\right)\,,\\
\tan^{-1}\left(\frac{2}{L_{2n-1}}\right) &=& \tan^{-1}\left(\frac{1}{F_{2n}}\right)+\tan^{-1}\left(\frac{1}{L_{2n}}\right)\,,
\end{align}
\end{subequations}
\end{document}
同样的在上述论文的2.2节,出现「编号与内容重叠」的问题...

关于四:
数学模式里,为什么要matrix,bmatrix,pmatrix,vmatrix,Vmatrix等环境而不要array环境去实现矩阵?
也许是这个链接(?)
array是LaTeX所有文档类通用的默认环境,而matrix需通过amsmath宏包或AMS类(如amsbook,amsart)引入。matrix环境主要为实现命名统一性而存在,因amsmath还提供带定界符的矩阵变体(如pmatrix,bmatrix,Bmatrix,vmatrix,Vmatrix)。matrix无需像array那样指定列对齐参数(如{ccc}),默认支持最多10列居中对齐(如需其他对齐方式仍需使用array)。若需超过10列,需修改MaxMatrixCols计数器。matrix的水平间距更紧凑(即array的宽度大于matrix)。
(Translation Powered By Gemini...)
关于六:
数学模式里,箭头是使用\to,\gets还是\rightarrow,\leftarrow
首先使用latexdef看定义的区别:
latexdef \gets
\gets:
\mathchar"3220
\the\gets:
12832
latexdef \leftarrow
\leftarrow:
\mathchar"3220
\the\leftarrow:
12832latexdef \to
\to:
\mathchar"3221
\the\to:
12833
latexdef \rightarrow
\rightarrow:
\mathchar"3221
\the\rightarrow:
12833一方面,从定义上看:\to和\rightarrow内部「使用的字符是同一个」
但另一方面....IMHO, 优秀的code要保持代码语义上的可读性,换言之:
- 当想表达的是
\to语义上的「趋向于」的意思,例如\lim_{n\to\infty}时,用\rightarrow是不合适的 - 当仅仅想表达
\rightarrow语义上的「从A到B的指向」的含义,而非「to」的意思时,用\to也是不合适的
关于九:
\bf,\bfseries,\mathbf,\boldmath,\unboldmath,\bm,\boldsymbol等这几个命令的区别和用法?
来自@u73286 老师的回答:
\bf: TeX 自带的命令,和现在的 NFSS 字体机制不太兼容,不推荐使用;\bfseries: NFSS 下切换粗体的命令, 和\textbf一样;\mathbf: 这个字体在默认配置下对应:OT1 cmr bx n, 其实就是\textbf对应的字体;\boldsymbol: 由AMSTeX宏集中的amsbsy宏包提供, 部分情况下可能出现一些间距问题;\bm: 会自动处理加粗对应的数学字体,还附带一些间距和斜体纠正, 推荐使用;
还有两个:\boldmath: 和\unboldmath对应,是由于LaTeX2e的历史原因才保留下来的;\mathversion{bold}和\mathversion{normal},它们和\boldmath,\unboldmath差不多,都会改变整个公式的样式, 但是推荐使用前者, 而不是\boldmath,\unboldmath。




















问 关于 LaTeX 的「要」与「不要」的问题?