LaTeX使用


  • LaTeX使用
  • 基本使用
  • 源文件的基本结构
  • 中文处理办法
  • 字体字号设置
  • 文章基本结构
  • 特殊字符处理
  • 图片的使用
  • 表格的使用Texstduio的导入表格功能会更快
  • 浮动体的使用
  • 数学公式初步
  • 矩阵的使用TexStudio里面的矩阵模板功能
  • 参考文献使用BibTex
  • 定义自己的命令


基本使用

  • sublime使用latex格式来编辑文件,使用command+B来编译文件,这时候通过skim来浏览生成的PDF文件。
  • 终端里面通过使用latex demo.tex来编译latex生成包括demo.dvi在内的许多文件,这个时候用dvipdfmk demo.dvi命令转成PDF。
  • 终端里面通过使用xelatex demo.tex直接生成PDF文件。还支持中文

支持中文需要xelatex,utf-8编码,导入ctex包

  • 使用TexStudio来使用Latex

源文件的基本结构

  • Latex里面有文稿区,正文区
  • Latex里面不用显示的内容默认用注释而不是删除
  • \后面跟的都是关键字
  • 一个$包围表示行内数学公式
  • 两个$包围表示行间数学公式
  • 文档类里面有book,report,letter,ctexreport,ctexbook等文档类
%导言区
\documentclass{article} %book,report,letter
\usepackage{ctex}
\title{Latex Introduction}
\author{Shu Kai}
\date{\today}
%文稿区
\begin{document}
    \maketitle
    你好 \LaTeX.

    Here is a formula$f(x)=x^2+2x+1$

    Here is an another formula$$f(x)=2x$$which $x$ denote independent variable.
\end{document}

中文处理办法

  • 命令行中使用texdoc ctex可以查看ctex的使用方法,或者使用texdoc lshort-zh来查看latex的简短的中文介绍。
  • 使用\heiti,\kaishu来选择不同的字体
  • 使用eqution来产生具有序号的数学公式
  • 使用\newcommand\yourcmd{xxxcmd}来定义自己的command
  • 使用ctex开头的文档类,可以不用引入ctex包
%导言区
\documentclass{ctexart} %book,report,letter
%\usepackage{ctex} %or use \documentclass{ctexart}
\title{Latex Introduction}
\newcommand\degree{^\circ}
\author{\heiti 舒凯}
\date{\today}
%文稿区
\begin{document}
	\maketitle
	你好 \LaTeX.
	$C=90\degree$
	\begin{equation}
		AB=BC=CA
	\end{equation}
\end{document}

字体字号设置

下图是Latex的字体属性

python实现LaTeX公式转word_交叉引用


* 字体族,对于latex中的字体可以使用不同的字体族,比如说有罗马字体,san serif字体(无衬线字体),typerwriter字体。

* 对于字体的使用可以用命令或者用定义。对于命令有一个括号作为限定范围,对于定义可以有括号也可以没有括号,没有括号表示接下去的内容全部是该字体。

* 我们可以在引言区用newcommand设置自己的字体。

\documentclass{article}
\usepackage{ctex}
\newcommand{\myfont}{\textbf{\textsf{ss}}}
\begin{document}
    %字体族设计 罗马字体 无衬线字体 打印机字体
    \textrm{Roman Family}  \textsf{Sans Serif Family} \texttt{TypeWriter Family}
    %以下的命令表示后续字体的字体族

    \rmfamily{Roman Family} 
    \sffamily{Sans Serif Family} 
    \ttfamily{TypeWriter Family}

    %字体系列设置(粗细,宽度)
    \textmd{Medium Series} \textbf{BoldFace Series}

    %字体形状(直立,斜体,伪斜体,小型大写)
    \textup{Upright Shape} \textit{Italic Shape}
    \textsl{Slanted Shape} \textsc{Small Caps Shape}

    %中文字体
    {\songti 宋体} {\heiti 黑体} {\fangsong 仿宋} {\kaishu 楷书}

    %字体大小设置
    {\tiny                   Hello}\\
    {\scriptsize                   Hello}\\ 
    {\footnotesize                   Hello}\\
    {\small                   Hello}\\
    {\normalsize                   Hello}\\
    {\large                   Hello}\\
    {\Large                   Hello}\\
    {\LARGE                   Hello}\\
    {\huge                   Hello}\\
    {\Huge                   Hello}\\

    %中文字号设置
    \zihao{5} 你好

    \myfont

\end{document}

文章基本结构

  • 对于article类的文档来说里面有section,subsection,subsubsection等等命令。对于book类的文档来说,有chapter,section等,此时subsection和subsubsection等等命令就不能发挥作用
  • 可以在文档区也就是正文区的前面使用tableofcontents这个命令
  • 利用好引言区,尽量在引言区里面设置好格式。
\documentclass{book}
\usepackage{ctex}
\begin{document}
	\tableofcontents
	\section{引言}
	\section{摘要}
	\section{实验}
	\subsection{实验}
	\subsubsection{图表}
	\chapter{章节}
	\section{引言}
	\section{摘要}
	\section{实验}
	\subsection{实验}
	\subsubsection{图表}
\end{document}

特殊字符处理

\documentclass{book}
\usepackage{ctex}
\usepackage{xltxtra}
\usepackage{texnames}
\usepackage{mflogo}
\begin{document}
    \section{空白字符}
    %空行分段,多个空行等于一个空行
    %自动缩进,绝对不能使用空格代替
    %英文中多个空格为一个空格,中文中空格无效
    %汉字与其它字符的间距会自动由XeLeTex自动处理
    %禁止使用中文全角空格
    Are you      OK!

    我爱      你!Do you love me !滚

    %1em(相当于字体中M的宽度)
    a\quad b

    %2em
    a\qquad b

    %约为1/6个em
    a\,b a\thinspace b

    %0.5em
    a\enspace b

    %空格
    a\ b

    %硬空格 不能分割的空格
    a~b

    %1pc=12pt=4.218mm
    a\kern 1pc b

    a\kern -1em b

    a\hskip 1em b

    %根据参数留出空白
    a\hspace{35pt}b

    %根据xyz的宽度得到占位宽度的空白
    a\hphantom{xyz}b

    %弹性宽度
    a\hfill b
    \section{\LaTeX 控制符}
    %双反斜杠表示换行,所以要显示反斜杠需要用\textbackslash
    \# \$ \% \{  \}  \~{} \_{} \^{} \textbackslash \&
    \section{排版符}
    \S \P \dag \ddag \copyright \pounds
    \section{\TeX 标志符号}
    %基本符号
    \TeX \LaTeX \LaTeXe

    %XeLaTex符号,使用xltxtra宏包
    \XeLaTeX

    %texnames宏包提供
    \AmSTeX{} \AmS-\LaTeX{}
    \BibTeX{} \LuaTeX{}

    %由mflogo提供
    \METAFONT{} \MF{} \MP{}
    \section{引号}
    ` ' `` ''   ``你好''
    \section{连字符}
    - -- ---
    \section{非英文字符}
    \oe \OE \ae \AE \aa \AA \o \O \l \L \ss \SS !` ?`
    \section{重音符号}
    \`o \'o \^o \' 'o \~o \=o \.o \u{o} \v{o} \H{o} \r{o} \t{o} \b{o}
    \c{o} \d{o}
    \section{实验}
    \subsubsection{图表}
\end{document}

效果输出:

python实现LaTeX公式转word_入门_02


python实现LaTeX公式转word_latex_03

图片的使用

  • 需要在导言区里面导入graphicx这个包
  • 插入图片的时候,使用以下命令,\includegraphics[<选项>]{文件名}
  • 支持以下格式的图片 EPS,PDF,PNG,JPEG,BMP,在导入图片的时候可以不用加后缀名。
  • 选项有scale,width,height,angle等选项,而且支持相对值
\documentclass{article}
\usepackage{ctex}
%导言区 \usepackage{graphicx}
%语法 \includegraphics[<选项>]{文件名}
%格式 EPS,PDF,PNG,JPEG,BMP
\usepackage{graphicx}
\graphicspath{{figures/},{pics/}} %图片在当前目录下的figures目录

%正文区(文稿区)
\begin{document}
	\LaTeX{} 中的插图
	\includegraphics{1.png}
	\includegraphics{2.png}
	\includegraphics{3.png}
	\includegraphics[scale=0.3]{1.png}
	\includegraphics[scale=0.5]{2.png}
	\includegraphics[scale=0.8]{3.png}
	\includegraphics[width=1cm]{1.png}
	\includegraphics[width=2cm]{2.png}
	\includegraphics[width=3cm]{3.png}
	\includegraphics[height=1cm]{1.png}
	\includegraphics[height=2cm]{2.png}
	\includegraphics[height=3cm]{3.png}
	\includegraphics[width=0.1\textwidth]{1.png}
	\includegraphics[width=0.2\textwidth]{2.png}
	\includegraphics[width=0.3\textwidth]{3.png}
	\includegraphics[height=0.1\textheight]{1.png}
	\includegraphics[height=0.2\textheight]{2.png}
	\includegraphics[height=0.3\textheight]{3.png}
	\includegraphics[angle=-45,width=0.2\textwidth]{1.png}
	\includegraphics[width=0.2\textwidth]{2.png}
	\includegraphics[angle=45,width=0.2\textwidth]{3.png}
\end{document}

表格的使用(Texstduio的导入表格功能会更快)

  • 在begin和end里面使用tabular可以创建表格
  • l,c,r 左,中,右;p指示宽度,不够就换行
  • \\表示换行
  • \hline表示行线,可以有多个叠加
  • |是竖线,可以有多个叠加
\documentclass{article}
\usepackage{ctex}

%正文区(文稿区)
\begin{document}
    \LaTeX{} 中的表格

    \begin{tabular}{l|c|c|p{1.5cm}|r} %l,c,r 左,中,右;p指示宽度,不够就换行
		\hline %使用两个\hline表示双横线
		姓名 & 语文 & 数学 & 英语 & 备注 \\ % \\表示换行
		\hline 
		张三 & 90 & 86 & 93 & 优秀 \\
		\hline
 		李四 & 60 & 70 & 80 &  良\\
 		\hline
 		王五 & 50 & 80 & 66 & 差 \\
 		\hline
	\end{tabular}

\end{document}

浮动体的使用

  • 浮动体可以实现灵活分页,比如figure,table(避免无法分割的内容产生的页面的空白)
  • 给图表添加标题
  • 交叉引用
  • 允许位置的参数,h(here),表示此处,代码所在的上下文位置;t(top)代码所在页面或之后页面的顶部;b(bottom)代码所在页面或之后页面的底部;p(page)独立页面——浮动页面
  • 标题控制,caption,bicaption等宏包
  • 并排与子图表 subcaption,subfig,floatrow等宏包
  • 绕排 picinpar,wrapfig等宏包
\documentclass{article}
\usepackage{ctex}
\usepackage{graphicx}
\graphicspath{{figures/}}
%正文区(文稿区)
\begin{document}
    \LaTeX{} 中的图片,如图\ref{天线} 所示%交叉引用
    \begin{figure}[htbp] %允许位置
        \centering
        \includegraphics[scale=0.3]{1}
        \caption{天线衰减图}\label{天线}
    \end{figure}

    以下是2014年我们班的成绩,如表格\ref{grade}所示

    \begin{table}[h]
		\centering
		\caption{成绩单}\label{grade}
			\begin{tabular}{l|c|c|p{1.5cm}|r} %l,c,r 左,中,右;p指示宽度,不够就换行
			\hline %使用两个\hline表示双横线
			姓名 & 语文 & 数学 & 英语 & 备注 \\ % \\表示换行
			\hline 
			张三 & 90 & 86 & 93 & 优秀 \\
			\hline
			李四 & 60 & 70 & 80 &  良\\
			\hline
			王五 & 50 & 80 & 66 & 差 \\
			\hline
		\end{tabular}
	\end{table}
\end{document}

数学公式初步

  • 行内数学用,行间用$
  • 希腊字母用相应的发音
  • 注意交叉引用
  • \frac{}{}用来表示分式
\documentclass{article}
\usepackage{ctex}
\usepackage{graphicx}
\graphicspath{{figures/}}
%正文区(文稿区)
\begin{document}
\section{行内公式}
\subsection{美元符号}
交换公式是$a+b=b+a$所示
\subsection{小括号}
交换公式是\(a+b=b+a\)所示
\subsection{math环境}
交换公式是\begin{math}a+b=b+a\end{math}所示
\section{上标}
$a^2$
\section{下标}
$a_2$
\section{希腊字母}
$\alpha$
$\beta$
$\gamma$
$\epsilon$
$\pi$
$\omega$

$\Gamma$
$\Delta$
$\Theta$
$\Pi$
$\Omega$
\section{数学函数}
$\log$
$\sin$
$\cos$
$\arcsin$
$\arccos$
$\ln$

$\sin^2 x+\cos^2 x=1$

$y=\sin^{-1} x$

$y=\sqrt{2}$

$y=\sqrt[4]{5x}$
\section{分式}
体积大约是原来的$3/4$
体积大约是原来的$\frac{5}{100}$
\section{行间公式}
\subsection{美元符号}
交换律是
$$a+b=b+a$$
如
$$1+2=2+1=3$$
\subsection{中括号}
\[a+b=b+a\]
如
\[1+2=2+1=3\]
\subsection{displaymath环境}
\begin{displaymath}
	1+2=2+1=3
\end{displaymath}
\subsection{自动编号公式equation环境}
交换律见式\ref{eq:commutative}
\begin{equation}
	a+b=b+a \label{eq:commutative}
\end{equation}
公式的编号与交叉引用是自动实现的,大家在排版中,要习惯采用自动化的方式处理诸如图,表,公式的编号与交叉引用。
\end{document}

矩阵的使用(TexStudio里面的矩阵模板功能)

参考文献(使用BibTex)

一次管理,一次使用,thebibliography环境(不推荐),推荐使用BibTex文件把文献单独管理,方便后续使用

\documentclass{article}
\usepackage{ctex}

%正文区(文稿区)
\begin{document}
%一次管理,一次使用,
%参考文献格式
%\begin{thebibliography}{widestlabel}
%  \bibitem[记号]{引用标志}文献条目1
%  \bibitem[记号]{引用标志}文献条目2
%  ...
%\end{thebibliography}
%其中文献条目包括:作者,题目,出版社,年代,版本,页码等
%引用文章的使用采用: \cite{引用标志1,引用标志2}
\end{document}
  • 自己编辑一个bib文件,然后进行引用,或者用google学术搜索,然后点击引用的按钮,选择BibLatex的格式

下面是一个Bib文件

@BOOK{mittebach2004,
title={The {{\LaTeX}} Companion},
publisher = {Addison-Wesley},
year={2004},
author={Frank Mittelbach and Michel Goossens},
series={Tools and Techniques for Computer Typesetting},
address={Boston},
edition={Second}
}
@article{comaniciu2003kernel,
    title={Kernel-based object tracking},
    author={Comaniciu, Dorin and Ramesh, Visvanathan and Meer, Peter},
    journal={IEEE Transactions on pattern analysis and machine intelligence},
    volume={25},
    number={5},
    pages={564--577},
    year={2003},
    publisher={IEEE}
}

然后引入该文件,并在相应的地方进行引用

\documentclass{article}
\usepackage{ctex}
\bibliographystyle{plain} %plain unsrt alpha abbrv
%正文区(文稿区)
\begin{document}
%一次管理,一次使用,
%参考文献格式
%\begin{thebibliography}{widestlabel}
%  \bibitem[记号]{引用标志}文献条目1
%  \bibitem[记号]{引用标志}文献条目2
%  ...
%\end{thebibliography}
%其中文献条目包括:作者,题目,出版社,年代,版本,页码等
%引用文章的使用采用: \cite{引用标志1,引用标志2}
\bibliography{literacy}
\cite{mittebach2004}
\cite{comaniciu2003kernel}
\end{document}

定义自己的命令

  • 使用newcommand命令来定义自己的命令
  • 可以在方括号里面设置默认参数,然后默认参数在花括号里面放在第一个
\documentclass{article}
\usepackage{ctex}
\newcommand\PRC{Public of \emph{China}}
%最多有9个#的参数
\newcommand\loves[2]{#1 喜欢 #2}
\newcommand\hatedby[2]{#1 不受 #2 喜欢}
%默认参数,放第一个位置
\newcommand\love[3][喜欢]{#2#1#3}
%正文区(文稿区)
\begin{document}
\PRC

\loves{猫}{鱼}

\hatedby{狗}{猫}

\love{猪}{喜欢}{狗}
\end{document}