本文主要总结在使用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的选项即可,设置方法如下:
iboptions{numbers,sort&compress}
以下是顺便查到的,觉得也挺好,仅作参考。
3、如何实现参考文献标号在右上角?
方法:在文档开始前加上下面的语句命令
ewcommand{upcite}[1]{ extsuperscript{ extsuperscript{cite{#1}}}}
然后引用的时候使用upcite{}的格式(一般的正常引用格式为cite{})
4、更改参考文献字体大小,段距和行距
footnotesize % 更改字体大小
setlength{ibsep}{0.5ex} % 设置段距
ibliographystyle{elsarticle-num}
egin{spacing}{1.0} % 设置行距
ibliography{references}
end{spacing}
上述代码需要添加包usepackage{setspace}
二:Latex 调整断字,连接符,取消断词/断字
latex使用了处理断字的算法去自动的找断字的地方,而且latex会调整单词间距,使得文章看起来不会显得疏密不一致。大多数情况下,这些算法都工作得很好。但是因为断字的算法是根据某种规则来处理单词的断字,而不是依照人工事先标注的字典,所以,它仍然会出问题。或是在不该断的地方断开了,又或者是断开的地方太多了等等。在latex下可以通过调整参数和指定断字点来处理这些问题。
在LaTex下可以通过设置参数和指定断字点来获得满意的断字。
-) 调整参数
hyphenpenalty=5000
olerance=1000
把这两个参数的调整加到tex文件里。hyphenpenalty值越大断字出现的就越少。tolerance越大,换行就会越少,也就是说,LaTex会把本该断开放到下一行的单词,整个儿的留在当前行。
调这两个值有可能可以解决断字太多的问题。
-) 手动调整
如果遇到了断开的地方不对的情况,也可以手动来指定一个单词应该怎么断。
hyphenation{hy-phen-a-tion}
这个命令告诉latex,hyphenation只能从标有短横线(-)的地方断开。
-) 取消断词/断字
某些期刊可能规定段落边上不能出现hyphen,如下设置即可:
可以将下面语句放在导言区:
olerance=1
emergencystretch=maxdimen
hyphenpenalty=10000
hbadness=10000
三:Latex Error:‘acmart.cls’ not found 解决方案
windows下latex编译ACM论文模板时,出现Latex Error:‘acmart.cls’ not found
,解决方案:
-
首先cd至模板所在目录下,然后运行以下命令:
-
tex acmart.ins
四:LaTeX 公式字体大小设置
字体大小:
七号 5.25pt 1.845mm iny
六号 7.875pt 2.768mm scriptsize
小五号 9pt 3.163mm footnotesize
五号 10.5pt 3.69mm small
小四号 12pt 4.2175mm
ormalsize
四号 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即可
1 egin{small} 2 egin{equation} 3 ldots 4 end{equation} 5 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}
m{变量}
2. 求和,求乘积,积分,等公式的上下限设置
通过limits 与 olimits可以改变缺省值。其中行间公式缺省使用 olimits 而独立公式缺省使用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.}
第二次出现: extsuperscript{ ef{footnote-1}}
八:字体设置
1. 字体族设置
% 导言区 documentclass{article} usepackage{ctex} % 正文区 egin{document} % 字体族的设置:罗马字体, 无衬线字体 打字机字体 中文(黑体,宋体,仿宋,楷书) % 字体命令 extrm{Roman Family} extsf{Sans Serif Family} exttt{Typewriter Family } % 字体 {songti 宋体} {heiti 黑体} {fangsong 仿宋} {kaishu 楷书} % 字体声明 mfamily Roman Family sffamily Sans Serif Family tfamily Typewriter Family end{document}
输出示例
2. 字体系列设置
egin{document} % 字体系列的设置(粗细,宽度) % 字体命令 extmd{Medium Series} extbf{Boldface Series} %字系列 extbf{粗体} extit{斜体} % 字体声明 mdseries{Medium Series} fseries{Boldface Series} end{document}
输出示例:
3. 字体形状设置
egin{document} % 字体形状设置(直立,斜体,伪斜体 ,小型大写) % 字体命令
extsf{BitFlipPM}
extup{Upright Shape} extit{Italic Shape} extsl{Slanted Shape} extsc{Small Caps Shape} % 字体声明 upshape{Upright Shape} itshape{Slanted Shape} slshape{Slanted Shape} scshape{Small Caps Shape} end{document}
输出示例:
4. 字体大小对应表