前言
最近开始用LateX写文章,出现了各种各样的问题,总结一下,方便以后使用
问题1:缩写展示问题
一般论文中的英文缩写,只在第一次会完整的展示缩写全称,后面使用时直接用缩写名即可,有时候写着写着就忘了第一次出现的位置,导致文章中全称缩写展示乱七八糟。 可以通过下面这个命令提前设置好全称和缩写,后面直接引用。
\usepackage{acro} % 设置缩写,后面可直接引用
\DeclareRobustCommand{\acrodef}[2]{\DeclareAcronym{#1}{short=#1,long=#2}}
\acrodef{LOS}{line-of-sight} % 设置英文缩写名
文章中引用时\ac{LOS}即可
问题2:参考文献作者名称相同,只显示作者横线
这个问题我在很早的时候就出现过,不知道怎么解决,百度了其他博文才发现,只要在作者名称的地方加双括号就可以解决,同样如果参考文献不展示英文大写,也可以直接对需要大写的字母用双括号括起来就好。
1)缩写:author = {{S. Zhang and S. Li}},
2)不缩写:author = {{San Zhang and Si Li}},
问题3:LaTeX数学公式如何写
这个我也不会自己写,有一个很好的网站,可以直接写数学公式,一键转换成LaTeX格式,还可以截图识别,特别方便。
网站:LaTeX公式编辑器
问题4:多篇参考文献引用时如何合并展示
原以为只要引用时一直\cite{1},\cite{2},\cite{3},\cite{4}就会合并展示为[1-4],后来发现无论引用多少个参考文献也不行。对我来说,只有下面这种方法可行,也很简单,不需要在导言部分加任何代码。
\cite{1,2,3,4} % 最后运行后显示[1-4]
问题5:如何在参考文献中添加引用的网页信息
打开官方文档:https://www.kronto.org/thesis/tips/url-formatting.html
导言部分添加:
\usepackage{url}
%% Define a new 'leo' style for the package that will use a smaller font.
\makeatletter
\def\url@leostyle{%
\@ifundefined{selectfont}{\def\UrlFont{\sf}}{\def\UrlFont{\small\ttfamily}}}
\makeatother
%% Now actually use the newly defined style.
\urlstyle{leo}
BibTEX中添加:按照你的网址信息对应修改就可以
@misc{
c.elmohamed,
author = "Saleh Elmohamed",
title = "Examples in {H}igh {P}erformance {F}ortran",
howpublished = "Website",
year = {1996},
note = {\url{http://www.npac.syr.edu/projects/
cpsedu/summer98summary/ examples/hpf/hpf.html}}
}
需要注意的是,有时候网址太长,超出了文章的页面,比如:
如何解决:在文章的前言部分,可以添加类似以下的命令来增加断行点:
\def\UrlBreaks{\do\/\do-} % 指定斜杠"/"或连字符"-"位置设置断点
问题6:如何给LaTeX中的一段文本改变颜色
方法有很多,这个比较简单,包含了系统已经定义好的颜色
\usepackage{color}
\textcolor{red/blue/green/black/white/cyan/magenta/yellow}{text}
问题7:如何添加复杂的表格
在线制作表格网站:http://www.tablesgenerator.com/
这个网站可以直接导入Excel表格,也可以直接截图导入,一键制作表格,特别方便。
问题8:如何将截图或者拍摄的JPG/PNG图片转换为EPS格式
1.WIN键+R键打开运行,然后输入cmd,回车进入命令提示符。
2.进入到图片所在的目录中
3.输入 bmeps -c XX.jpg XX.eps 即可。
(需要注意jpg/png图片的大小)
问题9:如何在Latex中插入高清的图片
如果是matlab作图,可以直接保存为.eps格式,直接引用到latex中就好,图片会很清楚。
如果是Visio或者PPT等作图,基本的操作流程是:PNG/JPG–>PDF—>EPS格式。
以Visio作图为例,在Visio中作图后保存为PDF,然后在Adobe Acrobat Pro 中打开,选中图片编辑页面,然后裁剪页面后双击点开,勾选“删除白边距”,最后另存为内嵌式postscript,保存的格式为eps,这时候的图片放到latex中就会很清楚,放到最大倍也不会有模糊的边。
具体操作:编辑–>选中自己需要的部分–>双击自己选中的部分–>确定–>文件–>导出为–>内嵌式postscript–>ok
这里的详细操作可以看:https://blog.csdn.net/Jiajikang_jjk/article/details/80248704
问题9:调整插入的公式和表格
先说公式:在\begin{equation}后加上:\begin{split}
再说表格,调整表格上下间距:在\begin{table*}后加上:
\renewcommand\arraystretch{1.5} % 调整行间距
\setlength\tabcolsep{3pt}%调列距
问题10:修改图片、表格、公式等与下文的间距
解决办法:在\end{figure},\end{table},\end{equation}之前,加上:
\vspace{-0.8cm} %调整图片与上文的垂直距离
问题11:修改表格:标题间距、行间距、列宽等
\setlength{\abovecaptionskip}{0cm} % 调整标题与表格的间距
\renewcommand\arraystretch{1.4} % 调整行间距
\setlength\tabcolsep{3pt} % 调整列宽
问题12:三线表中竖线有断点
不适用三线式,可以手动设置线宽,如:\Xhline{1pt}.这样设置竖线就不会有断点了。
问题13:爱思唯尔的Latex模板中表格和图片标题的字体与正文不符
2021年Elesvier的LaTeX模板中,图片标题、表标标题、页眉等采用无衬线字体,但需求为新罗马字体或其他字体。
修改Latex模板中的cas-common.sty文件,在该文档中搜索无衬线字体语段 “\sffamily” (共11处),全体替换为 “\rmfamily”
问题14:如何让最后一页保持两栏水平
编辑一般会要求你最后一页的页面保持两栏水平,可以通过以下几种方法实现:
- 在你需要截断的地方使用 \linebreak \newpage \noindent, 剩下的部分会跑到右边栏.
- 在你需要截断的地方使用 \pagebreak, 这样系统会自动在本行末尾切割到下一栏.
- 在最后一页使用\enlargethispage{-50mm}来把最后一页的页面空间缩小, 那么剩下的内容就会自动跑到下一栏. 需要慢慢调整
如果你的最后一页是bib.
- IEEE的模板里提供了\IEEEtriggeratref{10}命令, 在\bibliography{IEEEtran}前使用, 表示在第10个reference那里断开下一栏.
- IEEE也提供了\IEEEtriggercmd{\enlargethispage{-5.35in}}来控制该页的空间来调整.
- 也可以使用\enlargethispage{-50mm}来调整.
问题15:会议论文要求每个作者信息单独列出,当作者太多需要两行时,第二行作者信息无法居中对齐
首先,在环境中添加代码
% 作者居中
\makeatletter
\newcommand{\linebreakand}{\end{@IEEEauthorhalign}\hfill\mbox{}\par\mbox{}\hfill\begin{@IEEEauthorhalign}}
\makeatother
在作者信息中,然后将需要换行的作者前的\and替换为\linebreakand
\author{\IEEEauthorblockN{1\textsuperscript{st} Given Name Surname}
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
\textit{name of organization (of Aff.)}\\
City, Country \\
email address}
\and
\IEEEauthorblockN{2\textsuperscript{nd} Given Name Surname}
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
\textit{name of organization (of Aff.)}\\
City, Country \\
email address}
\and
\IEEEauthorblockN{3\textsuperscript{rd} Given Name Surname}
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
\textit{name of organization (of Aff.)}\\
City, Country \\
email address}
\linebreakand
\IEEEauthorblockN{4\textsuperscript{th} Given Name Surname}
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
\textit{name of organization (of Aff.)}\\
City, Country \\
email address or ORCID}
\and
\IEEEauthorblockN{5\textsuperscript{th} Given Name Surname}
\IEEEauthorblockA{\textit{dept. name of organization (of Aff.)} \\
\textit{name of organization (of Aff.)}\\
City, Country \\
email address or ORCID}
}
修改后的效果
问题16 Latex 编号样式
简单的不需要设置编号
\begin{itemize}
\item A
\item B
\item C
\end{itemize}
效果:
问题17 多个子图的小标题设置
当有8个图,并排放置4个,放置两行,想要每行设置一个小标题时,代码如下,代码中还可实现设置每个子图的小标题
\begin{figure*}[]
\centering
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig1}}
% \centerline{(a)} % 每个子图的小标题
\end{minipage} \hspace{0.45cm} % 设置两张图片之间的列间距
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig2}}
% \centerline{(b)}
\end{minipage} \hspace{0.45cm}
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig3}}
% \centerline{(c)}
\end{minipage} \hspace{0.45cm}
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig4}}
% \centerline{(d)}
\end{minipage}
\centerline{(a) } % 四个子图的小标题,空一行表示换行
\vspace{0.1cm} % 设置两行图片的行间距
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig5}}
\end{minipage} \hspace{0.45cm}
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig6}}
\end{minipage} \hspace{0.45cm}
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig7}}
\end{minipage} \hspace{0.45cm}
\begin{minipage}{0.22\linewidth}
\centerline{\includegraphics[width=\textwidth]{fig8}}
\end{minipage}
\centerline{(b) }
\caption{Eight subfigure...}
\end{figure*}
问题18 表格中的单位是特殊符号时
当表格中出现特殊符号时,直接写写
μ
\mu
μm 或者
μ
\mu
μs 的话,最后编辑会给你改回来的,因为大多数期刊要求这个单位不能是斜体,而是要立体。也就是说\mu是要直立的,不是倾斜的。
解决办法:
法一:
\usepackage{textcomp}
\textmu s
\testmu m
法二:
\usepackage{upgreek}
$\upmu$s
$\upmu$m
这样生成的单位就是直立的。
问题19:设置Matlab图片的背景色,导出来依旧是白色
在命令行运行这段代码即可:set(gcf, ‘InvertHardCopy’, ‘off’);
问题20:在Latex中给图片加黑色外边框
在latex中,增加包:\usepackage{fancybox}
作图部分增加:
\begin{figure}
\centering
\setlength{\fboxsep}{0pt} % 增加部分,与图片边框距离0pt
\fbox{\includegraphics[width=3.4in]{4-CIR2.eps}} % 增加部分,加外边框
\caption{Obtaind \ac{CIR} by identifying and mitigating the noise samples.}
\label{fig:CIR2}
\end{figure}