zoukankan      html  css  js  c++  java
  • latex 公式 和排版

    http://bbs.chinatex.org/forum.php?mod=viewthread&tid=7423

    http://blog.sina.com.cn/s/blog_5e16f1770100lqvb.html

    from: http://www.binghe.org/2010/03/latex-equation-and-numbering/

    https://www.cnblogs.com/suerchen/p/4817711.html

    左侧缩进和右侧缩进

    1. documentclass[cap,cs5size,winfonts,nospace,indent,fancyhdr]{ctexart}
    2. usepackage{changepage}
    3. egin{document}
    4. 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
    5. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
    6. egin{adjustwidth}{2cm}{2cm}
    7. qquad 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
    8. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
    9. 为保持经济健康稳定的发展,近年来,中央政府综合运用经济、法律和必要的行政手段,以区别对待和
    10. 循序渐进的方式,对房地产业连续出台了一系列宏观调控政策。
    11. end{adjustwidth}
    12. 从~2003~年下半年开始,房地产业在发展过程中出现了部分地区房地产投资过热、房价上涨过
    13. 高的现象,各项指标表明中国房地产存在一定程度的泡沫。
    14. end{document}
    页面设置

    纸张大小

    不用加载任何宏包就可以很容易的设置纸张大小,只需在documentclass加入关于纸张大小的选项即可。

    documentclass[a4paper]{article}

    默认就是a4
    其他可用的选项还有

    • a4paper (297mm * 210mm)
    • a5paper (210mm * 148mm)
    • b5paper (250mm * 176mm)
    • letterpaper (11in * 8.5in)
    • legalpaper (14in * 8.5in)
    • executivepaper (10.5in * 7.25in)

    这些选择内部实际上是设置 paperheight 和 paperwidth 两个值。手动设置的方式是

    setlengthpaperheight{高度}
    setlengthpaperwidth{宽度}

    使用geometry宏包

    使用geometry宏包,可以让页边距和页眉页脚的设置变得非常简单

    documentclass[a4paper]{article}
    usepackage{geometry}
    geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
    egin{document}
    test
    end{document}

    常用的长度选项还有head, headsep, foot,见下图

    Latex <wbr>页面设置 <wbr>& <wbr>常见段落格式的设定

    latex-geometry

    LaTeX中常见段落格式的设定

    字间距

    只适用于CJK和xeCJK

    
    enewcommand{CJKglue}{hskip 宽度}

    比如

    
    enewcommand{CJKglue}{hskip 1pt plus 0.08aselineskip}

    行间距

    linespread{因子}
    或者
    enewcommand{aselinestretch}{因子}

    比如

    linespread{1.5}
    或者
    enewcommand{aselinestretch}{1.5}

    段间距

    设置parskip的值,比如

    setlength{parskip}{0.5aselineskip}

    首行缩进

    如果默认首行不缩进,则使用indentfirst宏包

    usepackage{indentfirst}

    指定某段首行缩进,在段首加

    indent

    指定某段首行不缩进,在段首加

    oindent

    设置缩进量

    setlengthparindent{2em}

    悬挂缩进

    在要悬挂缩进的段落前加上

    
    oindent
    hangafter
    =1
    setlength{hangindent}{2em}

    分别是: 1. 取消首行缩进;2. 设置从第1行之后开始悬挂缩进;3. 设置悬挂缩进量

    居中、左对齐、右对齐

    分别有两种形式,一种是环境形式 center, flushleft, flushright,一种是命令形式 centering, raggedright, raggedleft。与命令形式不同,环境形式会插入新段落,如果不希望插入新段落,就得使用命令形式。命令形式通常配合环境使用,限制有效范围在环境 内。还要注意的是,与flushleft 对应的是 raggedright,与 flushright 对应的是 raggedleft,不要搞反了。

    egin{center}
    居中文字
    居中文字
    end{center}

    oindent
    egin{minipage}{linewidth}
    centering
    居中文字
    居中文字
    end{minipage}

    egin{flushleft}
    左对齐文字
    左对齐文字
    end{flushleft}

    oindent
    egin{minipage}{linewidth}
    aggedright
    左对齐文字
    左对齐文字
    end{minipage}

    egin{flushright}
    右对齐文字
    右对齐文字
    end{flushright}

    oindent
    egin{minipage}{linewidth}
    aggedleft
    右对齐文字
    右对齐文字
    end{minipage}



    Latex公式编号

    1.自动编号的单行公式环境是
    egin{equation}

    end{equation}

    不参与自动编号的单行公式环境:
    [

    ]

    人工编号的单行公式可以使用Tex原有的行间公式标记

    eqno公式eqno编号
    
    将编号放在右边
    leqno公式leqno编号
    
    将编号放在左边

    引用时候可以直接用$编号$即可。

    例如,

    a2+b2=c2eqno()a2+b2=c2eqno(∗∗)
    
    
    由公式($**$)即可得到结论。

    一般情况下,行间公式

    
    也可以用[…]表示
    但对于这种人工编号的公式,不能用[..]代替
    
    .

    2.单个公式很长,需要换行,但仅允许生成一个编号时,可以用split命令

    egin{equation}
    egin{split}
    a &= b
    c &= d
    end{split}
    end{equation}

    注意:每行只允许出现一个“&”,使用split命令后,编号上下居中显示。

    3.多行公式:

    egin{eqnarray}
    左 & 中 & 右
    左 & 中 & 右

    end{eqnarray}
    该环境对多行公式每行都加自动编号,如果相对某行不加编号,可在换行之前添加命令
    onumber

    其中两个&号之间的是公式间对齐的位置,用隔开各行公式。将eqnarray改为eqnarray*输出的公式是没有编号。

    如果要改变公式的自动编号,可以重设计数器初始值:
    setcounter{equation}{数}
    下一个编号自动加1。

    4.方程组的排版:
    多个公式,每个公式自动编号。

    1) gather环境
    是下面align环境的一种特殊情形。
    egin{gather}
    a &= b
    c &= d

    end{gather}
    >>1.如果其中某几行使用同一个编号,则需要内嵌一个split环境。
    >>2.命令
    otag可使当前行不编号。
    2) align环境
    可使几组公式并排在一起,即在同一行显示多个公式,方法是跟以前一样,使用”&”对齐。
    可替代gather环境。
    3) 以上几种方程组环境,无论每个公式多小,都会占满一行。使用相应的gathered,aligned环境,则只占据公式的实际宽度,整体作为一个特大的符号与其他符号一同处理。
    这个结构还可以添加位置参数,以决定与其他符号的竖直对齐方式(b,t)。而且这种环境不再具有自动编号功能。

    例如:
    egin{equation}
    left.
    egin{aligned}[b]
    a &= b+c
    d &= b+c
    end{aligned}

    ight}
    Longrightarrow
    qquad a=d
    end{equation}





    1.排序单位

    在文类book或report中,行间公式是以章为排序单位的,即每一新章节开始,公式序号计数器equation就被清零。比如第1章第3个公式的序号是(1.3),第2章第1个公式的序号是(2.1)。一章中有若干节,若每节中有很多公式,这种排序方式就很难分清某个公式是属于哪一节的。如希望公式能以节为排序单位,可在导言中加入公式宏包提供的排序单位命令: umberwithin{equation}{section}

    这样在所有公式的序号里就增加了节序号。例如第1章第3节第2个公式的序号是:(1.3.2)。在文类article中,行间公式序号是以全文为排序单位,若希望改为以节为排序单位,也可使用上述排序单位命令。

    2.取消与替代

    带星号的公式环境以及split和cases公式环境都不会给出公式序号,其它不带型号的公式环境都可以为公式自动提供序号。但有时希望公式组中的某些公式有序号,某些没有,某些要另作标记,就需要用到下列序号设置命令。

    eqno{标号} 系统提供的序号设置命令,将它紧跟在equation*环境或[…]形式的公式行后,可在公式右侧人工设置标号。标号可以是任意文本
    leqno{标号} 作用于eqno相同,只是将标号至于公式的左侧。eqno与leqno不能同时在一个公式中使用
    onumber 系统提供的取消序号命令。把它插在换行命令\之前,可以取消为该行公式排序而使其无序号
    otag 公式宏包提供的序号取消命令,使用方法和作用与 onumber命令相同
    ag{标号} 公式宏包提供的序号设置命令,把它插在换行命令\之前,可取消为该行公式排序,而以(标号)替代序号。该命令也可用于带星号公式环境中的公式行,使其具有(标号)
    ag*{标号} 作用与 ag相同,只是标号的两侧没有圆括号

    2.1 把矩阵方程的序号改为人工标号,并将其至于方程的左侧

    代码:

    $$left(egin{array}{lcr}
    a_{11}& a_{12} & a_{13}\
    a_{21} & a_{22} & a_{23}
    end{array} ight)=0 leqno[A.1] $$

    得到的公式如下:

    2.3 将方程组中的每个方程式使用不同样式的序号和标号

    利用交叉引用命令label和 ef来生成子序号

    代码:

    egin{gather}
    x^2+y^2=z^2 label{eq:r2} \
    x^3+y^3=z^3 otag \
    x^4+y^4=z^4 ag{$*$} \
    x^5+y^5=z^5 ag*{$*$} \
    x^6+y^6=z^6 ag{ ef{eq:r2}$'$}
    end{gather}

    得到的公式如下:

    2.4 在公式组环境中使用取消序号命令来编排多行公式

    代码:

    egin{align}
    f(t)=& e^{-t}(sin2t + 2sin4t -{} onumber\
    & {}- 0.4sin2tsin40t)
    end{align}

    得到的公式:

    如果把 onumber取消序号命令去掉后

    代码:

    egin{align}
    f(t)=& e^{-t}(sin2t + 2sin4t -{}\
    & {}- 0.4sin2tsin40t)
    end{align}

    得到的公式如下(仔细看编号):

    3 底部序号

    通常多行公式的序号垂直居中,要想把序号至于最后一行末尾,可在公式宏包的调用命令中添加一个顶部序号选好,即usepackage[tbtags]{amsmath}, 就可以将夏利多行公式的序号置于尾行右端。

    代码:

    egin{equation}
    egin{split}
    f(x) & = 2(x+1)^{2} -1 \
    & = 2(x^{2}+2x+1)-1 \
    & = 2x^{2} + 4x + 1
    end{split}
    end{equation}

    得到的公式:

     
  • 相关阅读:
    广度优先搜索-八数码问题
    广度优先搜索-鸣人和佐助
    广度优先搜索-迷宫问题
    广度优先搜索-抓住那头牛
    Unity面试题汇总(第一部分)
    独立项目-Socket通讯 应用/客户端和服务器的简单通讯-04
    独立项目-Socket通讯 服务器端代码-04
    独立项目-Socket通讯 客户端代码-03
    独立项目-Socket通讯 发送数据包和接收数据包过程图-02
    独立项目-Socket通讯 服务器端架构图-01
  • 原文地址:https://www.cnblogs.com/bnuvincent/p/9001376.html
Copyright © 2011-2022 走看看