LaTeX技巧心得236:如何要将图形与标题均置于盒子中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LaTeX技巧心得236:如何要将图形与标题均置于盒子中相关的知识,希望对你有一定的参考价值。

参考技术A 然而,由于 \caption 命令只能在段落模式中使用,而 \fbox 命令中的内容是在 LR 模式中被处理的, 所以这样做是不能达到目的的。因为小页环境的内容和 \parbox 命令都使在段落模式中处理,所以将 \fbox 命令的内容放到小页环境或 \parbox 命令中,就可以把 \caption 包含在 \fbox 中。由于小页环境和 \parbox 命令都必须给出它们的宽度,故没有直接的办法让 \fbox 和图形及其标题一样 宽。例如下列命令: \beginfigure \centering \fbox \beginminipage4 in \centering \includegraphics[totalheight=2in]pend.eps \captionBox Around Figure Graphic and Caption \labelfig:boxed_figure \endminipage \endfigure 得到图,其中图形与标题都置于盒子中。一般通过不断的尝试修改来确定小页环境的宽度从而使得盒子能够恰好围住图形和标题。下面的这些方法可以避免枯燥麻烦的尝试修改。选择一个确定的小页的宽度,使得图形的宽度与其相同。 \newsavebox\mybox \newlength\mylength \sbox\mybox\includegraphics[height=3in]file.eps \settowidth\mylength\usebox\mybox \beginfigure \centering \fbox \beginminipage\mylength \centering \usebox\mybox \captionBox Around Figure Graphic and Caption \labelfig:boxed_figure \endminipage \endfigure 为保证标题只有一行,可以使用 \settowidth 命令来估计标题的宽度并将其作为小页的宽度。本回答被提问者采纳

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宏包
\\usepackageindentfirst
% 设置首行缩进距离
\\setlength\\parindent2em

不进行缩进

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

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

\\noindent

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

\\setlength\\parindent0pt

放在想要缩进的段落:

\\hspace*2em段落\\\\

显示下划线

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

方法2
使用LaTeX命令:\\textunderscore

方法3
导入宏包:\\usepackageunderscore

例子1(方法1和2):

a\\_b

a\\textunderscore b

显示:

例子2(方法3):

\\usepackageunderscore

a_b

显示:

LaTeX基础

导言区与正文区

begindocumentenddocument之间的就是正文区,而在这之前的就是导言区。

文档类型

\\documentclassarticle是确定了文档类型为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:
使用\\usepackageverbatim宏包

\\begincomment
注释内容
\\endcomment 

英文引号

在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],例如,\\beginfigure[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这一行一定要在\\begindocument的后面,否则LaTeX会判定为语法错误。

例子:

\\documentclassarticle % article 文档
\\usepackage[UTF8]ctex  % 使用宏包(为了能够显示汉字)
% 设置页面的环境,a4纸张大小,左右上下边距信息
\\usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]geometry

\\titleNSJim的文章  % 文章标题
\\authorNSJim   % 作者的名称
\\date\\today       % 当天日期

% 正文开始
\\begindocument

\\maketitle          % 添加这一句才能够显示标题等信息

% 正文结束
\\enddocument

显示:

摘要

\\maketitle下添加内容,如下:

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

显示:

引用、脚注

引用:写在\\beginquote\\endquote之间。
脚注:在需要添加脚注的文字后添加\\footnote脚注内容即可。

例子:

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

显示

架构

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

以下为一个示例:

\\documentclassarticle % article 文档
\\usepackage[UTF8]ctex  % 使用宏包(为了能够显示汉字)
% 设置页面的环境,a4纸张大小,左右上下边距信息
\\usepackage[a4paper,left=10mm,right=10mm,top=15mm,bottom=15mm]geometry

\\titleNSJim的文章  % 文章标题
\\authorNSJim   % 作者的名称
\\date\\today       % 当天日期

% 正文开始
\\begindocument

\\maketitle          % 添加这一句才能够显示标题等信息

% 生成目录设置
\\renewcommand\\contentsname目录 %将content转为目录
\\tableofcontents

% 摘要开始部分
\\beginabstract
该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。该部分内容是放置摘要信息的。
\\endabstract

% 标题开始
\\section一级标题1
第一段一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容。\\par
第二段一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容,一级标题下的内容。

\\subsection二级标题1.1
二级标题下的内容。

\\subsubsection三级标题下的内容1.1.1
三级标题下的内容。

\\section一级标题2
一级标题2中的内容

% 正文结束
\\enddocument

显示:

字体,大小,颜色

字体

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

例子:

\\songti 宋体
\\heiti 黑体
\\fangsong 仿宋
\\kaishu 楷书

\\bf 粗体
\\it 斜体
\\sl 斜体

\\textbf粗体
\\textit斜体
\\textsl斜体

显示:

大小

例子:

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

显示:

颜色

需要导入宏包\\usepackagexcolor

\\documentclassarticle
\\usepackage[UTF8]ctex
\\usepackagecolor,xcolor

\\setlength\\parindent0pt

% 预先定义好的颜色: red, green, blue, white, black, yellow, gray, darkgray, lightgray, brown, cyan, lime, magenta, olive, orange, pink, purple, teal, violet.

% 定义颜色的5种方式
\\definecolorlight-graygray0.95    % 1.灰度
\\definecolororangergb1,0.5,0      % 2.rgb
\\definecolororangeRGB255,127,0    % 3.RGB
\\definecolororangeHTMLFF7F00      % 4.HTML
\\definecolororangecmyk0,0.5,1,0   % 5.cmyk

\\begindocument

% \\pagecoloryellow          %设置背景色为黄色

% 使用颜色的常用方式
\\textcolorgreen绿色 % textcolor+颜色
\\colororange橙色 % color+颜色
\\textcolor[rgb]0,1,0绿色 % textcolor+rgb
\\color[rgb]1,0,0红色 % color+rgb

% 使用底色
\\colorboxred\\colorblack红底黑字
\\fcolorboxredgreen红框绿底 % 框色+背景色

\\enddocument 

显示:

链接

导入宏包:\\usepackageurl
插入超链接:\\urlwww.baidu.com

列表

未完,待续。

图片

可选参数[htbp]

LaTeX插入图片、表格等元素时,第一行后面有一个可选参数[htbp],例如,\\beginfigure[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]也是常用的选择。

单张图片

需要导入宏包:\\usepackagegraphicx

例子:

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

显示:

多张图片

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

\\beginfigure[ht]
\\centering
\\subfigure[11-1]               %小图题的名称
\\includegraphics[width=4cm]11-1
\\hspace10pt  %2张图片的水平距离
\\subfigure[11-2]
\\includegraphics[width=4cm]11-2
\\caption两张图片公用的图题
\\endfigure

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

\\beginfigure[h]
\\beginminipage[t]0.45\\linewidth
\\centering
\\includegraphics[width=5.5cm,height=3.5cm]10
\\caption第一张图片的图题.
\\endminipage
\\beginminipage[t]0.45\\linewidth        %图片占用一行宽度的45%
\\hspace10pt
\\includegraphics[width=5.5cm,height=3.5cm]11
\\caption第二章图片的图题.
\\endminipage
\\endfigure

并排插入多张图片

\\beginfigure
\\centering

\\includegraphics[width=2.5cm]10-1
\\hspace10pt    %每张图片水平距离

\\includegraphics[width=2.5cm]10-2
\\hspace10pt

\\includegraphics[width=2.5cm]10-3
\\hspace10pt

\\includegraphics[width=2.5cm]10-4
\\hspace10pt
\\caption并排插入4张图片
\\endfigure

竖排插入多张图片

\\beginfigure[h]
\\centering
\\subfigure[场景1]
\\beginminipage[t]0.45\\textwidth
\\centering
\\includegraphics[width=0.8\\textwidth]wolf2 \\\\
\\vspace10pt %2张图片的垂直距离
\\includegraphics[width=0.8\\textwidth]wolf3
\\endminipage
\\endfigure

表格

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

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

例子:

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

显示:

数学公式

公式支持

LaTeX要输入数学公式需要导入宏包\\usepackageamsmath;若要对公式的字体进行修改,还需要引入宏包\\usepackageamsfonts

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. + - * / = ( ) | , . '等符号直接在$$$之间输入即可识别。

公式编号

自动编号

使用\\beginequation\\endequation进行公式输入,要同时使用,且编号不能够修改。

例子:

\\beginequation
a^2+b^2=c^2
\\endequation

显示:

手动编号

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

例子:

\\beginequation
a^2+b^2=c^2
\\tag2
\\endequation

显示:

自定义标题样式

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

例子:

\\newtheoremexampleExample[section] % 自定义example样式

\\begindocument

\\maketitle

\\sectionIntroduction

\\beginexampleTest1

Hello world!

\\endexample

\\beginexampleTest2

Hello world!

\\endexample

\\enddocument

显示:

算法(伪代码)

需要使用\\usepackagealgorithm\\usepackagealgorithmic宏包,iffor等关键字要按照规范书写,如\\IF \\ENDIF

例子:

\\documentclassarticle
\\usepackage[UTF8]ctex
\\usepackagealgorithm % 排版算法
\\usepackagealgorithmic % 排版算法

\\titleAlgorithm
\\authorNSJim Green
\\dateOctober 2020

\\begindocument

\\maketitle

\\sectionAlgorithm 1

\\beginalgorithm
\\captionCheckSum(A,x) %算法标题
\\labelalg2 %标签
\\beginalgorithmic %算法开始
\\STATE \\bf Input: An array A and a value x  %也可以用\\textbfInput:
\\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)
\\FORi $\\gets$ 0 to n
    \\IFBinary-search(A,x-A[i],1,n)
    \\STATE return true
    \\ENDIF
\\ENDFOR
\\STATE return false
\\endalgorithmic
\\endalgorithm

\\enddocument

显示:

代码块

基础用法

使用\\usepackagelistings宏包,并使用\\lstset进行基础设置,然后使用\\beginlstlisting[language=xxx]\\endlstlisting插入代码块。

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

例子:

\\documentclassarticle
\\usepackage[UTF8]ctex
\\usepackagelistings

% 代码块基础设置
\\lstset
numbers=left,                          	% 在左侧显示行号
showstringspaces=false,        			% 不显示字符串中的空格
frame=single,                         	% 设置代码块边框


\\titleCode block
\\authorNSJim Green
\\dateOctober 2020

\\begindocument

\\maketitle

\\sectionC Language

\\beginlstlisting[language=c]
#include <stdio.h>

// main function
int main() 
    printf("Hello World!");
    return 0;

\\endlstlisting

\\enddocument

显示:

高级用法

使用\\usepackagelistings\\usepackagexcolor宏包,并使用\\lstset进行高级设置,然后使用\\beginlstlisting[language=xxx]\\endlstlisting插入代码块。

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

例子:

\\documentclassarticle
\\usepackage[UTF8]ctex
\\usepackagelistings
\\usepackagexcolor

% 代码块高级设置
\\lstset
% basicstyle=\\footnotesize,                 % 设置整体的字体大小
showstringspaces=false,                     % 不显示字符串中的空格
frame=single,                               % 设置代码块边框
numbers=left,                               % 在左侧显示行号
% numberstyle=\\footnotesize\\colorgray,    % 设置行号格式
numberstyle=\\colordarkgray,               % 设置行号格式
backgroundcolor=\\colorwhite,              % 设置背景颜色
keywordstyle=\\colorblue,                  % 设置关键字颜色
commentstyle=\\it\\color[RGB]0,100,0,       % 设置代码注释的格式
stringstyle=\\sl\\colorred,                 % 设置字符串格式


\\titleCode block
\\authorNSJim Green
\\dateOctober 2020

\\begindocument

\\maketitle

\\sectionC Language

\\beginlstlisting[language=c]
#include <stdio.h>

// main function
int main() 
    printf("Hello World!");
    return 0;

\\endlstlisting

\\enddocument

显示:

论文写作

模板

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

\\documentclass[conference]IEEEtran

双栏

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

\\documentclass[onecolumn]article

双栏:

\\documentclass[twocolumn]article

跨栏图表

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

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

\\beginfigure*
……
\\endfigure*
或
\\begintalbe*
……
\\endtable*

无自动编号的标题

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

\\section*References

引用

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

公式引用

需导入amsmath宏包,代码为\\usepackageamsmath

公式

\\beginequation
z=x+y
\\labeleq1
\\endequation

引用

Eq. (\\refeq1)
或导入amsmath宏包,使用如下代码(推荐):
Eq. \\eqrefeq1

图片引用

需导入graphicx宏包,代码为\\usepackagegraphicx

图片

\\beginfigure[htbp]
\\centering
\\includegraphics[width=8cm]image/fig01-network model.png
\\captionNetwork model.
\\labelfig1
\\endfigure

引用

Fig. \\reffig01

表格引用

表格

\\begintable[htbp]
\\captionParameters for simulation
\\begincenter
\\begintabular|c|c|c|c|
\\hline
\\textbfParameters&\\textbfValues \\\\
\\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
\\endtabular
\\labeltab1
\\endcenter
\\endtable

引用

Table. \\reftab1

参考文献引用

参考文献

\\beginthebibliography00
\\bibitemb1 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.
\\bibitemb2 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.
\\bibitemb3 Al-Karaki JN, Kamal AE. Routing techniques in wireless sensor networks: a survey. IEEE J Wirel Commun 2004;11(6):6–28. 2004.
\\endthebibliography

引用

\\citeb1
\\citeb2
\\citeb3

改变引用颜色

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

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

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

显示效果如下:

以上是关于LaTeX技巧心得236:如何要将图形与标题均置于盒子中的主要内容,如果未能解决你的问题,请参考以下文章

latex Bibtex管理论文技巧与方法

LaTeX详细教程+技巧总结

如何将ggplot的符号和颜色用于LaTeX中的图形标题?

latex中插入的图形与文字间距太大,怎么缩小

LaTex常用公式符号与技巧

LaTeX技巧561:LaTeX如何让每一章带有目录?