LaTeX_fleqn参数时,多行公式对齐居中的同时选择性的加编号
【转载请注明出处】http://www.cnblogs.com/mashiqi
2016/10/20
一年多没写博文了。今天写一个短的,记录一下使用LaTeX的一些经验。
有些时候,我们的latex文档是这样开头的
\documentclass[fleqn,leqno]{article}
其中 leqno 参数的作用是使得公式的编号显示在左边。当参数 fleqn 存在时,公式往往不能正确的居中。这时,我们就需要特别小心的使用equation、align、flalign、alignat等命令。下面详细讲讲。
1、多行公式在一个地方对齐
如何居中多行的公式呢?我试过很多种方法后,觉得下面这个最好用:
\begin{flalign*}
% In this way (this arrange of &), the equation will in the center and align at the third &. If use this method for 'split', equations will not be centered
% However, 'flalign' will give each line a separate number. It cannot number the whole equations in one number.
&& a & = b & \\
&& a & = b & \\
&& a & = b & \\
&& a & = b &
\end{flalign*}
其中的多个&符号是专门安排好的。只用往第二个和第三个&符号后面添加代码就行了,它们就能对齐 并且所有公式作为一个整体进行居中。但这里有个问题,就是编号的问题。这里没有公式的编号。如果把flalign后面的*号去掉的话,那么就有编号了,但是是每一行公式一个编号,有些情况下这不太合适。因此,为了编号,我们要对上述代码做如下更改:
\begin{flalign}
% In this way (this arrange of &), the equation will in the center and align at the third &. If use this method for 'split', equations will not be centered
% However, 'flalign' will give each line a separate number. It cannot number the whole equations in one number.
&& a & = b & \nonumber\\
&& a & = b & \\
&& a & = b & \nonumber\\
&& a & = b & \label{eq2}\\
&& a & = b & \nonumber
\end{flalign}
Now we refer equation (\ref{eq2}).
现在去掉了flalign后面的*号,那么给不想编号的行的结尾加上 \nonumber,给想加编号的行的后面 不添加任何东西 或者加上 \label{...} 。当 不添加任何东西 时,此行是有编号的,但这个编号将不能被引用到;当加上了 \label{...} 时,可以通过 \ref{...} 来引用这个编号。
下图就是上面两段代码的输出结果:

以上就基本解决了:多行公式、居中、对齐、加编号、引用编号这些问题。唯一的小缺点就是编号并不在整个公式的中间。不过这个小缺点可以容忍。
2、多行公式在多个地方对齐
为了达到多行公式在多个地方对齐的目的,我们必须取消最开始的 fleqn 命令。
有了上面使用 flalign 的经验之后,我们可以使用 \begin{alignat*}{·} 进行多行公式在多个地方对齐的操作。“alignat”后面的那个括号里的数字是每行的“&”符号的个数加1后除以2。举例如下:
\begin{alignat*}{2}
a & = b &\quad c & = d \\
a & = b & c & = d
\end{alignat*}
注意:为了让各个公式之间能有一个间隔,要在分隔各个公式的&符号之后加一个 \quad 。其实 flalign 也可以通过上面的方法实现多个地方对齐,但是当每一行的公式不多时,为了故意填满一整行,公式间的间距会很大。而 alignat 命令不会可以去填满一整行,而是会使得各个公式间尽量靠拢,所以各个公式间的水平距离会看起来更舒服一些。 alignat 和 flalign 之间的区别举例如下:
\begin{alignat*}{2}
a & = b &\quad c & = d \\
a & = b & c & = d
\end{alignat*}
\begin{flalign*}
&& a & = b & c & = d && \\
&& a & = b & c & = d &&
\end{flalign*}

3、 其他命令加编号
另外,使用
$$...$$
命令也是可以加编号的,方法是使用 \eqno{...} 命令。举例如下:
$$a=b \eqno{()}$$
但这时的编号 () 要手动输入,而且不能被引用。
LaTeX_fleqn参数时,多行公式对齐居中的同时选择性的加编号的更多相关文章
- word中编辑论文公式对齐问题
这里只说在word中编辑公式时,公式居中,编号右对齐的情况. 在编辑公式时,我平时就是右对齐,然后通过敲击空格键进行公式的居中,然而这样并不美观.所以接下来学习一下: 1)首先打开视图-->标尺 ...
- mvc中view与controll之间传递参数时,可以使用url进行传递
mvc中view与controller之间传递参数时,可以使用url进行传递,但是在url的地址中需要加上“id=123”这样的东西才行. 具体如代码: window.location.href = ...
- LaTeX技巧206:使用gather输入多行公式的技巧
上文中提到了几个输入多行公式的环境,gather也是其中之一,gather输入的好处是每一行,他都会按照前文的编号计数器进行向下计数,这样保证了公式编号的连贯性.所以,当我们输入公式的每一行公式需要独 ...
- LaTeX技巧207:使用align环境输入多行公式的技巧
align是输入多行公式中最好用的环境,仅仅是个人浅见,因为他的对齐非常灵活,如果大家需要非常灵巧的对齐方式的多行公式,建议使用align环境,对应的也还有align*和aligned等等类似的环境, ...
- 优化MySQL开启skip-name-resolve参数时显示“ignored in --skip-name-resolve mode.”Warning解决方法
转自:http://blog.csdn.net/yiluoak_47/article/details/53381282 参数用途: skip-name-resolve #禁止MySQL对外部连接进行D ...
- docx转doc时,防止公式被转成图片的解决办法
编辑社回复需要doc(Word 97-2003)格式的文档,可是将docx(Word 2007+)另存为doc格式时,发现公式被转成了图片.其实,最简单的办法就是,打个电话过去给编辑社:“大爷,拜托您 ...
- CAD参数绘制多行文字(com接口)
在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...
- CAD参数绘制多行文字(网页版)
在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...
- word 条件多项式公式对齐
条件多项式公式对齐 觉得有用的话,欢迎一起讨论相互学习~Follow Me 对于使用word编写具有多个多项式的公式时,经常会有所偏移 最不优雅的方式就是使用逗号进行分隔和排版使其公式上下对齐 第二种 ...
随机推荐
- virtual_login
from selenium import webdriverimport timedriver = webdriver.Chrome()driver.set_window_position(30, 4 ...
- js写的闹钟,支持多个闹钟
因为玩一个游戏,该游戏可以支持多个号,每个号有好多等时间的任务. 来回切换看,太耽误时间.手机的闹钟操作太麻烦. 所以写了一个使用配置文件的闹钟,简单方便. var ForReading = 1, F ...
- HDU--杭电--1195--Open the Lock--深搜--都用双向广搜,弱爆了,看题了没?语文没过关吧?暴力深搜难道我会害羞?
这个题我看了,都是推荐的神马双向广搜,难道这个深搜你们都木有发现?还是特意留个机会给我装逼? Open the Lock Time Limit: 2000/1000 MS (Java/Others) ...
- 解析txt文本,dom4j工具输出为xml文档
有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾, 要将它们输出为xml格式文档 工具:dom4j,jar包导入MyEclipse的Java Project工程 代码如下: pa ...
- widows下node.js环境搭建及运行js
昨天刚刚开始学习node.js,网上一些教程不是很清楚,所以总结一下我的经验. 1.安装. 安装省略,就到官网上去下载安装一下就好.安装完成之后,打开cmd,输入"path",查看 ...
- 《Pro Express.js》学习笔记——Express框架常用设置项
Express 设置 系统设置 1. 无须再定义,大部分有默认值,可不设置 2. 常用设置 env view cache view engine views trust pro ...
- Spring(4)
Spring的Bean的配置形式 1.基于XML的形式(无需讲解) 2.基于注解的形式(需要引入AOP的jar包,此jar包实现了AOP的注解) 当在Spring配置文件中引入类扫描注解命名空间并且指 ...
- 常用CSS样式
1.line-height:行高.默认normal normal:允许内容顶开或溢出制定的容器边界; length:15px,可以为负数; ... 2.overflow:滚动条设置 overflow- ...
- 使用Mulesoft建立webservice, simple方式,POJO
Mulesoft是使用CXF来支持web service,有三种方式 1.JAX-WS 2.Simple, POJO 3. Proxy, pass-throught 本文介绍POJO,最简单的方式 1 ...
- 作业七:团队项目——Alpha版本冲刺阶段008
今日进度:组内成员讨论 今日安排:组内成员分工