Latex学习笔记

作者: taozhaojun | 来源:发表于2017-08-02 23:24 被阅读1626次

今天主要总结了latex的一些基本配置和使用latex进行科技论文写作的基本要素(书写文档,插入表格,插入图片,插入数学公式)

latex文档

latex是文档书写的利器。

latex文档结构

首先来看一个简单的例子:

#导言区
\documentclass[12pt ,a4paper]{article}
\usepackage{xeCJK}%使用 xeCJK 宏包
\usepackage{fontspec}
\usepackage{titlesec}
%中文断行
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#正文区
\begin{document}
\title{金属材料高温氧化过程中的应力研究}
\author{陶兆君}
\date{\today}
\maketitle
\section{介绍}
\section{正文}
\end{document}

一般论文都用 article 文档类,这里设置正文12pt 的字号,使用 A4 纸。以\开头的表示LATEX中的命令。\usepackage{} 命令表示使用宏
包,比如 xeCJK 宏包可以支持中文字体,titlesec宏包用于更改大标题的样式。每种宏包都提供各自的命令。\usepackage{} 命令就相当于 C 语言中的 include 命令,而宏包就相当于头文件。
我们一般在导言区配置我们需要的各种设置,而在正文区正式开始写文章。

中文

实现中文字体的方法有很多种,而我一般使用的,就是上个例子中用的xeCJK宏包。需要注意的是,要使用这个宏包的话,编译器要用xelax。

中文字体

中文字体也有很多种,什么宋体,黑体等等,如何在他们之间快速切换呢?请看代码:

\setCJKfamilyfont{zhsong}{SimSun} %宋体
\setCJKfamilyfont{zhhei}{SimHei} % 黑体
\setCJKfamilyfont{zhfs}{FangSong} %仿宋
\setCJKfamilyfont{zhkai}{KaiTi} %楷体
\newcommand*{\song}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\hei}{\CJKfamily{zhhei}} % 黑体
\newcommand*{\kai}{\CJKfamily{zhkai}} % 楷书
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋

前面4行第二个花括号里的必须是电脑中安装的字体名称,也可以直接写中文,比如 SimSun 就用宋体代替,SimHei就用黑体代替。第一个花括号内的是自定的名称,要与后面4行相对应。\newcommand是定
义一个新的命令,以后在文中如果想使用这些字体,那么就这样:

{\hei 这是一段黑体的文字,}{\song 这是一段楷体的文字,}{\fangsong 这是仿宋,}{\kai 这是楷体。}

这样就实现了对应文字用对应字体。看效果可以点这里

中文字号

中文习惯用几号几号来表示字的大小,而英文习惯用磅数来表示字号的大小,他们如何转换呢?我们通过自定义命令来实现

\newcommand{\erhao}{\fontsize{22pt}{\baselineskip}\selectfont}%二号
\newcommand{\xiaoer}{\fontsize{18pt}{\baselineskip}\selectfont}%小二
\newcommand{\sanhao}{\fontsize{16pt}{\baselineskip}\selectfont}%三号
\newcommand{\xiaosan}{\fontsize{15pt}{\baselineskip}\selectfont}%小三
\newcommand{\sihao}{\fontsize{14pt}{\baselineskip}\selectfont}%四号
\newcommand{\xiaosi}{\fontsize{12pt}{\baselineskip}\selectfont}%小四
\newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont}%五号
\newcommand{\xiaowu}{\fontsize{9pt}{\baselineskip}\selectfont}%小五

同样要使用这些字号,我们可以这样:

{\erhao 这是二号字,}{\sanhao 这是三号字,}{\wuhao 这是五号字。}

效果可以看这里

中文重定义

LATEX的一大特点就是在你自定义完模版后可以实现自动的排版。比如插入一个表格,表
头是这样的:“表 1.1:标题”。在插入表格时实际只需要输入“标题”,“表 1.1:”是LATEX自己加上去的。由于LATEX默认是英文,所以如果不加设置的话,实际的效果是:“table1.1:标
题”。这对中文论文来说显然是不行的。还有很多类似的地方需要重新设置。在导言区中加入
如下代码:

\renewcommand{\contentsname}{目录}
\renewcommand{\listfigurename}{插图目录}
\renewcommand{\listtablename}{表格目录}
\renewcommand{\refname}{参考文献}
\renewcommand{\abstractname}{摘\ 要}
\renewcommand{\indexname}{索引}
\renewcommand{\tablename}{表}
\renewcommand{\figurename}{图}
\newtheorem{theorem}{定理}
\newtheorem{definition}{定义}
\newtheorem{property}{问题}
\newtheorem{proposition}{猜测}
\newtheorem{lemma}{引理}
\newtheorem{corollary}{推论}

这样就对中文进行了重定义。

关于宏包

如果大家在编译时遇到错误:

! Undefined control sequence.

那么多半是哪个宏包没有加进去,简答的做法,当然就是先把所有常用的宏包都加进去。我们在导言区加入如下代码:

\usepackage{fancyhdr}%页眉页脚
\usepackage{xeCJK} %中文支持
\usepackage{fontspec}%字体
\usepackage{titlesec}%标题格式
\usepackage[top=2.5cm,bottom=2.5cm, left=2cm, right=2cm]{geometry}%页边距
\usepackage{amsmath} %数学公式
\usepackage{amssymb}
\usepackage{amscd}
\usepackage{listings}%插入代码
\usepackage{xcolor} %字体颜色
\usepackage{graphicx} %插入图片
\usepackage{subfig} %子图
\usepackage{tabularx}%插入表格
\usepackage{indentfirst} %首行缩进
\usepackage{array}
\usepackage{longtable}%长表格
\usepackage{multirow}%使用多栏宏包
\usepackage{wrapfig}%文字环绕
\usepackage{booktabs}
\usepackage{extarrows}
\usepackage{ulem}
\usepackage{txfonts}
\usepackage{bm}
\usepackage{cite}%参考文献
\usepackage[super,square,comma, sort&compress]{natbib}
\usepackage{setspace}%设定行距
\usepackage[colorlinks , linkcolor=black ,anchorcolor=black , citecolor=black ,
CJKbookmarks=True]{hyperref}

对于中文文章,格式要求首行缩进两个中文字符,所以首先添加 indentfirst 宏包,并且
在导言区加入以下代码:

\setlength{\parindent}{2.45em}

这样就实现了缩进两个中文字符。

表格

书写科技论文当然离开不了表格,那么LATEX中如何书写表格呢?

\begin{table}[htp] %浮动表格环境
\centering %表格居中放置 
\caption{这里是表头}
\label{tab1} %用于引用
\begin{tabular}{c|c|c|c|c}%表格环境
\toprule[1.4pt] %1.4pt 的上划线
&x1&x2&x3&x4\\\hline %\hline表示画一条横线
A&3&4&2&1\\\hline
B&2&5&4&3\\\hline
C&5&4&3&1\\\hline
D&3&3&2&4\\
\bottomrule[1.4pt]%1.4pt 的下划线
\end{tabular}
\end{table}

这样就得到一个最基本的表格:


显然就不美观,括号太小。可以让LATEX自动调整括号的大小:
使用代码为:

\left(\frac{a}{b}\right)

效果为:

对小括号和中括号,左括号分别是 \left(和 \right[,但是对大括号,左括号就变为 \left{。注意其中的区别,大括号多了一个\。
对于中括号和大括号代码如下

\left[\frac{a}{b}\right]
\left\{\frac{a}{b}\right\}

显示效果如下:

经常需要使用大括号,比如下面这种情况:

实现的代码为:

\begin{equation} \label{eq1}
f(x)=\left \{
\begin{aligned}
&x=\cos(t) \\
&y=\sin(t) \\
&z=\frac{x}{y}
\end{aligned}
\right .
\end{equation}

其中&表示对齐的位置。还可以使用array环境,和tabular完全类似:

实现的代码为:

\begin{equation}
F=\left \{
\begin{array}{rcl}
A&& {0< S_L}\\
B&& {S_L \leq 0 < S_M}\\
C&& {S_M \leq 0 < S_R}\\
D&& {S_R \leq 0}
\end{array} 
\right .
\end{equation}

还有 cases 环境:

实现的代码为:

\begin{equation}
f(x)=
\begin{cases}
0& x=0\\
1& x!=0
\end{cases}
\end{equation}

注意,cases 环境不需要自己输入大括号,但是前两种情况需要自己输入大括号。显然,上面的公式只有左大括号,而没有右大括号,这个时候也不能直接忽略右大括号,因为左和右是配对的,所以上面的公式中在 \left{左大括号的最后需要 \right. 与之配对。注意,right后面有一个点。

长公式

有时我们的公式非常长,这就需要将公式分成多行,我们一般使用multline环境:

\begin{multline}
c(x,y,z)=\sin{x}\sin{y}\sin{z}\frac{Q}{4\pi\sqrt{(D_y+D_{y'}−D_{my})(D_z+D_{z'}−D_{mz})}}\times\exp\left[−\frac{u}{4x}\left(\frac{y^2}{D_y+D_{y'}−D{my}}+\frac{z^2}{D_z+D_{z'}−D_{mz}}\right) \right]
\end{multline}

效果如下:

多行公式

有的时候经常需要输入多行公式,这又分好几种情况:

每个子公式都有编号

这里使用align环境,看起来和连续使用两个equation环境一样,但是连续使用两个equation换进会使得这两个公式之间的距离过大。如果不想编号,在align后面加上*就行了。代码如下:

\begin{align}
& f(x)=x^3 \label{eq: rel1} \\
& g(x)=\sin{x} \label{eq: rel2}
\end{align}

只有一个编号在中间位置

比如让两个公式共用一个公式编号,代码为:

\begin{equation}\label{eq:12}
\begin{split}
& f(x)=x^3 \\
& g(x)=\sin{x}
\end{split}
\end{equation}

小结

这里总结了LATEX的一些基本用法,当然在文献写作过程中还有一些技巧是必不可少的(比如参考文献管理,章节管理等),这要不断使用LATEX,慢慢地我们就可以掌握这些技巧,最后再给大家推荐在线LATEX编辑器:sharelatexOverleaf,他们提供了丰富的LATEX模板,不管是写CV还是写论文,直接在上面找一个喜欢的模板,然后开始写作吧。

相关文章

  • Latex 学习笔记

    Latex 是一种文档编辑语言. 在撰写论文的时候, 对于文字及图片的排版是必不可少的. 对于文字的排版主要考虑的...

  • LaTex 学习笔记

    为了解决自动化报告之类的问题,测试了几种不同的方案之后,我选了 LaTex。利用 LaTex 生成 PDF 文档可...

  • Latex学习笔记

    今天主要总结了latex的一些基本配置和使用latex进行科技论文写作的基本要素(书写文档,插入表格,插入图片,插...

  • LaTeX学习笔记

    矩阵: ![][00] 双曲余弦函数: ![][01] 排列组合公式: ![][02] 开方运算: ![][03]...

  • LaTeX学习笔记

    学习内容包括从零开始LaTeX、LaTeX新人教程 分享一下TeXLive2019的下载链接链接:https://...

  • LaTex 学习笔记

    原文地址 LaTeX(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/),排版时通常使用LATE...

  • 2018-04-03

    【LaTeX】Lyx/LaTeX笔记01---插入伪代码[latex]使用algorithm包来编写伪代码 - C...

  • latex语法

    1. latex 语法 latex笔记:基本语法[https://zhuanlan.zhihu.com/p/243...

  • Latex 学习

    Latex 学习 @(05.2 Latex)[latex][基础教程] 这篇文章是关于latex基础教程.pdf的...

  • Latex学习笔记(一)

    1. 基本模板 代码结果如下: 2. 文档类型设置 常见的文档类型包括article、book、report等。不...

网友评论

    本文标题:Latex学习笔记

    本文链接:https://www.haomeiwen.com/subject/bbculxtx.html