类似博文
https://blog.csdn.net/u011698800/article/details/109456028
输入保留符号
LaTeX中有许多字符都有特殊的意义,LaTeX中的保留字符有 # $ % & _ { } \
,这些在正文中都不能直接呈现。
反斜杠用\textbackslash
表示,其他的符号在前面加 \ 便可以表示了(\ 在LaTex中就是转义字符的意思)。
关于gather,align
Align, gather 多个数学公式对其居中问题 - LaTeX工作室
最近在写数学公式过程中总结了一些公式对齐用到的两个环境:align(对齐)和gather(居中)。
align环境主要是进行分隔符(&)指定的公式某个位置对齐,gather则是公式居中(没有分隔符),两者皆有自动的公式编号功能,另外还有少些用到的对齐环境aligned(对齐不编号)。我们利用这些环境来进行对多行公式进行编号。
gather和align是单独使用的,每行公式都有一个编号,某一行不添加编号,则在该行公式末加一句 \notag
。align 和gather 有对应的不带编号的版本align* 和gather*
gathered和aligned是在 equation 环境中用的,是把几行公式组合为一个整体编号。
参考《The LaTeX Mathematics Companion》的 2.11 一节。
或者《Ishort》4.4节。
公式多列对齐
有时候多列公式希望实现在等号对齐的效果。即如下效果
如果采用以下代码的话,两列之间的间隔会被取消。
\begin{equation}
\label{}
\left\{ \begin{aligned}
\dot{z}_1&=\frac{N\zeta}{t} z_1\left( 0 \right) =1\\
\zeta &=-G\left( s \right) z_1 \zeta \left( 0 \right) =0\\
\dot{z}_2&=z_1 z_2\left( 0 \right) =0\\
\dot{z}_u&=z_2 z_u\left( 0 \right) =0\\
\end{aligned} \right.
\end{equation}
正确的做法参考刘海洋《LaTeX入门》4.4.1节“罗列多个公式”
\begin{equation}\label{}
\left\{
\begin{aligned}
\dot{z}_1&=\frac{N\zeta}{t} & z_1\left( 0 \right) &=1\\
\zeta &=-G\left( s \right) z_1 & \zeta \left( 0 \right) &=0\\
\dot{z}_2&=z_1 & z_2\left( 0 \right) &=0\\
\dot{z}_u&=z_2 & z_u\left( 0 \right) &=0\\
\end{aligned}
\right.
\end{equation}
关于这个问题的更详细的讨论见链接文章 LaTeX公式多列对齐。
分式输入\dfrac、\frac
参考链接
https://blog.csdn.net/dwarcheng/article/details/120844586
https://www.zhihu.com/question/457761901/answer/2493495662
这里涉及到的问题是,对于行内公式,如果用\frac的话就显示得很紧凑,并不好看,因此最好还是用 \dfrac
。
所以之后使用的建议就是直接用 \dfrac 就完了。但需要注意的是 mathtype和AxMath 复制出来的TeX代码一般都是 \frac。
此外还有 \tfrac 和 \cfrac,自己目前用不到,具体可看上面两个链接。
矩阵元素间距
在使用某一份模板的时候,发现矩阵特别“稀疏”,元素之间空白很大。后来发现是因为模板 .cls 文件中有以下设置
\RequirePackage{setspace}
\if@conf
\fi
\if@journal
\doublespacing
\fi
也就是说当类型为 journal 时,为双倍行间距,这一设置即便在矩阵内也是成立的。
按道理来讲此时不应该修改模板,就按模板设置来就可以了。但如果自己想要调整行间距,应该怎么做呢?
\usepackage{setspace}%使用间距宏包
\begin{document}
\begin{spacing}{2.0}%%行间距变为double-space双倍行距的段落内容。
\[\begin{bmatrix}\omega_{1} & \omega_{2} \\
\dot{\omega}_{1} & \dot{\omega}_{2}\end{bmatrix}=\Omega\]
\end{spacing}
\end{document}
这样就可以任意调整LaTeX文档中间某一段的行间距。
巨算符的上下位置
参考《Ishort》4.3.6节内容。
对于积分
∫
\int
∫(\int)、求和
∑
\sum
∑(\sum)、求积
∏
\prod
∏(\prod)等符合称为巨算符。巨算符在行内和行间公式中显示会有差别。
但即便对于行间公式而言,如果求和求积符号放在分子分母的位置,也会显示为行内紧凑的形式。
如果想让行内公式,以及行间公式里分子分母上的巨算符显示为显示为宽松形式,则需要用 \limits 来调整。
巨算符的上下标位置可由\limits 和\nolimits 调整,前者令巨算符类似 lim,上下标位于上下方;后者令巨算符类似积分号,上下标位于右上方和右下方。如行内公式$\sum\limits_{i=1}^n$
。
不过有的时候在行间公式的多行公式中,如果使用array环境,还是会造成巨算符压缩显示。关于这个问题的详细讨论见链接 https://blog.csdn.net/gsgbgxp/article/details/125953380。
标题中如何插入数学符号
在标题中直接插入数学符号可能会报下面的警告
\subsection{Special $\delta$ functions}
Warning:
Package hyperref Warning: Token not allowed in a PDF string (Unicode): removing ‘math shift’ on input line 1057.
Package hyperref Warning: Token not allowed in a PDF string (Unicode): removing ‘\delta’ on input line 1057.
关于这个问题,主要是引用(hyperref)包报错。在以下两个链接中,谈到在源代码前面引用包时加上一句
- https://blog.csdn.net/u011698800/article/details/109456028
- https://tex.stackexchange.com/questions/504814/package-hyperref-warning-token-not-allowed-in-a-pdf-string-pdfdocencoding
\hypersetup{colorlinks = true,linkcolor = blue,anchorcolor =red,citecolor = blue,filecolor = red,urlcolor = red, pdfauthor=author}
但这个应该主要是解决通信作者相关的问题,与自己这里遇到的标题中插入数学符号不是一个问题,虽然两个报错相似。
最后解决的方案是 \texorpdfstring{}{}
参考链接:
- https://blog.csdn.net/PursueLuo/article/details/120458327
- https://blog.csdn.net/qq_18055167/article/details/84034687
注意这里 \texorpdfstring{}{} 没有第二个括号,则数学符号后的单词会被吞掉首字母。这里第一个花括号里是latex中的特殊符号,第二个花括号中是在PDF书签中替换这个特殊符号的字符串。例如
\section{\texorpdfstring{$\frac{1}{\pi}$}{1/π }的计算}
如果写成
\subsection{Special \texorpdfstring {$\delta x$}{} functions}
得到效果为
会发现中间的数学符号没有加粗,如果需要加粗的话,可以采用的方案有
\usepackage{bm}
\subsection{Special \texorpdfstring {$\bm{\delta x}$}{} functions}
\usepackage{amsmath}
\subsection{Special \texorpdfstring {$\boldsymbol{\delta x}$}{} functions}
这里涉及到的就是如何加粗的问题,一般在数学环境中似乎更推荐用 \bm。
LaTeX的粗体一般用以下命令:
\textbf{}:文本环境加粗。在数学环境使用的话,会使斜体效果消失。并且无法输出加粗的希腊字母。
\mathbf{}:会变为粗体,但同样会导致数学字母斜体形式的丢失。
\boldmath{}:数学环境里可以加粗且不会使斜体消失。需要添加amsmath宏包。
\boldsymbol{}:可以对希腊字母加粗。需要添加amsmath宏包。
在数学环境中,比较推荐的方式是添加宏包\usepackage{bm}, 使用\bm{}命令加粗。
但是在xelatex或Luatex引擎的unicode-math环境中中,\bm{}会报错。此时,可以使用以下命令:
\symbfit{}:加粗,且有斜体效果
\symbf{}:加粗,没有斜体效果
\mathbfcal{}:加粗的\mathcal字体
文本及数学符号粗体、斜体、下划线
参考链接
- https://blog.csdn.net/weixin_45459911/article/details/108534044
- https://blog.csdn.net/qq_30759585/article/details/122907903
- https://www.jianshu.com/p/cebcbbd4d0fb
LaTeX的粗体一般用以下命令:
\textbf{}:文本环境加粗。在数学环境使用的话,会使斜体效果消失。并且无法输出加粗的希腊字母。
\mathbf{}:会变为粗体,但同样会导致数学字母斜体形式的丢失。
\boldmath{}:数学环境里可以加粗且不会使斜体消失。需要添加amsmath宏包。
\boldsymbol{}:可以对希腊字母加粗。需要添加amsmath宏包。
在数学环境中,比较推荐的方式是添加宏包\usepackage{bm}, 使用\bm{}命令加粗。
但是在xelatex或Luatex引擎的unicode-math环境中中,\bm{}会报错。此时,可以使用以下命令:
\symbfit{}:加粗,且有斜体效果
\symbf{}:加粗,没有斜体效果
\mathbfcal{}:加粗的\mathcal字体
来自纯 TeX 的原始文本格式命令 \it
(斜体)和 \bf
(粗体)仍然可以在 LaTeX 文档中使用,但不鼓励使用,也不推荐使用,因为它们不保留以前的样式。例如,当使用那些旧命令时,您不能同时应用斜体和粗体。
文本粗体:使用 \textbf
命令
文本斜体: 使用 \emphor
或者 \textit
命令
文本下划线:使用 \underline
命令
示例:
Some of the \textbf{greatest}
discoveries in \underline{science}
were made by \textbf{\textit{accident}}.
空格输入
名称 | 效果 | 代码 | 说明 |
---|---|---|---|
两个quad空格 | a b a\qquad b ab | a \qquad b | 两个m的宽度 |
quad空格 | a b a\quad b ab | a\quad b | 一个m的宽度 |
大空格 | a b a\ b a b | a\ b | 1/3m宽度 |
中等空格 | a b a\;b ab | a\;b | 2/7m宽度 |
小空格 | a b a\,b ab | a\,b | 1/6m宽度 |
紧凑 | a b a\!b ab | a\!b | 缩紧1/6m的宽度 |
插入图片
更详细的说明见 https://blog.csdn.net/gsgbgxp/article/details/129655879
常用选项[htbp]是浮动格式(参考《LaTeX2e插图指南》16.2节和《Ishort》3.9节):
『h』当前位置。将图形放置在正文文本中给出该图形环境的地方。如果本页所剩的页面不够,这一参数将不起作用。
『t』顶部。将图形放置在页面的顶部。
『b』底部。将图形放置在页面的底部。
『p』浮动页。将图形放置在一只允许有浮动对象的页面上。
『!』 在决定位置时忽视限制
在table或者figure 后加 [!htb] 是系统忽略“美学”标准,把表格和图片插入到你的代码中,是动的,但是不加感叹号,它就是按顺序选择h(此处),t(上方),b(下方),所以为了让图片随着你的代码移动,最好加一个[!htb]
其他网友解释:“LaTeX对每个位置的浮动体的总数和占用大小有一定限制,超出限制的浮动体会被排在较后的页面中,但可以在位置选项中增加一个!符号,来忽略这些参数限制。因此,在LaTeX中最宽松的浮动体位置就是[!htbp]。在位置选项中加上!号将使浮动体相对更靠近文字或靠前出现。”
注1:排版位置的选取与参数里符号的顺序无关,LATEX 总是以h-t-b-p 的优先级顺序决定浮动体位置。
也就是说[!htp] 和[ph!t] 没有区别。
注2:限制包括浮动体个数(除单独成页外,默认每页不超过3 个浮动体,其中顶部不超过2 个,底部不
超过1 个)以及浮动体空间占页面的百分比(默认顶部不超过70%,底部不超过30%)。
\begin{figure}[htb]
\centering
\includegraphics[width=7.8cm]{figures/aaa.pdf}
\caption{aaa}
\label{fig:aaa}
\end{figure}
控制图片宽度的不同写法
\includegraphics[width=7.8cm]{figures/aaa.pdf}
\includegraphics[width=.5\textwidth]{figures/aaa.pdf}