LaTeX书写的4个顶级错误
偶然看到了这里写的<Top four LaTeX mistakes>, 觉得有必要翻译到这里, 其实很多人都犯这样的错误.
-
引号
也许大家不认为这是一个问题, 但是实际上是你在latex中不要直接用两个” 来输入引号, 而是应该用
以及”来书写. 效果如下:
第一个的代码是正确的书写:1``Yes.''第二个是错误的书写方式:
1"Yes." -
微分符号
一般微分符号, 例如$dx$, 和前面的被积表达式要有个小间距, 而且一般要求要正写微分符号$d$.
错误的书写方法一, 没有小间距
\[
\int_a^b f(x) dx
\]1\int_a^b f(x) dx我们需要\,来产生小间距
1\int_a^b f(x)\,dx效果如图所示:
\[
\int_a^b f(x)\,dx
\]
事实上, 一般我们要正写微分符号$d$:1\int_a^b f(x)\,\mathrm{d}x最好的效果如图所示:
\[
\int_a^b f(x)\,\mathrm{d}x
\] -
多字母函数名
常见的错误就是log, cos, sin这些函数直接用字母输入.
错误的写法如:1log e^x = x错误之处就在于log没有正写而且间距也不对:
\[
log e^x = x
\]
正确的应该用:1\log e^x = x效果为:
\[
\log e^x = x
\]
对cos, sin等函数有同样的问题. 正确写法应该是:1\sin 2u = 2 \sin u \cos u效果如下所示:
\[
\sin 2u = 2 \sin u \cos u
\] -
没用数学模式
行文中没有用数学模式, 而是直接用了英文字母:
1Given a matrix A and vector b, solve Ax = b.错误的效果为
\[
\text{Given a matrix A and vector b, solve Ax = b.}
\]
正确的书写应该是:1Given a matrix $A$ and vector $b$, solve $Ax = b$.效果为:
\[
\text{Given a matrix $A$ and vector $b$, solve $Ax = b$.}
\] -
其他常见错误
- 例如列表直接输入1,2,3等等, 应该使用enumerate或者itemize环境. 举例来说:
1234\begin{enumerate}\item 第一条...\tiem 第二条...\end{enumerate}
实现数字编号的列表环境. 而如果要以罗马数字编号, 你可以试试:
1234\begin{enumerate}[\rm i.]\item 第一条...\tiem 第二条...\end{enumerate}你可能需要在导言区加入宏包enumerate
1\usepackage{enumerate} - 定理自己输入格式, 应该用amsthm中提供的\newtheorem来设置新定理环境, 举例来说:
可以在导言区加入12\usepackage{amsthm}\newtheorem{thm}{Theorem}这样就定义了一个新的定理环境叫thm, 你可以在正文中使用
123\begin{thm}[定理名字]定理内容\end{thm}这里[定理名字]像其他可选参数([]里面的, 必须参数用{})一样, 可以省略.
此外, 这种方式还定义了一个计数器(counter) thm, 例如在上面定理的定义后面, 你可以使用
1\newtheorem{defn}[thm]{Definition}定义一个新的定义环境, 使得这个定义环境和前面定义的定理环境统一编号.
其他常见的变式有:
1\newtheorem{thm}{Theorem}[section]
这样定理将以节编号. 类似地, 以小节编号的话, 我们只需
1\newtheorem{thm}{Theorem}[subsection]
而不编号(例如注记Remark), 可以这样书写:
1\newtheorem*{rem}{Remark} - 多条参考文献应该使用cite宏包并且写为
1\cite{article1, article2,article3}
而不是
1\cite{article1}-\cite{article3}
这里article1是你文献的引用名. 正确的写法(第一种)产生的效果为[1-3], 而错误的(第二种)写法产生的效果为[1]-[3]. - 非英文字母的输入: 常见的è,é,ë等正确书写应该用
1`e,\'e,\"e
而不是
1$\grave{e}$, $\acute{e}$,$\ddot{e}$ - 待续…
- 例如列表直接输入1,2,3等等, 应该使用enumerate或者itemize环境. 举例来说:
兄台在博客上显示公式用的什么插件
mathjax
太厉害了…居然能在逛别人博客的时候收到你的回复
实际上,微分符号,也就是正体的 d,有专门的命令。
引入包 commath (usepackage{commath})
而后 dif 就会在数学环境中输出正体的 d。
这个包, 意义不大, 似乎.
你提到的前面的间距,使用这个命令会自动留出。
细微之处见真知。