精华内容
下载资源
问答
  • 2022-01-03 21:43:09

    请添加图片描述
    请添加图片描述
    请添加图片描述
    请添加图片描述

    更多相关内容
  • CVPR顶会等期刊中文Latex模板,支持windows10上的pdfLatex等编译器,为中文Latex模板,且是分为双页的
  • Latex官方教程.pdf

    2019-01-08 03:10:17
    这是Latex官方教程,欢迎大家查看下载,Latex是一种排版系统,它非常适用于生成高印刷质量的科技和数学类文档
  • 包含IEEE,spring各种latex模版,内容非常齐全,读研所集齐给大家分xiang
  • 2021数模美赛LATEX模板,美赛必备,CTeX,Texlive都可以用~~~~~年份可以任意修改
  • LaTeX2e完全学习手册_第二版.pdf LaTeX2e完全学习手册_第二版.pdf LaTeX2e完全学习手册_第二版.pdf LaTeX2e完全学习手册_第二版.pdf
  • LaTeX详细教程+技巧总结

    万次阅读 多人点赞 2020-11-29 20:10:11
    LaTeX技巧总结,包含LaTeX工具,LaTeX模板,LaTeX技巧,LaTeX基础,文章架构,字体、大小和颜色,链接,列表,图片,表格,数学公式,算法(伪代码),代码块,论文写作,等等。

    前言

    若想学习Markdown,请参见我的另一篇博客:Markdown详细教程+技巧总结
    若想直接学习LaTeX数学公式,请参见我的另一篇博客:LaTeX数学公式-详细教程

    本篇文章介绍LaTeX的基本用法,并有自己的经验和总结。另外,可以从LaTeX的官方文档进行学习,官方文档大部分是英文文档,链接:LaTeX在线文档LaTex宏包文档

    本篇文章内容包含LaTeX工具,LaTeX模板,LaTeX技巧,LaTeX基础,文章架构,字体、大小和颜色,链接,列表,图片,表格,数学公式,算法(伪代码),代码块,论文写作,等等。

    LaTeX工具

    介绍

    LaTeX工具分为在线工具和本地工具,本地工具又分为前台和后台。在线工具推荐Overleaf,本地工具推荐前台使用TeXStudio,后台推荐使用TeXLive(后台工具有TeXLive,MikTeX,CTeX等)。

    各个后台的比较:TeXLive有跨平台的性质,适用于Linux、Mac以及Windows系统;TeXLive是完全安装,大小大概为5G左右;每年有一次更新。TeXStudio只适用于Windows系统;它只安装基本的东西,其他任何需要的东西可以动态安装;只有发生重大变化时才会更新。CTeX只适用于Windows系统;默认编码不是UTF-8;已经不再维护,不再更新了,容易出Bug。

    可以根据需求选择合适的本地后台,若觉得安装配置比较麻烦,则可以使用Overleaf在线工具,有网络即可使用,更重要的是国内也可以使用,并支持中文界面。详细使用方法在下文介绍。

    Overleaf(推荐)

    网址:Overleaf
    注册账户并登录后即可使用。

    使用流程

    点击New Project后还可以使用Templates模板,如下图:
    在这里插入图片描述
    新建项目后,左边为源代码视图,右边为预览视图。可以点击左上角的Menu下载源文件,PDF文件,或设置编译器,如下图:
    在这里插入图片描述
    展开Recompile按钮可以设置自动编译,并忽略语法检查,如下图:
    在这里插入图片描述

    切换界面语言

    方法1

    点击Overleaf界面左下角的国旗标志可以切换界面语言,切换成中文的操作如下图:
    在这里插入图片描述

    方法2

    直接更改网址如下:https://cn.overleaf.com/project
    即可切换界面语言为中文。

    更改编译器

    在项目菜单设置中可以更改,如下图:
    在这里插入图片描述

    文档定位

    在项目中线顶部有2个箭头样式的按钮,可以使tex文档和PDF文档相互定位,如下图:
    在这里插入图片描述
    补充:
    左键双击PDF文档的特定位置,tex文档会跳转到对应位置。

    快捷键

    Overleaf内置了很多快捷键,本人分类为常用快捷键和全部快捷键如下:

    常用快捷键
    Ctrl+B:粗体
    Ctrl+I:斜体
    Ctrl+/:注释
    Ctrl+Z:撤销
    Ctrl+Y:重做
    Ctrl+F:查找和替换
    Ctrl+Home:到文档顶部
    Ctrl+End:到文档底部
    Ctrl+S:重新编译
    Ctrl+Enter:重新编译

    全部快捷键
    可以在Overleaf项目中点击菜单中的快捷键选项查看,如下图:

    2021年5月
    在这里插入图片描述

    TeXLive和TeXStudio

    安装及配置详情可参见其他人的博客:LaTeX新手入门以及TeXlive和TeXstudio的安装使用

    本人一般使用在线工具Overleaf,因此个人教程暂略,后期若安装本地环境再进行完善。

    LaTeX模板

    LaTeX有很多模板,可以直接使用,方便用户排版。

    Overleaf中一些常用模板,包含Project,Resume,Homework,Letter,Memo,Poster,Book,Journal,Thesis。

    用户可以直接在Overleaf中使用,也可以下载到本地进行使用。

    LaTeX技巧

    LaTeX

    LaTeX编辑器中,内置了一个语句,用来展现LaTeX的Logo,代码和效果如下:

    代码:

    \LaTex
    

    显示:
    在这里插入图片描述

    中文支持

    无论是在线工具还是本地工具,LaTeX默认都是不支持中文的,因此需要在源代码和配置上稍作修改才可以让LaTeX支持中文,步骤如下:

    1. 编译器配置:XeLaTeX
    2. tex文件编码:utf-8
    3. 代码开头添加:
      方式1(推荐):添加宏包
      % -- coding: UTF-8 --
      \usepackage[UTF8]{ctex}
      
      方式2:设置文档类型
      % -- coding: UTF-8 --
      \documentclass[UTF8]{ctexart}
      

    首行缩进

    进行缩进

    若LaTeX默认没有段首缩进,因此要首行缩进需要进行修改。在导言区加入如下代码(距离单位一般为ptempt是绝对单位;em是相对单位,表示1个中文字符宽度;本人比较喜欢em):

    % 使用indentfirst宏包
    \usepackage{indentfirst}
    % 设置首行缩进距离
    \setlength{\parindent}{2em}
    

    不进行缩进

    若LaTeX已经是段首缩进的,因此要段首不进行缩进需要进行修改。

    方式1(推荐): 单段取消缩进,放在段首即可。

    \noindent
    

    方式2: 全局取消缩进,在想缩进的段落再进行缩进。
    放在导言区:

    \setlength{\parindent}{0pt}
    

    放在想要缩进的段落:

    \hspace*{2em}段落\\
    

    显示下划线

    方法1
    使用转义字符:\_

    方法2
    使用LaTeX命令:\textunderscore

    方法3
    导入宏包:\usepackage{underscore}

    例子1(方法1和2):

    a\_b
    
    a\textunderscore b
    

    显示:
    在这里插入图片描述

    例子2(方法3):

    \usepackage{underscore}
    
    a_b
    

    显示:
    在这里插入图片描述

    LaTeX基础

    导言区与正文区

    begin{document}end{document}之间的就是正文区,而在这之前的就是导言区。

    文档类型

    \documentclass{article}是确定了文档类型为article,一般LaTeX提供三种基本文档,此外两种是reportbook。三者分别用来写小篇幅的文章、中篇幅的报告和长篇幅的书籍。

    宏包

    LaTeX导言区可以导入各种宏包,以使用相应宏包的功能,一条语句中可以导入多个宏包,语法如下:

    \usepackage{宏包1, 宏包2}
    

    常用的宏包:
    ctex:中文支持
    amsmath:latex数学公式支持
    graphicx:插入图片
    algorithm和algorithmic:算法排版
    listings:插入代码块
    等等

    编译器

    LaTeX的编译器有pdfLaTeXLaTeXXeLaTeXLuaLaTeX,在设置中可以进行更改。Overleaf默认的编译器为pdfLaTeX,因此要使其支持中文需要改为XeLaTeX

    注释

    Overleaf等工具中可以使用快捷键Ctrl+/来批量注释或批量取消注释。

    单行注释

    % 注释内容
    

    多行注释

    方式1(推荐):

    \iffalse
    注释内容
    \fi
    

    方式2:
    使用\usepackage{verbatim}宏包

    \begin{comment}
    注释内容
    \end{comment} 
    

    英文引号

    在LaTeX中输入英文引号时,导出的PDF显示的是顺撇的,如下:

    代码:

    'English'
    
    ''English''
    

    显示:
    在这里插入图片描述
    要想正确输入英文引号,把左侧的引号用 ` 代替即可,如下:

    代码:

    `English'
    
    ``English''
    

    显示:
    在这里插入图片描述

    空格

    LaTeX支持

    空格方式源代码显示宽度
    quad空格a \quad b a b a \quad b ab1个中文字符的宽度
    qquad空格a \qquad b a b a \qquad b ab2个中文字符的宽度
    大空格a\ b a   b a\ b a b1/3字符宽度
    没有空格ab a b ab ab

    LaTeX数学公式支持

    除上述空格以外,还支持如下空格:

    空格方式源代码显示宽度
    中等空格$a\;b$ a    b a\;b ab2/7字符宽度
    小空格$a\,b$ a   b a\,b ab1/6字符宽度
    紧贴$a\!b$ a  ⁣ b a\!b ab缩进1/6字符宽度

    换行

    \\:换行,一般在一行的最后写。
    \\[offset]:换行,并且与下一行的行间距为原来行间距+offset,offset单位一般是empt

    换段

    源代码空一行即可进行换段(推荐)。
    也可以使用代码\par进行换段,一般在一段的最后写。

    新页

    使用\newpage进行换页,一般在一页的最后写。

    转义字符

    写法:\+字符

    用途:当某些特殊字符与LaTeX语法冲突时,使用转义字符可以使字符强制显示。

    示例:\%,可以显示出百分号,而不是注释的含义;\_,显示下划线,而不是下标;\^显示符号本身,而不是上标。

    例子:

    \%home\_name\%=honor
    

    显示:
    在这里插入图片描述
    补充:若想不使用转义字符显示下划线,有2种方法,详情请见 LaTeX技巧-显示下划线 章节。

    可选参数[htbp]

    LaTeX插入图片、表格等元素时,第一行后面有一个可选参数[htbp],例如,\begin{figure}[htbp]

    [htbp]是个可选参数项,允许用户指定图片、表格等元素被放置的位置。这一可选参数项可以是下列字母的任意组合。

    h(here): 当前位置;将图形放置在 正文文本中给出该图形环境的地方。如果本页所剩的页面不够, 这一参数将不起作用。
    t(top): 顶部;将图形放置在页面的顶部。
    b(bottom): 底部;将图形放置在页面的底部。
    p(page): 浮动页;将图形放置在一只允许有浮动对象的页面上。

    注意:在使用这些参数时:

    1. 如果在图形环境中没有给出上述任一参数,则缺省为 [tbp]
    2. 给出参数的顺序不会影响到最后的结果。因为在考虑这些参数时LaTeX总是尝试以 h-t-b-p 的顺序来确定图形的位置。所以 [hb][bh] 都以h-b 的顺序来排版。
    3. 给出的参数越多,LaTeX的排版结果就会越好。[htbp], [tbp], [htp], [tp] 这些组合得到的效果不错,[h]也是常用的选择。

    文章架构

    纸张布局

    % 设置页面的环境,a4纸张大小,左右上下边距信息
    \usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}
    

    标题级别

    例子:

    \section{一级标题}
    \subsection{二级标题} 
    \subsubsection{二级标题} 
    

    显示:
    在这里插入图片描述

    标题、作者、时间

    注意:\maketitle这一行一定要在\begin{document}的后面,否则LaTeX会判定为语法错误。

    例子:

    \documentclass{article} % article 文档
    \usepackage[UTF8]{ctex}  % 使用宏包(为了能够显示汉字)
    % 设置页面的环境,a4纸张大小,左右上下边距信息
    \usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}
    
    \title{NSJim的文章}  % 文章标题
    \author{NSJim}   % 作者的名称
    \date{\today}       % 当天日期
    
    % 正文开始
    \begin{document}
    
    \maketitle          % 添加这一句才能够显示标题等信息
    
    % 正文结束
    \end{document}
    

    显示:
    在这里插入图片描述

    摘要

    \maketitle下添加内容,如下:

    \maketitle          %添加这一句才能够显示标题等信息
    %摘要开始部分
    \begin{abstract}
    该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。
    \end{abstract}
    

    显示:
    在这里插入图片描述

    引用、脚注

    引用:写在\begin{quote}\end{quote}之间。
    脚注:在需要添加脚注的文字后添加\footnote{脚注内容}即可。

    例子:

    西游记\footnote{中国古典四大名著之一}小说开头写道:
    \begin{quote}
    {\kaishu 东胜神洲有一花果山,山顶一石,受日月精华,生出一石猴。之后因为成功闯入水帘洞,被花果山诸猴拜为“美猴王”。}
    \end{quote}
    

    显示
    在这里插入图片描述
    在这里插入图片描述

    架构

    标题设置:一级标题\section{},耳机标题\subsection{},三级标题\subsubsection{}
    段落设置:在一段的最后添加\par代表一段的结束;
    目录设置:在\begin{document}内容中添加:\tableofcontents

    以下为一个示例:

    \documentclass{article} % article 文档
    \usepackage[UTF8]{ctex}  % 使用宏包(为了能够显示汉字)
    % 设置页面的环境,a4纸张大小,左右上下边距信息
    \usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]{geometry}
    
    \title{NSJim的文章}  % 文章标题
    \author{NSJim}   % 作者的名称
    \date{\today}       % 当天日期
    
    % 正文开始
    \begin{document}
    
    \maketitle          % 添加这一句才能够显示标题等信息
    
    % 生成目录设置
    \renewcommand{\contentsname}{目录} %将content转为目录
    \tableofcontents
    
    % 摘要开始部分
    \begin{abstract}
    该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。
    \end{abstract}
    
    % 标题开始
    \section{一级标题1}
    第一段一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容。\par
    第二段一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容。
    
    \subsection{二级标题1.1}
    二级标题下的内容。
    
    \subsubsection{三级标题下的内容1.1.1}
    三级标题下的内容。
    
    \section{一级标题2}
    一级标题2中的内容
    
    % 正文结束
    \end{document}
    

    显示:
    在这里插入图片描述

    字体,大小,颜色

    字体

    使用代码:{\字体 内容}(推荐),有时可使用\字体{内容}(不推荐,容易出问题)。

    例子:

    {\songti 宋体}
    {\heiti 黑体}
    {\fangsong 仿宋}
    {\kaishu 楷书}
    
    {\bf 粗体}
    {\it 斜体}
    {\sl 斜体}
    
    \textbf{粗体}
    \textit{斜体}
    \textsl{斜体}
    

    显示:
    在这里插入图片描述

    大小

    例子:

    {\tiny Hello} \\
    {\scriptsize Hello} \\
    {\footnotesize Hello} \\
    {\small Hello} \\
    {\normalsize Hello} \\
    {\large Hello} \\
    

    显示:
    在这里插入图片描述
    颜色

    需要导入宏包\usepackage{xcolor}

    \documentclass{article}
    \usepackage[UTF8]{ctex}
    \usepackage{color,xcolor}
    
    \setlength{\parindent}{0pt}
    
    % 预先定义好的颜色: red, green, blue, white, black, yellow, gray, darkgray, lightgray, brown, cyan, lime, magenta, olive, orange, pink, purple, teal, violet.
    
    % 定义颜色的5种方式
    \definecolor{light-gray}{gray}{0.95}    % 1.灰度
    \definecolor{orange}{rgb}{1,0.5,0}      % 2.rgb
    \definecolor{orange}{RGB}{255,127,0}    % 3.RGB
    \definecolor{orange}{HTML}{FF7F00}      % 4.HTML
    \definecolor{orange}{cmyk}{0,0.5,1,0}   % 5.cmyk
    
    \begin{document}
    
    % \pagecolor{yellow}          %设置背景色为黄色
    
    % 使用颜色的常用方式
    \textcolor{green}{绿色} % textcolor+颜色
    \color{orange}{橙色} % color+颜色
    \textcolor[rgb]{0,1,0}{绿色} % textcolor+rgb
    \color[rgb]{1,0,0}{红色} % color+rgb
    
    % 使用底色
    \colorbox{red}{\color{black}红底黑字}
    \fcolorbox{red}{green}{红框绿底} % 框色+背景色
    
    \end{document} 
    

    显示:
    在这里插入图片描述

    链接

    导入宏包:\usepackage{url}
    插入超链接:\url{www.baidu.com}

    列表

    未完,待续。

    图片

    可选参数[htbp]

    LaTeX插入图片、表格等元素时,第一行后面有一个可选参数[htbp],例如,\begin{figure}[htbp]

    [htbp]是个可选参数项,允许用户指定图片、表格等元素被放置的位置。这一可选参数项可以是下列字母的任意组合。

    h(here): 当前位置;将图形放置在 正文文本中给出该图形环境的地方。如果本页所剩的页面不够, 这一参数将不起作用。
    t(top): 顶部;将图形放置在页面的顶部。
    b(bottom): 底部;将图形放置在页面的底部。
    p(page): 浮动页;将图形放置在一只允许有浮动对象的页面上。

    注意:在使用这些参数时:

    1. 如果在图形环境中没有给出上述任一参数,则缺省为 [tbp]
    2. 给出参数的顺序不会影响到最后的结果。因为在考虑这些参数时LaTeX总是尝试以 h-t-b-p 的顺序来确定图形的位置。所以 [hb][bh] 都以h-b 的顺序来排版。
    3. 给出的参数越多,LaTeX的排版结果就会越好。[htbp], [tbp], [htp], [tp] 这些组合得到的效果不错,[h]也是常用的选择。

    单张图片

    需要导入宏包:\usepackage{graphicx}

    例子:

    %开始插入图片
    \begin{figure}[htbp] % htbp代表图片插入位置的设置
    \centering %图片居中
    %添加图片;[]中为可选参数,可以设置图片的宽高;{}中为图片的相对位置
    \includegraphics[width=6cm]{image.jpg}
    \caption{达尔文游戏} % 图片标题
    \label{pic1} % 图片标签
    \end{figure}
    

    显示:
    在这里插入图片描述

    多张图片

    并排插入两张图片
    方式1:图片编号增加1
    两张图片公用一个大的图题,图片的编号只增加一个。

    \begin{figure}[ht]
    \centering
    \subfigure[11-1]{               %小图题的名称
    \includegraphics[width=4cm]{11-1}}
    \hspace{10pt}  %2张图片的水平距离
    \subfigure[11-2]{
    \includegraphics[width=4cm]{11-2}}
    \caption{两张图片公用的图题}
    \end{figure}
    

    方式2:图片编号增加2
    每张图片有自己的图题,这种方法会使LaTeX中图片的编号顺序向后增加。

    \begin{figure}[h]
    \begin{minipage}[t]{0.45\linewidth}
    \centering
    \includegraphics[width=5.5cm,height=3.5cm]{10}
    \caption{第一张图片的图题.}
    \end{minipage}
    \begin{minipage}[t]{0.45\linewidth}        %图片占用一行宽度的45%
    \hspace{10pt}
    \includegraphics[width=5.5cm,height=3.5cm]{11}
    \caption{第二章图片的图题.}
    \end{minipage}
    \end{figure}
    

    并排插入多张图片

    \begin{figure}
    \centering
    {
    \includegraphics[width=2.5cm]{10-1}}
    \hspace{10pt}    %每张图片水平距离
    {
    \includegraphics[width=2.5cm]{10-2}}
    \hspace{10pt}
    {
    \includegraphics[width=2.5cm]{10-3}}
    \hspace{10pt}
    {
    \includegraphics[width=2.5cm]{10-4}}
    \hspace{10pt}
    \caption{并排插入4张图片}
    \end{figure}
    

    竖排插入多张图片

    \begin{figure}[h]
    \centering
    \subfigure[场景1]{
    \begin{minipage}[t]{0.45\textwidth}
    \centering
    \includegraphics[width=0.8\textwidth]{wolf2} \\
    \vspace{10pt} %2张图片的垂直距离
    \includegraphics[width=0.8\textwidth]{wolf3}
    \end{minipage}
    \end{figure}
    }
    

    表格

    技巧:若不想手动输入LaTeX语法生成表格,可以使用在线生成LaTeX表格的网站。可以从Excel里面粘贴或导入,可以实现单元格合并,而且会在合并行或合并列的时候提醒要引入对应的宏包。
    网址:https://www.tablesgenerator.com/

    当然,也可以使用LaTeX语法生成表格,示例如下:

    例子:

    \begin{table}[htbp] % htbp代表表格浮动位置
    % 表格居中
    \centering
    % 添加表头
    \caption{变量表}
    % 创建table环境
    \begin{tabular}{|cc|c|} % 3个c代表3列都居中,也可以设置l或r,|代表竖线位置
    % 表格的输入
    \hline  % 一条水平线
    x & y & z \\ % \\为换行符
    \hline
    11 & 22 & 33 \\
    \hline
    \end{tabular}
    \end{table}
    

    显示:
    在这里插入图片描述

    数学公式

    公式支持

    LaTeX要输入数学公式需要导入宏包\usepackage{amsmath};若要对公式的字体进行修改,还需要引入宏包\usepackage{amsfonts}

    LaTeX数学公式的各种细节请参见我的另一篇博客:LaTeX数学公式-详细教程

    1. 官方文档:
      传送门:官方文档
      网址:https://math.meta.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
    2. 中文教程:
      传送门:中文教程
      网址:https://www.jianshu.com/p/25f0139637b7
    3. 技巧:使用在线LaTeX公式编辑器,来生成LaTeX公式代码,然后复制到Markdown编辑器中,并在两边加上$$$即可。
      在线LaTeX公式编辑器网址:https://private.codecogs.com/latex/eqneditor.php
    4. 插入公式
      左对齐公式(行中公式):$数学公式$
      居中公式(独立公式):$$数学公式$$
      注意:使用$行中公式时,数学公式$连接处不要有空格,否则公式不会显示;使用$$居中公式时,数学公式$$连接处可以有空格。即$ 数学公式 $ 不显示公式。
    5. 注释:%为单行注释,例子详见后文。
    6. 细节:请参见我的另一篇博客:LaTeX数学公式-详细教程

    注意事项

    1. 使用$,即行中公式时,数学公式$连接处不要有空格,否则公式不会显示。
    2. 使用$$,即居中公式时,数学公式$$连接处可以有空格。即$ 数学公式 $ 不显示公式。
    3. 使用$$时,上方要空一行。
    4. =不要单独打一行,否则可能会出错。
    5. + - * / = ( ) | , . '等符号直接在$$$之间输入即可识别。

    公式编号

    自动编号

    使用\begin{equation}\end{equation}进行公式输入,要同时使用,且编号不能够修改。

    例子:

    \begin{equation}
    a^2+b^2=c^2
    \end{equation}
    

    显示:
    在这里插入图片描述

    手动编号

    在公式末尾使用\tag{编号}来实现公式手动编号,大括号内的内容可以自定义。需要使用\usepackage{amsmath}宏包,不能写在$$$中,会报错。

    例子:

    \begin{equation}
    a^2+b^2=c^2
    \tag{2}
    \end{equation}
    

    显示:
    在这里插入图片描述

    自定义标题样式

    在导言区使用\newtheorem{example}{Example}[section]可以自定义标题样式,例子如下。

    例子:

    \newtheorem{example}{Example}[section] % 自定义example样式
    
    \begin{document}
    
    \maketitle
    
    \section{Introduction}
    
    \begin{example}{Test1}
    
    Hello world!
    
    \end{example}
    
    \begin{example}{Test2}
    
    Hello world!
    
    \end{example}
    
    \end{document}
    

    显示:
    在这里插入图片描述

    算法(伪代码)

    需要使用\usepackage{algorithm}\usepackage{algorithmic}宏包,iffor等关键字要按照规范书写,如\IF \ENDIF

    例子:

    \documentclass{article}
    \usepackage[UTF8]{ctex}
    \usepackage{algorithm} % 排版算法
    \usepackage{algorithmic} % 排版算法
    
    \title{Algorithm}
    \author{NSJim Green}
    \date{October 2020}
    
    \begin{document}
    
    \maketitle
    
    \section{Algorithm 1}
    
    \begin{algorithm}
    \caption{CheckSum(A,x)} %算法标题
    \label{alg2} %标签
    \begin{algorithmic} %算法开始
    \STATE {\bf Input:} An array A and a value x  %也可以用\textbf{Input:}
    \STATE {\bf Output:} A bool value show if there is two elements in A whose sum is x
    \STATE A $\gets$ SORT(A)
    \STATE n $\gets$ length(n)
    \FOR{i $\gets$ 0 to n}
        \IF{Binary-search(A,x-A[i],1,n)}
        \STATE return true
        \ENDIF
    \ENDFOR
    \STATE return false
    \end{algorithmic}
    \end{algorithm}
    
    \end{document}
    

    显示:
    在这里插入图片描述

    代码块

    基础用法

    使用\usepackage{listings}宏包,并使用\lstset{}进行基础设置,然后使用\begin{lstlisting}[language=xxx]\end{lstlisting}插入代码块。

    基础设置包括行号,不显示字符串空格,代码块边框,不包含颜色等设置,要设置颜色和字体请见下文的高级用法。

    例子:

    \documentclass{article}
    \usepackage[UTF8]{ctex}
    \usepackage{listings}
    
    % 代码块基础设置
    \lstset{
    numbers=left,                          	% 在左侧显示行号
    showstringspaces=false,        			% 不显示字符串中的空格
    frame=single,                         	% 设置代码块边框
    }
    
    \title{Code block}
    \author{NSJim Green}
    \date{October 2020}
    
    \begin{document}
    
    \maketitle
    
    \section{C Language}
    
    \begin{lstlisting}[language=c]
    #include <stdio.h>
    
    // main function
    int main() {
        printf("Hello World!");
        return 0;
    }
    \end{lstlisting}
    
    \end{document}
    

    显示:
    在这里插入图片描述

    高级用法

    使用\usepackage{listings}\usepackage{xcolor}宏包,并使用\lstset{}进行高级设置,然后使用\begin{lstlisting}[language=xxx]\end{lstlisting}插入代码块。

    高级设置除基础设置外,还包括关键字格式,字符串格式等设置。

    例子:

    \documentclass{article}
    \usepackage[UTF8]{ctex}
    \usepackage{listings}
    \usepackage{xcolor}
    
    % 代码块高级设置
    \lstset{
    % basicstyle=\footnotesize,                 % 设置整体的字体大小
    showstringspaces=false,                     % 不显示字符串中的空格
    frame=single,                               % 设置代码块边框
    numbers=left,                               % 在左侧显示行号
    % numberstyle=\footnotesize\color{gray},    % 设置行号格式
    numberstyle=\color{darkgray},               % 设置行号格式
    backgroundcolor=\color{white},              % 设置背景颜色
    keywordstyle=\color{blue},                  % 设置关键字颜色
    commentstyle=\it\color[RGB]{0,100,0},       % 设置代码注释的格式
    stringstyle=\sl\color{red},                 % 设置字符串格式
    }
    
    \title{Code block}
    \author{NSJim Green}
    \date{October 2020}
    
    \begin{document}
    
    \maketitle
    
    \section{C Language}
    
    \begin{lstlisting}[language=c]
    #include <stdio.h>
    
    // main function
    int main() {
        printf("Hello World!");
        return 0;
    }
    \end{lstlisting}
    
    \end{document}
    

    显示:
    在这里插入图片描述

    论文写作

    模板

    论文写作可以使用合适的模板,例如IEEE的模板,只需在文档类型处修改即可,代码如下:

    \documentclass[conference]{IEEEtran}
    

    双栏

    更改文档的单双栏模式,只需更改文档类型处的选项即可,代码如下:
    单栏:

    \documentclass[onecolumn]{article}
    

    双栏:

    \documentclass[twocolumn]{article}
    

    跨栏图表

    在双栏编辑模式下,图片只能在一栏中显示,而且如果图片的宽度超过单栏文本宽度,则只能显示其中一部分,剩下的部分会溢出。

    若想在双栏模式下插入跨栏图表可将环境替换为带*figuretable环境,代码如下:

    \begin{figure*}
    ……
    \end{figure*}
    或
    \begin{talbe*}
    ……
    \end{table*}
    

    无自动编号的标题

    LaTeX中的标题都是自动编号的,若想使用无编号的标题,可使用带*section代码,如下:

    \section*{References}
    

    引用

    LaTeX中的公式,图表,参考文献都是自动编号的,添加\label语句后可以进行引用,还可以设置引用格式,使用方法如下:

    公式引用

    需导入amsmath宏包,代码为\usepackage{amsmath}

    公式

    \begin{equation}
    z=x+y
    \label{eq1}
    \end{equation}
    

    引用

    Eq. (\ref{eq1})
    或导入amsmath宏包,使用如下代码(推荐):
    Eq. \eqref{eq1}
    

    图片引用

    需导入graphicx宏包,代码为\usepackage{graphicx}

    图片

    \begin{figure}[htbp]
    \centering
    \includegraphics[width=8cm]{image/fig01-network model.png}
    \caption{Network model.}
    \label{fig1}
    \end{figure}
    

    引用

    Fig. \ref{fig01}
    

    表格引用

    表格

    \begin{table}[htbp]
    \caption{Parameters for simulation}
    \begin{center}
    \begin{tabular}{|c|c|c|c|}
    \hline
    \textbf{Parameters}&\textbf{Values} \\
    \hline
    Count of Nodes & 2 to 160 \\
    Simulation time & 60s \\
    Layer used & Logical Link Layer \\
    Type of Antenna & Omni Directional \\
    Queue type & Drop tail \\
    MAC & 802.11 \\
    \hline
    \end{tabular}
    \label{tab1}
    \end{center}
    \end{table}
    

    引用

    Table. \ref{tab1}
    

    参考文献引用

    参考文献

    \begin{thebibliography}{00}
    \bibitem{b1} Ben-Othman J, Yahya B. Energy efficient and QoS based routing protocol for wireless sensor networks. J Parallel Distrib Comput 2010;2010(70):849–57.
    \bibitem{b2} Younis M, Youssef M, Arisha K. Energy-aware routing in cluster-based sensor networks. In: Proceedings of the IEEE 20th international symposium on modeling, analysis and simulation of computer and telecommunication systems; 2012. p. 0129. https://doi.org/10.1109/MASCOT.2002.1167069.
    \bibitem{b3} Al-Karaki JN, Kamal AE. Routing techniques in wireless sensor networks: a survey. IEEE J Wirel Commun 2004;11(6):6–28. 2004.
    \end{thebibliography}
    

    引用

    \cite{b1}
    \cite{b2}
    \cite{b3}
    

    改变引用颜色

    改变引用颜色前最好在导言区导入xcolor宏包,代码为\usepackage{xcolor}
    改变引用颜色需要在导言区添加如下代码:

    \usepackage[colorlinks,bookmarksopen,bookmarksnumbered,citecolor=green, linkcolor=red, urlcolor=blue]{hyperref}
    

    citecolor为参考文献颜色,linkcolor为图表和公式引用的颜色,urlcolor为超链接颜色。各颜色可根据偏好或要求自行更改。

    显示效果如下:
    在这里插入图片描述

    展开全文
  • springer latex 模板

    2014-12-22 20:26:31
    springer杂志的latex模板,代码很详尽,有需要的就下吧
  • 本人小白,初学LaTeX,仿照中国学术期刊修改的LaTeX模板,如有意见,欢迎指导
  • 2021版VSCode 配置 LaTeX 环境 保姆级教程

    千次阅读 多人点赞 2022-01-04 13:01:20
    微软最近推出了自己开发的编程软件visual studio code ,这款轻量级的开源编程软件,这款软件不仅可以在其上面使用python,还可以搭载各种运行环境,比如经常用的Latex、Matlab、Freefem、C++ 等软件,都可以在vs ...
       微软最近推出了自己开发的编程软件visual studio code ,这款轻量级的开源编程软件,这款软件不仅可以在其上面使用python,还可以搭载各种运行环境,比如经常用的Latex、Matlab、Freefem、C++ 、python等软件,都可以在vs code上使用,实在是太强大了。
       每次在使用这些第三方软件之前,都需要配置其运行环境,并且vs code更新的频率也很快,所以代码的部分语言也需要实时更新,作者是一个小白,所以要把这些好用的教程(windows版和mac版)和编程记录下来,方便以后修改。
    

    主要分为以下几块内容:

    1. VSCode下载安装与中文环境配置

    1.1 VSCode下载安装

    1.2 VSCode环境配置

    1.3 安装Sumatra PDF

    1.4 下载并安装Textlive编译器

    1.5 在VSCode上配置Latex环境

    1.6 测试环节

    2. VSCode配置Latex环境(mac版教程)

    正文开始

    一、vs code 下载安装与中文环境配置

    1.1 vs code下载安装

    vs code 安装很简单不再多说,搜索官方网站 link_1,选择适合自己的版本安装。
    居中的图片: Alt

    1.2 vs code 语言环境

    这个轻量级的软件安装以后界面如下:
    Alt
     一般的软件我们设置语言,直接就是在设置里找到语言选项,找到中文切换回来就好,但vs code的语言设置需要这样子操作:

    • 快捷键 【control + shift + p】 会弹出以下搜索框
      Alt

    • 在搜索框内输入【language】会出现这个选项【Configure Display Language】,点击确定。
      Alt

    • 接着选择【zh-cn】,按照提示重启,就切换成了中文界面。
      Alt
      中文界面如下:
      Alt
      到这里,我们就把vs code安装并且配置完毕。

    1.3 安装Sumatra PDF

    找到Sumatra PDF官方网站 link_2,这个软件安装是最简单的,很大部分的软件安装过程相似,但是一定要记住安装路径,因为下面会需要安装路径,我们要配置到vs code 上。

    1.4 下载并安装textlive编译器

    如果要安装textive编译器(windows),有两个镜像网站阿里云开源镜像网站 link_3、华为开源 link_4可以下载。界面分别如下:

    • 阿里云开源镜像网站 link_3
      Alt
    • 华为开源 link_4
      Alt
      找到【textlive2021】下载,下载时长约十分钟左右。

    等待下载完成后就是安装过程。

    • 打开【textlive2021】镜像文件,找到【install-tl-windows】,右键【以管理员身份打开】。
      Alt
    • 等几秒后出现一下界面:点击左下角的【advanced】;
      Alt
    • 点击左下角的【customize】;
      Alt
    • 左边一列是语言一列,只选取我们需要的【中文】和【英文】即可,其他的语言包可以去掉,这样可以节省1G的文件内存。之后点击【确定】。
      Alt
    • 找到右下角的【安装texworks前端】,这个选项可以取消,也可以保留,不过既然都已经选择使用vs code编辑latex了,我想也不会使用【texworks】编辑。

    Alt

    • 之后就是漫长的安装时间,安装时间大约半个小时左右,安装好以后关掉软件即可。

    1.5 在vs code上配置latex环境

    接下来进入关键的一步,在vs code 上配置latex环境,第一步已经将latex调整为中文界面,接下来打开你的vscode。

    首先我们需要先安装插件【latex workshop】,找到界面左边一列的【拓展】;Alt

    • 搜索【latex workshop】并安装;
      Alt
    • 下一步,点击左下角的齿轮⚙️ 打开【设置】
      Alt
    • 在【设置】中的【拓展】找到【JSON】,点击【在settings.json中编辑】。
      Alt
    • 将下列的代码复制到输入框;保存并关闭。那么配置过程就配置完毕!
      Alt
      配置代码如下:
        代码每一行的命令都有注释,不清楚的也可以在vs code上将光标放到程序上,vs code也会解释代码的含义,注意,代码需要更改的地方是你的软件的位置,这个很重要,一定要修改成你电脑上的软件所在路径。
    {
        //使用 SumatraPDF 预览编译好的PDF文件
        // 设置VScode内部查看生成的pdf文件
        // PDF查看器用于在\ref上的[View on PDF]链接
        "latex-workshop.view.pdf.ref.viewer":"auto",
        // 使用外部查看器时要执行的命令。此功能不受官方支持。
        "latex-workshop.view.pdf.external.viewer.command": "C:/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        // 使用外部查看器时,latex-workshop.view.pdf.external.view .command的参数。此功能不受官方支持。%PDF%是用于生成PDF文件的绝对路径的占位符。
        "latex-workshop.view.pdf.external.viewer.args": [
            "%PDF%"
        ],
        // 将synctex转发到外部查看器时要执行的命令。此功能不受官方支持。
        "latex-workshop.view.pdf.external.synctex.command": "C:/SumatraPDF/SumatraPDF.exe", // 注意修改路径
        // latex-workshop.view.pdf.external.synctex的参数。当同步到外部查看器时。%LINE%是行号,%PDF%是生成PDF文件的绝对路径的占位符,%TEX%是触发syncTeX的扩展名为.tex的LaTeX文件路径。
        "latex-workshop.view.pdf.external.synctex.args": [
            "-forward-search",
            "%TEX%",
            "%LINE%",
            "-reuse-instance",
            "-inverse-search",
            "\"C:/Microsoft VS Code/Code.exe\"\" \"C:/Microsoft VS Code/resources/app/out/cli.js\" -r -g \"%f:%l\"", // 注意修改路径
            "%PDF%"
        ],
        "editor.minimap.enabled": true, //控制是否显示缩略图。
        //定义要在配方中使用的 LaTeX 编译工具。每个工具都标有其名称。 
        //调用时,命令会使用 args 中定义的参数和 env 中定义的环境变量生成。 
        //通常,除非在路径中,否则每个参数中不应出现空格。
        //占位符 %DOC%、%DOC_W32%、%DOC_EXT%、%DOC_EXT_W32%、%DOCFILE%、%DOCFILE_EXT%、%DIR%、%DIR_W32%、%TMPDIR% 和 %OUTDIR%、%OUTDIR_W32% 可用.
        "latex-workshop.latex.tools": [
            {
              "name": "latexmk",
              "command": "latexmk",
              "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "-pdf",
              "%DOC%"
              ]
            },
            {
              "name": "xelatex",
              "command": "xelatex",
              "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "%DOC%"
                ]
            },          
            {
              "name": "pdflatex",
              "command": "pdflatex",
              "args": [
              "-synctex=1",
              "-interaction=nonstopmode",
              "-file-line-error",
              "%DOC%"
              ]
            },
            {
              "name": "bibtex",
              "command": "bibtex",
              "args": [
              "%DOCFILE%"
              ]
            }
          ],
      "latex-workshop.latex.recipes": [
            {
              "name": "xelatex",
              "tools": [
              "xelatex"
                          ]
                    },
            {
              "name": "latexmk",
              "tools": [
              "latexmk"
                          ]
            },
    
            {
              "name": "pdflatex -> bibtex -> pdflatex*2",
              "tools": [
              "pdflatex",
              "bibtex",
              "pdflatex",
              "pdflatex"
                          ]
            }
          ],
      "latex-workshop.view.pdf.viewer": "tab",
      "latex-workshop.latex.clean.enabled": true,
      "latex-workshop.latex.clean.fileTypes": [
          "*.aux",
          "*.bbl",
          "*.blg",
          "*.idx",
          "*.ind",
          "*.lof",
          "*.lot",
          "*.out",
          "*.toc",
          "*.acn",
          "*.acr",
          "*.alg",
          "*.glg",
          "*.glo",
          "*.gls",
          "*.ist",
          "*.fls",
          "*.log",
          "*.fdb_latexmk"
        ],
        //设置为onFaild 在构建失败后清除辅助文件
        "latex-workshop.latex.autoClean.run": "onFailed",
        // 使用上次的recipe编译组合
        "latex-workshop.latex.recipe.default": "lastUsed",
        // 用于反向同步的内部查看器的键绑定。ctrl/cmd +点击(默认)或双击
        "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
        //右键菜单
        "latex-workshop.showContextMenu":true,
        //从使用的包中自动补全命令和环境
        "latex-workshop.intellisense.package.enabled": true,
        //将 glob 模式配置到编辑器(例如 "*十六进制": "hexEditor.hexEdit")。这些优先顺序高于默认行为。
        "workbench.editorAssociations": {
            "*.ipynb": "jupyter-notebook"
        },
        "kite.showWelcomeNotificationOnStartup": false,    //需要安装kite,show the Kite welcome notification on startup.
        "python.defaultInterpreterPath": "E:\\Python\\python.exe", //python路径
        //应在何处显示单元格工具栏,或是否隐藏它。
        "notebook.cellToolbarLocation": {
            "default": "right",
            "jupyter-notebook": "left"//为特定文件类型配置单元格工具栏位置
        },
        //若设置为 true,则自动从当前 Git 存储库的默认远程库提取提交。若设置为“全部”,则从所有远程库进行提取。
        "git.autofetch": true,
        //始终信任工作区
        "security.workspace.trust.untrustedFiles": "open",
        //不显示新版本消息
        "vsicons.dontShowNewVersionMessage": true,
        //针对某种语言,配置替代编辑器设置
        "[latex]": {
            "editor.formatOnPaste": false,//针对某种语言,配置替代编辑器设置
            "editor.suggestSelection": "recentlyUsedByPrefix" //控制在建议列表中如何预先选择建议。recentlyUsedByPrefix: 根据之前补全过的建议的前缀来进行选择。例如,co -> console、con -> const。
        },
        "code-runner.clearPreviousOutput": true,
        "code-runner.saveAllFilesBeforeRun": true,
        "code-runner.runInTerminal": true,
        "workbench.colorTheme": "Solarized Dark",
    }
    

    1.6 测试环节

    接下来我们就测试一下看看,是否调试成功。
    在桌面新建文件夹,并在vs code 上打开文件夹【test1】;
    Alt

    • 在vs code上,找到【test1】文件夹,并点击第一个选项【新建文件】;
    • 新建文件【test.tex】,一定要加后缀名【.tex】,如果没有后缀名【.tex】,vs code不能识别latex文档;
      Alt
    • 复制下列代码到输入框,并保存;
      Alt
    \documentclass[fontset=windows]{article}
    \usepackage[zihao=-4]{ctex}
    \usepackage[a4paper]{geometry}
    \begin{document}
    \centering
    \LaTeX,你好呀!
    \end{document}
    
    • 接着看到左边一列有一个花写【tex】按钮,点击。
      Alt
    • 找到第一个按钮【Build latex project】,点击展开,找到【Recipe:pdflatex…】,点击;
      Alt
    • 你会看到最下面有编译进展;
      Alt
    • 成功后,再找到左上角【View LaTex Pdf】,点击展开,找到【View in VSCode tab】并点击确定。
      Alt
    • 看到如下界面;就说明测试成功;接下来就可以愉快的在vs code上敲latex啦~
      Alt

    二、vs code配置latex教程mac版本

    mac上配置latex相对来说比较简单,在这里简单说明一下,同样是使用vs code下载软件

    • vs code 安装; (见1.1)

    • vs code 中文环境配置;(见1.2)

    • vs code 安装插件【latexworkshop】;(1.5)

    • 下载【MacTex】
      mac上的tex编译软件和windows不太一样,前面windows使用的是【textive2021】,这里mac使用的是【MacTex】,配置过程比较简单,找到【MacTex】官网[5],下载安装即可。下载完成后关闭。

    • 测试环节;(见1.6)

    参考网站和资料

    [1] visual studio code 官方网站:https://code.visualstudio.com

    [2] 阿里云开源镜像网站:https://mirrors.aliyun.com/CTAN/systems/texlive/Images/

    [3] 华为开源:https://mirrors.huaweicloud.com/CTAN/systems/texlive/Images/

    [4] Sumatra PDF 官方网站:https://www.sumatrapdfreader.org/free-pdf-reader

    [5] MacTex 下载网站:https://tug.org/mactex/

    展开全文
  • Latex 中的空格汇总

    万次阅读 多人点赞 2021-02-26 12:02:42
    讲讲 Latex 让人头疼的地方 为什么科学文献通常要求用 LaTeX\LaTeXLATE​X 书写呢?当然是因为好看呀。 LaTeX\LaTeXLATE​X 美观的排版背后是一个庞杂的符号和排版系统,光是看看就知道这根本不是一两天能全部掌握的...

    讲讲 Latex 让人头疼的地方

    为什么科学文献通常要求用 LaTeX \LaTeX LATEX 书写呢?当然是因为好看呀。

    LaTeX \LaTeX LATEX 美观的排版背后是一个庞杂的符号和排版系统,光是看看就知道这根本不是一两天能全部掌握的,就连 LaTeX \LaTeX LATEX 这个标题也有专门的特殊排版(看着有点奇怪,后面还是直接用 Latex 好了)。有很多符号看上去一样,但是又有十分细微的差别,比如下面的两个单词,你能看出差异吗:
    M i c r o s o f t M i c r ο s ο f t Microsoft \qquad Micr\omicron s\omicron ft MicrosoftMicrοsοft
    说实话我自己也看不出来(或者我用的这个字体本身就没有区别),但上面那一行的的源码是:

    Microsoft \qquad Micr\omicron s\omicron ft
    

    后一个微软里面的 ο \omicron ο 其实是希腊字母欧米克荣,而不是英文字母 o o o

    冷知识:我们用来表示高阶无穷小的符号 ο \omicron ο 是希腊字母。

    Latex 的精确性让它更适应于公式的排版,光是空格有多少种,就足够我写一篇了。空字符可以在我们排版时帮助我们对齐一些难以对齐的行或列,在不失 latex 美观的前提下,在细节上实现 word 一样的随意调整。~~不过遇到这种情况时,我并不推荐将空字符作为首选方案。~~了解一下 latex 的空字符还是有必要的。

    各种长度的空格

    Latex 的空格种类繁多,看过来让人眼花缭乱。如果按照长度分类的话,大致可以分为下面三类。即:“只要不换字体,我一直是这么长” 的相对字体长度固定的空格,“你让我多长我就多长” 的自定义长度空格,和 “我多长取决于你把我放在哪里” 的自适应长度空格。

    相对字体长度固定

    先看相对字体长度固定的空格,这类空格最简单粗暴,你把它敲出来,它给你一段固定的留白。Latex 本身就有的这类空格并不多,amsmath 包则将这类空格变得更加丰富。

    在往下讲之前,先说明一个长度单位: em.

    这个单位,常用 latex 的小伙伴肯定不陌生,但是具体含义其实众说纷纭。它并不严格地等于字体中 M 的宽度,也并不严格等于字体本身的大小,只需要知道这个单位会随着字体变化就行了。

    常用的这类空格,以及它们各自的长度如下表所示:
    在这里插入图片描述

    有几个需要注意的点:

    1. **转义符 + 标点 的组合,原则上不要在前后加空格。**相比于标准的a\,b,加入了空格的 a\, b 表现出来的空字符其实是 \, 加上一个常规空格。而常规空格是会适应排版进行调整的,这就导致生成的空格长度不但比想像的长,还不固定。
    2. \quad, \thinspace 这类转义符 + 字母的组合,需要在后面打空格。这时后面加入的空格不会被识别为常规空格,而是单纯作为一个命令结束的标志。但是如果空格加在了命令前面,就会被当做一个常规空格。
    3. 如果上面的字符没有达到想要的长度,可以进行组合。比如 \;\! 会生成一个 2/18 em 的空格。如果还达不到要求,可以试试下面的自定义长度命令。

    自定义长度

    自定义长度的命令会生成一个给定长度的空格,使用起来十分灵活。

    常用的记住 \hspace\vspace 即可,前者用于水平方向,后者则用于垂直方向。这两个命令是 latex 原生的,不需要引入任何额外包。

    具体使用很简单,语法是 \hspace{<space_width>}<space_width> 处填入你期望的长度。

    下图演示了三个使用案例及其等效的预设空格组合。其中 \hspace{1em} 生成的空格和 \quad 等长,而 \hspace{0.11111em} 生成的空格和 \;\! 等长,这里面甚至可以塞进一个负值,同时也有等长的定长空格组合与之对应。关于长度单位其实有很多可以说道的地方,比如 Latex 中的最小单位 sp,以及各个单位分别等于多少个 sp 等等,详情见这篇 Stackexchange 上的问答

    在这里插入图片描述

    而另一个 \vspace 可能更通用一些,通常用于行间距的微调,包括但不限于图表和标题之间、图表和正文之间、标题和正文之间的距离调整。

    下面我们打一段文字:

      % ex 近似等于当前字体中 x 的高度
      楼下早上好啊!
    
      早……怎么这么挤啊!\vspace{-2ex}
    
      我要和三楼贴贴!
    
      \vspace{2ex}
    
      看我干嘛,我就在我该在的位置。
    

    其效果就是这样

    在这里插入图片描述

    其实,无论 vspace 命令单独一行,还是和上下合并,其效果是一样的,都是在默认行距上进行加减。而相对于水平字距,行间距相对固定,因此不会带来很大的问题。

    自适应长度

    这类空格与上述不同,是以良好的排版效果作为第一优先级的。它们会随着期望的效果而改变自身的长度。

    常规空格

    这类空格中最典型的就是常规空格,敲一下键盘上那个最长的空格键,你就输入了一个常规空格。

    中文文献书写中这种空格出场比较少,而英文书写中这个空格可以说是一篇文章中出现最频繁的字符了。为了排版美观,英文文献通常采用两端对齐的方式,但是英文单词又不一样长,经常出现到句尾长度不够,把下一行第一个单词拿到这一行长度又太长的情况。这时,Latex 会通过调整常规空格长度的方式来做到两端对齐。下图这句话出自《卖火柴的小女孩》。

    在这里插入图片描述

    hfill 和 hfil

    顾名思义,这两个命令可以起到填充作用。填充效果是能延伸到的最大宽度。通常,如果我们有张图片要并列摆放,中间就可以加上 \hfill\hfil,可以把两个并排的物件中间撑开,达到一个左对齐,一个右对齐的效果。

    这里用并排的 minipage 做个示范:

    \noindent\begin{minipage}{0.3\textwidth}
        Most terribly cold it was; it snowed, and was nearly quite dark, and evening - the last evening of the year.
    \end{minipage}
    \hfill % 或 \hfil
    \begin{minipage}{0.3\textwidth}
        In this cold and darkness there went along the street a poor little girl, bareheaded, and with naked feet.
    \end{minipage}
    \hfill % 或 \hfil
    \begin{minipage}{0.3\textwidth}
        When she left home she had her slippers on, it is true;
    \end{minipage}
    

    运行效果如下。可以看到三个 minipage 中间被两处等长的空白分隔开了。

    在这里插入图片描述

    如果把上面两个 \hfill 都给换成 \hfil,编译出来的效果是完全一样的。但是,如果只改变其中一个,你就会发现 \hfil 那里的空格完全消失了。这是为什么呢?

    从定义上讲,fillfil 都是符合排版规则下的无穷大。但是,fill 是比 fil 更为高阶的无穷大。如果 \hfill\hfil 同处一行,那么 \hfil 将会被 \hfill 给挤成什么都没有。这一点很好理解,即使是无穷大,在更高阶的无穷大面前也是0。而等阶的无穷大,在同一行时延展出来的空格长度就是相等的了。

    这两条命令同样有垂直版本,即 \vfill\vfil,拓展的上限是一整页。同时,也有 \hfilll\vfilll,是比两个 lfill 更高阶的无穷大。这里就不多赘述了。

    特殊空格

    不折行的空格

    有时我们需要空格前后的内容一定要在一行中显示,比如图表标题 Fig. 3Tab. 4 这类,如果断行就很奇怪。Latex 为这种情况提供了一种不折行的空格(Non-breaking space),即 ~。只需要写成 Fig.~3 即可。

    命令后的空格

    有些命令是会在文档中生成一段文字,有时候我们希望能在这段文字后面加个空格。然而无论你在命令后面打多少个空格,latex 都只会把它当成命令结束的标志,生成的文档中这段文字会和后面的文字紧紧贴在一起。

    正确的解决方案是加一个转义符 \ 再打空格,或者用 {} 作为命令终结的标志,来使后面的空格被识别成一个常规空格。即:

    The date is \today and it's raining heavily.
    % 上面这句运行的结果:
    % The date is February 24, 2021and it’s raining heavily.
    
    The date is \today \ and it's raining heavily.
    The date is \today{} and it's raining heavily.
    % 上面两句运行的结果是一样的,即:
    % The date is February 24, 2021 and it’s raining heavily.
    

    总结

    Latex 里面的空白字符可谓琳琅满目,非一文可以穷尽。在这里我也只是汇总了一些常用的字符,基于我个人理解,有错误之处欢迎指出。

    参考

    展开全文
  • VsCode 使用Latex最新教程

    千次阅读 2021-12-11 14:03:41
    文章目录VsCode 使用Latex一、下载安装VsCode二、下载安装TeX Live2.1 MiKTex版本2.2 TeXLive版本三、安装插件LaTex Workshop3.1 在VsCode中安装插件LaTex Workshop3.2 setting.json配置3.3 测试tex文件四、PDF阅读...
  • MathML 与 Latex 互转

    热门讨论 2014-03-07 16:40:22
    $\sum_{i=1}^n a_i=0$ Latex 与 MathML 互转
  • LaTeX简介

    千次阅读 2019-04-30 19:29:48
    Latex简介TeX 和 LaTeX关于 TeX关于 LaTeXLaTeX 的优点排版质量高,数学式精美格式自动处理创建参考文献可扩充性稳定性和安全性版本兼容性强,通用性强免费使用与 word 相比, LaTeX 的缺点LaTeX 起点门槛高,初学者...
  • 中文版Latex常用语法大全教程

    万次阅读 多人点赞 2020-06-04 14:28:31
    中文版的Latex快速入门教程Latex语法格式中文版的“hello world”注释换行、分段、分页、首行缩进文字的粗体、斜体、颜色、大小下划线、双下划线、波浪线、删除线、斜删除线Latex文档层次结构文档封面文档前言文档...
  • LaTeX详解

    千次阅读 2018-07-20 15:05:10
    函数、符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} latex数学符号表(2)” style=”border:none; max-width:100%”&gt;...latex数学符号表(2)” style=”border:none...
  • Latex行距调整总结

    千次阅读 2021-06-10 06:13:47
    Latex行距调整总结 解析(一) baseline 是什么 TeX 中的每个字符都放在一个 box 里。每个 box 有 base (参考点)、width(宽度)、height(高度)、depth(深度),其中 height + depth = totalheigth (总高)。 若干字符的...
  • LaTex常用命令介绍

    千次阅读 2020-12-23 19:30:42
    LaTex常用命令LaTex介绍LaTex下载与安装LaTex中常用宏包LaTeX文件的框架LaTex中简单的规则LaTex中字号转换命令表LaTex中常见数学公式排版命令LaTex中常见的特殊符号使用LaTeX编辑表格UML 图表FLowchart流程图导出与...
  • LaTeX的字体设置

    千次阅读 2022-02-02 16:48:35
    LaTeX的字体设置 文章目录字体族设置字体系列设置字体形状中文字体字体大小中文字号 字体属性 在LaTeX中,一个字体有5种属性。 字体编码 正文字体编码:OT1、T1、EU1等 数学字体编码:OML、OMS、OMX等 字体族 ...
  • LaTeX 对号和错号

    千次阅读 多人点赞 2021-12-27 19:56:01
    如何在LaTeX中输入对号和错号呢?
  • 文章目录1 基本字符常用数集字母字母加标表示希腊字母2 四则运算运算符号等号比较范围3 常用函数4 离散数学运算符5 集合集合表示集合操作集合...字母符号LaTeX\LaTeXLATEX符号说明示例N\mathbb{N}N\mathbb{N}自然数集...
  • Latex希腊字母对照表

    千次阅读 2021-08-02 14:25:06
    Latex希腊字母对照表。
  • latex 公式去掉不要编号

    千次阅读 2022-03-16 15:18:48
    加公式末尾加 \nonumber
  • VS Code配置使用 LaTeX

    千次阅读 2021-12-03 19:56:31
    VS Code配置使用 LaTeX1. 安装插件2. 添加LaTeX环境变量3. 格式化代码4. 查看PDF5. 其他 VS Code基础入门使用可查看: VS Code 基础入门使用(配置)教程 其他Vs Code 配置可关注查看: Vs Code 配置专栏 1. 安装...
  • LaTeX 换行

    万次阅读 多人点赞 2021-03-02 11:52:55
    LaTeX换行的几种方法 方法一:输入 \\ 结果即只进行单纯换行,并无缩进 方法二:输入 \par 显示结果为自动换行加缩进
  • LaTeX 中有七级标题,每一集标题有相应的默认样式,但往往有时默认样式不满足我们的要求。通过修改 `\ctexset`命令提供的参数,我们可以**修改标题样式**。
  • latex max下面标注怎么写

    千次阅读 2022-03-17 10:45:31
    \begin{equation} \substack{\max\\a} \end{equation} 在latex中的Max正下面加字母的方法_wuljdoit_新浪博客
  • latex 换行缩进

    千次阅读 2021-01-27 04:23:23
    LATEX 模板(中国运筹学会年会论文模板) %% Paper ...关键词位于摘要下方,行首不缩进。 摘要使用小五号(...以上这些词后均不换行。 中文关键词之间以中文分号......2 基础知识 4 Latex 讲义 1. 单词之间用一个或多个...
  • 3. LaTeX图片的排版、引用与格式

    千次阅读 多人点赞 2021-11-18 14:28:32
    3. LaTeX图片的排版、引用与格式 1.LaTeX 图片排版方式   在 LaTex 排版的论文写作中,LaTex 的所有宏包文件都要写在 \documentclass 命令之后和 \begin{document} 之前。在本文中,图片排版时使用到的宏包文件有...
  • LaTeX 中调整图片和表格的位置

    万次阅读 多人点赞 2020-10-30 09:33:15
    LaTeX 的核心理念之一即是让你主要地关注文章的内容,而不是格式。当然,有时候,你可能需要对文章中的某些部分进行更细致地调整。本篇博文介绍如何在 LaTeX 中调整图片和表格的位置。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,909
精华内容 48,363
关键字:

LaTeX