LaTeX公式、图片编辑中的常见问题(字体、对齐、编号等)

类似博文
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)包报错。在以下两个链接中,谈到在源代码前面引用包时加上一句

\hypersetup{colorlinks = true,linkcolor = blue,anchorcolor =red,citecolor = blue,filecolor = red,urlcolor = red, pdfauthor=author}

但这个应该主要是解决通信作者相关的问题,与自己这里遇到的标题中插入数学符号不是一个问题,虽然两个报错相似。
最后解决的方案是 \texorpdfstring{}{}

参考链接:

注意这里 \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字体

文本及数学符号粗体、斜体、下划线

参考链接

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 aba \qquad b两个m的宽度
quad空格 a b a\quad b aba\quad b一个m的宽度
大空格 a   b a\ b a ba\ b1/3m宽度
中等空格 a    b a\;b aba;b2/7m宽度
小空格 a , b a,b a,ba,b1/6m宽度
紧凑 a ! b a!b a!ba!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}
  • 7
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值