本文主要总结在使用Latex过程中遇到的一些问题及解决方案。

一:关于参考文献

1、如何在paper同一处用\cite命令同时引用多篇文献?

用\cite{bibtex1}\cite{bibtex2}\cite{bibtex3},则编译以后的正文引用处显示的是[1][2][3];
用\cite{bibtex1,bibtex2,bibtex3},则编译以后的正文引用处显示的是[1,2,3];
怎样才能在正文显示的该引用出处的时候显示[1-3]
\usepackage[numbers,sort&compress]{natbib} % 不过这会使参考文献字体变大。

用 \usepackage{cite} % \cite{bibtex1,bibtex2,bibtex3} --> [1]-[3]

2、如何使连续的参考文献能够中间用破折号连起来?比如[6,7,8,9]变成[6-9]?
方法:在文档开始前加上下面的语句命令
\usepackage[numbers,sort&compress]{natbib}
不但可以压缩参考文献标号,还可以进行排序,即无论正文里面的顺序怎样,显示出来都是先后顺序。
注意:在elsevier模板中,natbib包已经默认引用了,无需重新引用,改一下natbib的选项即可,设置方法如下:
\biboptions{numbers,sort&compress}
以下是顺便查到的,觉得也挺好,仅作参考。

3、如何实现参考文献标号在右上角?
方法:在文档开始前加上下面的语句命令
\newcommand{\upcite}[1]{\textsuperscript{\textsuperscript{\cite{#1}}}}
然后引用的时候使用\upcite{}的格式(一般的正常引用格式为\cite{})

4、更改参考文献字体大小,段距和行距

\footnotesize                       % 更改字体大小
\setlength{\bibsep}{0.5ex}  % 设置段距
\bibliographystyle{elsarticle-num}
\begin{spacing}{1.0}           % 设置行距
\bibliography{references}
\end{spacing}

上述代码需要添加包\usepackage{setspace}

二:Latex 调整断字,连接符,取消断词/断字

latex使用了处理断字的算法去自动的找断字的地方,而且latex会调整单词间距,使得文章看起来不会显得疏密不一致。大多数情况下,这些算法都工作得很好。但是因为断字的算法是根据某种规则来处理单词的断字,而不是依照人工事先标注的字典,所以,它仍然会出问题。或是在不该断的地方断开了,又或者是断开的地方太多了等等。在latex下可以通过调整参数和指定断字点来处理这些问题。

在LaTex下可以通过设置参数和指定断字点来获得满意的断字。

-) 调整参数

\hyphenpenalty=5000
\tolerance=1000

把这两个参数的调整加到tex文件里。hyphenpenalty值越大断字出现的就越少。tolerance越大,换行就会越少,也就是说,LaTex会把本该断开放到下一行的单词,整个儿的留在当前行。

调这两个值有可能可以解决断字太多的问题。

-) 手动调整

如果遇到了断开的地方不对的情况,也可以手动来指定一个单词应该怎么断。

\hyphenation{hy-phen-a-tion}

这个命令告诉latex,hyphenation只能从标有短横线(-)的地方断开。

-) 取消断词/断字

某些期刊可能规定段落边上不能出现hyphen,如下设置即可:

可以将下面语句放在导言区:

\tolerance=1
\emergencystretch=\maxdimen
\hyphenpenalty=10000
\hbadness=10000

三:Latex Error:‘acmart.cls’ not found 解决方案

 

windows下latex编译ACM论文模板时,出现Latex Error:‘acmart.cls’ not found,解决方案:

  1.  首先cd至模板所在目录下,然后运行以下命令:
  2.  tex acmart.ins

四:LaTeX 公式字体大小设置

字体大小:

七号   5.25pt      1.845mm    \tiny
六号   7.875pt    2.768mm    \scriptsize
小五号  9pt       3.163mm    \footnotesize
五号   10.5pt      3.69mm      \small
小四号  12pt     4.2175mm    \normalsize
四号   13.75pt    4.83mm      \large
三号   15.75pt    5.53mm      \Large
二号   21pt     7.38mm              \LARGE
一号   27.5pt      9.48mm      \huge
小初号  36pt     12.65mm    \Huge
初号   42pt     14.76mm 

使用方法:替换下面代码中的small即可

 \begin{small}
\begin{equation}
\ldots
\end{equation}
\end{small}

五:LaTeX 正文段落与间距设置

\setlength{\lineskip}{2em}     % 设置行间距

\setlength{\parskip}{2em}     % 设置段落间距

\usepackage{geometry}
\geometry{a4paper,scale=0.8}      %设置了纸张为a4 纸,并且版心占页面长度的比例为80%;scale也可以改为ratio,表示版面边距占页面长度的比例。

\geometry{a4paper,left=2cm,right=2cm,top=1cm,bottom=1cm}     %该宏包还可以设置页面的上下左右边距

\linespread{1.2}   %设置行间距

六:公式技巧

1. 加粗变量

\usepakage{bm}

\bm{变量}

2. 求和,求乘积,积分,等公式的上下限设置

通过\limits\nolimits可以改变缺省值。其中行间公式缺省使用\nolimits 而独立公式缺省使用\limits。如果要改变缺省规则,就要在符号后面、上下限之前加入上面的两个命令

或者

六:算法

1.  在Latex中使用algorithm2e显示if-elseif-else-endif

在algorithm2e中,\If, \Else, \ElseIf都是会以endif结尾的,而\uIf, \lIf, \uElse, \lElse, \uElseIf, \lElseIf都是不带endif的。u和l的区别是,u是块级元素,而l是行内元素。

通过上面9个标签的组合,就可以实现if-elseif-else-endif及其他组合。

例子:

 2. 算法的缩进调整

命令为:\SetInd{0.5em}{0.6em}

左右分别为不使用上述命令和使用上述命令的情况。可以看到,使用上述命令时,while if for之间的空隙会减小,且数字越小,减小越多。

          

七:引用

1. 重复使用footnote,即脚注重复的情况,可以用下述方法解决。

第一次出现:\footnote{\label{footnote-1}some text.}

第二次出现:\textsuperscript{\ref{footnote-1}}

八:字体设置

1. 字体族设置

% 导言区
\documentclass{article}
\usepackage{ctex} % 正文区
\begin{document}
% 字体族的设置:罗马字体, 无衬线字体 打字机字体 中文(黑体,宋体,仿宋,楷书) % 字体命令
\textrm{Roman Family} \textsf{Sans Serif Family} \texttt{Typewriter Family } % 字体
{\songti 宋体} {\heiti 黑体} {\fangsong 仿宋} {\kaishu 楷书} % 字体声明
\rmfamily Roman Family
\sffamily Sans Serif Family
\ttfamily Typewriter Family \end{document}

输出示例

2. 字体系列设置

\begin{document}
% 字体系列的设置(粗细,宽度) % 字体命令
\textmd{Medium Series} \textbf{Boldface Series} %字系列
\textbf{粗体} \textit{斜体} % 字体声明
\mdseries{Medium Series} \bfseries{Boldface Series} \end{document}

输出示例:

3. 字体形状设置

\begin{document}
% 字体形状设置(直立,斜体,伪斜体 ,小型大写) % 字体命令
\textsf{BitFlipPM}
\textup{Upright Shape} \textit{Italic Shape} \textsl{Slanted Shape} \textsc{Small Caps Shape} % 字体声明
\upshape{Upright Shape} \itshape{Slanted Shape} \slshape{Slanted Shape} \scshape{Small Caps Shape} \end{document}

输出示例:

4. 字体大小对应表

 

Latex使用过程中的一些总结的更多相关文章

  1. Latex编译过程中遇到的奇奇怪怪的问题及解决方案

    标签(空格分隔): 杂七杂八的问题 有必要写一个博文记录自己在Latex编译时遇到的各种问题,希望可以帮到遇到同样错误的亲故.讲真,一直没有系统的学习Latex,都是投哪个会直接拿那个会的模板来套,然 ...

  2. Latex — 写作编译过程中遇到问题记录与总结

    最近在训练的时候,又开始用Latex进行写作.碰到了很多问题,将问题进行记录与总结. 一.输出中文的问题 由于写作的时候用的是中文,而之前用的是英文,故碰到的第一个问题就是中文的问题.我之前下的是Wi ...

  3. latex编译过程-关于嵌入所有字体

    我们的初始目的是想在编译的过程中嵌入所有字体 参考 我们进行了设置,但是不起作用,后发现使用pdflatex编译时是不会调用 ps2pdf的 然后,我们就需要了解编译过程 1. 通常,我们使用texs ...

  4. WINDOWS系统下MYSQL安装过程中的注意事项

    1.首先MySQL的安装方式有两种:一种是MSI安装方式,很简单就像安装Windows软件一样.另外一种就是ZIP安装方式.这种相对而言比较麻烦.新手推荐MSI安装方式. 安装方式有以下两种: MSI ...

  5. 【转】SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

    SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误 最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash.换成IIS ...

  6. zabbix 3.0.3 (nginx)安装过程中的问题排错记录

    特殊注明:安装zabbix 2.4.8和2.4.6遇到2个问题,如下:找了很多解决办法,实在无解,只能换版本,尝试换(2.2.2正常 | 3.0.3正常)都正常,最后决定换3.0.3 1.Error ...

  7. C语言调试过程中duplicate symbol错误分析

    说明:在我们调试C语言的过程中,经常会遇到duplicate symbol错误(在Mac平台下利用Xcode集成开发环境).如下图: 一.简单分析一下C语言程序的开发步骤. 由上图我们可以看出C语言由 ...

  8. 测试或运维工作过程中最常用的几个linux命令?

     大家在测试工作过程中,可能会遇到需要你去服务器修改一些配置文件,譬如说某个字段的值是1 则关联老版本,是0则关联新版本,这时候你可能就需要会下vi的命令操作:或者查看session设置的时长,可能需 ...

  9. Atomikos的使用过程中要注意的事

    在使用Atomikos过程中遇到的一些问题,以作记录: MySQL does not support TMJOIN MySQL does not allow for joining an existi ...

随机推荐

  1. 可以在shell脚本中使用哪些类型的变量?

    在shell脚本,我们可以使用两种类型的变量: 系统定义变量 用户定义变量 系统变量是由系统系统自己创建的.这些变量通常由大写字母组成,可以通过“set”命令查看. 用户变量由系统用户来生成和定义,变 ...

  2. [Powershell]发布基于.NET Framework的WebAPI和Job控制台程序项目

    获取要发布的定时计划任务. 禁用和停止定时计划任务. 批量强制结束Job进程. 打印定时计划任务状态. 备份项目文件夹. 发布项目文件夹. 删除部署包. 启用定时计划任务. <# .NOTES ...

  3. PHP curl cookie不识别

    PHP curl cookie不识别 所以curl的时候别用setcookie 用了也没用

  4. javascript碰撞检测的方法

    javascript碰撞检测的方法需要把要检测碰撞的精灵都放到数组里array push 然后循环遍历数组里的精灵检测碰撞 ps:不放到数组里没办法循环遍历检测每个精灵核心代码如下 <pre&g ...

  5. c++小学期大作业攻略(四)任务系统+站内信

    虽然比最早的预定晚了整整一个星期但这核心功能最后一篇终于还是来了. 如果你已经经历了用户系统的洗礼,相信代码实现应该已经没有太大的难度,所以我们重点关注一下设计好的流程. 一.任务系统 首先是新建任务 ...

  6. Android studio(AS) svg图片使用

    1.下载svg文件,https://www.iconfont.cn/阿里的2.通过AS - New - Vectro Asset转换成安卓可用的xml文件(ic_back.xml)3.配置Gradle ...

  7. MySQL 快速添加百万条数据

    需要向数据库添加100W条测试数据,直接在普通表中添加速度太慢,可以使用内存表添加,然后将内存表数据复制到普通表 创建表 # 内存表 DROP TABLE IF EXISTS `test_memory ...

  8. 【IntelliJ IDEA】idea部署服务到Tomcat的工作原理

    参考地址: https://blog.csdn.net/qq_41116058/article/details/81435084 为什么idea部署服务到tomcat时候,一定要修改Applicati ...

  9. WPF 精修篇 Winform 嵌入WPF控件

    原文:WPF 精修篇 Winform 嵌入WPF控件 首先 创建WPF控件库 这样就有了一个WPF界面 在wpf中增加界面等 在winform中增加WPFDLL 重新生成解决方案 在左侧工具栏 出现W ...

  10. C++初探

    //string1.cpp #include <iostream> int main() { using namespace std; ]={'d','o','g'}//这是char数组, ...