Diewuxi

Belive tomorrow will be better, love science and technology, support communication and understanding, always ready for thought turn.

Blog / engineering_technology / computer / software / document / tex / TEX(LATEX) 笔记

Blog


Article^ Parent

TEX(LATEX) 笔记


Date: 2017-02-13 00:00:00
Description: TeX, LaTeX 使用笔记。
Keywords: TeX, LaTeX
Category: engineering_technology/computer/software/document/tex
Tag: tex, latex
Link: https://www.diewuxi.com/blog/article/79.html

Changelog

* 2022-12-04
    * Add: 断行
    * Add: pagestyle
* 2022-12-02
    * Add: 行间距,段落间距调整
    * Add: 缩进量调整
* 2022-05-23
    * Modify: Change code format pandoc markdown style to tradisional markdown style.
* 2018-12-03
    * Add: Add table
* 2018-12-02
    * Add: Add list, figure
* 2017-02-13
    * Done
                        

TEX 语法

指令格式

\command
                        

常用指令

结束标志

\bye
                        

注释

当前行 % 之后的内容被忽略,包括换行符,可以用来对 TEX 隐藏换行符。
                        

注意事项

保留命令之后的空格

\command {}
\command\ 
                        

文本

特殊字符

--------------------------
符号        表示方式
-------     --------------
#           \#
$           \$
%           \%
^           \^
&           \&
_           \_
{           \{
}           \}
\           \backslash
<space>     \ {}
--------------------------
                        

空格,换行,引号

* 换行,缩进符与空格等价,如果不想让额外的行尾换行符作为空格加进排版,那么用 % 注释掉。
* 句号后紧跟一个空格,通常表示句子结束,TEX 会在句号后面加上一点间隔,! 也一样。
    要使用这个特性来进行句子结束排版时,需要注意句号前是否有大写字母,如果有,
    需要在句号前加 \null 指令(DNA.  -->   DNA\null.)。
* 将一些字符放在一起,空格处也不换行。 Fig. 8  -->  Fig.~8
* 双引号用连续两个单引号产生,相邻单引号和双引号之间用 \thinspace 隔开。
                        

字体,字形和字号

字体

\font \xmplbx = cmbx10 scaled \magstephalf
\font \xmplbxti = cmbxti10 scaled \magstephalf
                        

字形

正常

{\rm foo bar}
                        

斜体

{\it foo bar}
                        

粗体

{\bf foo bar}
                        

混合使用

{\if foo bar {\bf foo bar} foo bar {\rm foo bar}}
                        

其它(LaTeX)

\textrm{...}
\textsf{...}
                        

字号

\tiny
                        

段落

断行

断行不分段

\\ or \newline
                        

断行不分段,不分页

\\*
                        

另起一页

\newpage
                        

缩进,边距

  • 默认文本是缩进的,使用 \noindent 使之后的文本不缩进。
  • 设置缩进量 \setlength{\parindent}{2em}
  • 双边缩进
{\narrower foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar.

foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar. \par}
                        
  • 双边缩进两倍
{\narrower \narrower foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar foo bar.

foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar. \par}
                        
  • 调整左右边距,对当前内容
{\leftskip .5in foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar foo bar. \par}

{\rightskip .5in foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar foo bar. \par}
                        

竖直距离

  • 行间距
\fontsize{fontsize}{16pt}\selectfont    % 16pt 行间距

\baselineskip = 2\baselineskip          % 两倍行间距
\linespread{2}\selectfont               % 两倍行间距
                        
  • 段落间距

范围式:

{\parskip = 6pt foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar.

foo bar foo bar foo bar foo bar foo bar foo bar foo bar foo
bar foo bar. \par}
                        

命令式:

段落间距为行间距加 (2em - 0.2em) ~ (2em + 0.5em)

\setlength{\parskip}{2em plus 0.5em minus 0.2em}
                        
  • 竖直距离
\vskip 1pc
\smallskip
\medskip
\bigskip
                        
  • 空行
\vspace*{5\baselineskip}                % 空 5 行
                        

对齐

左对齐

\leftline{foo bar}
                        

右对齐

\rightline{foo bar}
                        

居中对齐

\centerline{foo bar}
                        

引用

原文照排

  • 行内
\verb|...|
                        
  • 陈列
\begin{verbatim}
    print{"Hello world!"};
\end{verbatim}

\begin{verbatim*}...\end{verbatim*} 可以显示空格。
                        

反斜线 \ 不能通过在其前面加另一个反斜线得到(\),这是一个用来换行的命令,用 \backslash

特殊符号

  • degree
^{\circ}
                        
  • celsius degreee
^{\circ}\mathrm{C}
                        
  • delta
\Delta
                        
  • angstrom
\overset{\circ}{A}
                        
  • overline
$\overline{m + n}$
                        
  • underline
$\underline{m + n}$
                        
  • center dot
$\cdot$
                        
  • diameter
$\Phi$
                        

图表

Figure

\begin{figure}[htbp]
    \centering
    \includegraphics[width=0.6\textwidth]{figure/GO_glass-scale.png}
    \caption{a, c 为 GO 膜,d 为玻璃}
    \label{go_glass}
\end{figure}
                        

列表

无编号

\begin{itemize}
    \item C++
    \item Java
    \item HTML
\end{itemize}


\begin{itemize}
    \item But it might start to
look silly.
    \item[-] With a dash.
\end{itemize}
                        

有编号

\begin{enumerate}
    \item C++
    \item Java
    \item HTML
\end{enumerate}


begin{enumerate}
    \item You can mix the list
environments to your taste:
    \item Therefore remember:
\end{enumerate}
                        

定义表述

\begin{description}
    \item{C++} 一种编程语言
    \item{Java} 一种编程语言
    \item{HTML} 一种编程语言
\end{description}


\begin{description}
    \item[Stupid] things will not
become smart because they are
in a list.
    \item[Smart] things, though,
can be presented beautifully
in a list.
\end{description}
                        

Table

最小列宽

\begin{table}[!h]
    \centering
    \caption{表头}
    \label{标签}
    \begin{tabular}{cccc}
        \toprule
        是否清洗 &  是否隔震 &  条带状况 &  衬底状况    \\
        \midrule
        否       &  否       &  弯       &  脏          \\
        是       &  否       &  弯       &  干净        \\
        否       &  是       &  另一种弯 &  脏          \\
        是       &  是       &  直       &  干净        \\
        \bottomrule
    \end{tabular}
\end{table}
                        

扩展列宽

\begin{table}[!h]
    \centering
    \caption{1.1 样品制备条件}
    \label{1.1-condition}
    \begin{tabularx}{\linewidth}{lX}
        \toprule
        Name                &   Content                         \\
        \midrule
        GO concentrate      &   0.05mg/mL                       \\
        GO deposition       &   1st(on1, on2) 26--?, 52--?\%RH, 2nd(on3, on4) 26--?, 52--?\%RH, side temperature    \\
        Salt solution       &   stir 4h, lay 1h, stir 1h 35 min                                                     \\
        Salt deposition     &   1st(on2, on3) 26--?, 52--?\%RH 2nd(on4) 26--?, 52--?\%RH, side temperature          \\
        Grow                &   28--79(30min)                                                                       \\
        \bottomrule
    \end{tabularx}
\end{table}
                        

公式

软件设置

简介

公式环境是 TEX,或者是 Plain TEX 中自有的,高级功能才用到其它宏包。

宏包

  • amsmath
  • amssymb
  • amsfonts

公式环境特点

空格

忽略空格

环境中的所有空格被忽略,系统自动处理间距,如果需要显示空格,使用 \mbox{...} 控制序列。

空白微调

\quad, \qquad, \hspace, \ 
\,  3/18 \quad
\:  4/18 \quad
\;  5/18 \quad
\!  -3/18 \quad
                        

字形设置

在公式外设置

\boldmath $...$
\unboldmath $...$
                        

在公式内设置

\mathrm{...}
\mathit{...}
\mathtt{...}
\mathsf{...}
\mathbf{...}
\mathcal{...}

\bm{...}    粗体
\mbox{...}  普通文本字形
\text{...}  普通文本字形(需要 amsmath 宏包)
                        
  • 公式环境中,英文字母默认被视为数学变量,默认为斜体字。
  • 这些更改字体的命令只在公式环境下有效
  • 希腊字符 分别有对应的命令

大小控制

括号大小

手动设置括号大小
\Bigg\{, \bigg\{, \Big\{, \big\{, \Bigg\}, \bigg\}, \Big\}, \big\}
\Bigg[, \bigg[, \Big[, \big[, \Bigg], \bigg], \Big], \big]
\Bigg(, \bigg(, \Big(, \big(, \Bigg), \bigg), \Big), \big)
                        
括号与内容的匹配
$$ ... \left\{ ... \right\} ... $$
                        
  • 如果只有一半,另一半用 .

字母和其它大小

如果不设置字体大小,系统自动调整。

整个公式

{\large $...$}
                        

某个部分

$x = y \mbox{\large $Z$}^{2} + \mbox{中文}$

\displaystyle       使后面的字符大小为陈列公式字符大小
\textstyle          使后面的字符大小为行内公式字符大小
\scriptstyle        使后面的字符大小为一级下标字符大小
\scriptscriptstyle  使后面的字符大小为二级下标字符大小
                        

嵌套过多会造成字变小,可以使用 \displaystyle 控制序列使字大小合适

\frac{1}
{
    \displaystyle 1 + \frac{\displaystyle 1}
    {
        \displaystyle 1 + \frac{\displaystyle 1}
        {
            \diplaystyle 1 + \frac{1}
            {x}
        }
    }
}
                        

显示类型

行内公式

Style 1:

\begin{math}
...
\end{math}
                        

Style 2:

$...$
                        

Style 3:

\(...\)
                        

陈列公式

环境中不能出现空行

单行不编号公式

Style 1:

\begin{displaymath}
...
\end{displaymath}
                        

Style 2:

$$ ... $$
                        

Style 3:

\[...\]
                        

单行编号公式

\begin{equation}
...
\end{equation}

* 中间可以插入盒子,矩阵,分段函数。
* 标记 \label{公式标记}
* 引用 \eqref{公式标记}(amsmath)
                        

多行编号公式组

\begin{eqnarray}
(a + b)^{4} &=& (a + b)^{2}(a + b)^{2} \\
            &=& (a^{2} + 2ab + b^{2})(a^{2} + 2ab + b^{2}) \nonumber \\
            &=& a^{4} + 4a^{3}b + 6a^{2}b^{2} + 4ab^{3} + b^{4}
\end{eqnarray}

* & 作为分割符实现列对齐,此环境只能有三列。
* 如果对其中某个公式不编号,可以在此公式结尾加上 \nonumber 控制序列。
* 如果取消全部编号,可以使用 \begin{eqnarray*} ... \end{eqnarray*}。

align, align* 环境可以使用(需要amsmath)
                        

数学类型

上下标

...^{...}
..._{...}
                        
  • 可以嵌套

分式

\frac{...}{...}

\frac   普通分式
\tfrac  textstyle
\dfrac  displaystyle
                        
  • 可以嵌套

开方

\sqrt[开方次数,默认二次方]{开方内容}
                        

求和,积分,极限等

\sum_{下限}^{上限}...
\prod_{序列}...
\int_{下限}^{上限}...
\int \int \int 可嵌套
\lim_{a \to b}...
                        

矩阵

\left[
\matrix
{
a_{11}, & a_{12}, &a_{13} \cr
a_{21}, & a_{22}, &a_{23} \cr
a_{31}, & a_{32}, &a_{33}
}
\right]
                        

可以使用 \ddots 省略号

上下划线,上下括号,堆叠(如化学方程式反应条件的标注)

\underline{...}
\overline{...}

\underbrace{...}_{解释内容}
\overbrace{...}^{解释内容}

\stackrel{上层}{下层}
                        

多行多列显示 array 环境

\begin{math}
\f(x) = \left\{
\begin{array}{l l}
1,  & x \geq 0 \\
-1, & \mbox{else}
\end{array}
\right.
\end{math}
                        

给公式加框

\boxed{...}
                        

页面

页眉和页脚

  • 全局样式
\pagestyle{style}
style:
    plain
    headings
    empty
                        
  • 当前页样式
\thispagestyle{style}
                        

Last modified: 2022-12-04

Comments [0]

There is no comments now.

Write comment(* is necessary, and email is not shown to public)


Diewuxi 2017--2024