latex使用经验

~ latex 导言插入如下语句,能够避免很多报错

\documentclass[journal]{IEEEtran}  % 如果是IEEEtran论文使用这个

\usepackage{booktabs}

\usepackage{array}

\usepackage{stfloats}
\usepackage{graphicx}
\usepackage{float}
%\usepackage[UTF8]{ctex}  % 加了这行,文中图像标题 "Figure" 会变为 "图",可以输入中文,这个不能在英文文档中使用,会改变整体文章的格式
\usepackage{float}
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{multicol}
\usepackage{stfloats}
\usepackage{subfigure}
\usepackage{amsmath}
%\usepackage{txfonts} % 有可能报错
\usepackage{xspace}
%\usepackage{cite} % 很多期刊需要注销掉
%\usepackage[justification=centering]{caption} %强制所有图像小标题居中(如果还是不行就直接使用 \caption{\centering{标题}},这里在 ELSEVIER 期刊中可能还会遇到更多居中问题,参考 https://blog.csdn.net/weixin_40437996/article/details/110777515

 

\usepackage{caption}

\usepackage{multicol}
\usepackage{amsmath}

 

\usepackage{multirow}
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithmicx}

\usepackage[noend]{algpseudocode}  % 这是伪代码里没有endif,endfor等
\usepackage{algpseudocode}

% 将伪代码改为input和output
\renewcommand{\algorithmicrequire}{ \textbf{Input:}} %Use Input in the format of
\renewcommand{\algorithmicensure}{ \textbf{Output:}} %UseOutput in the format of

 

 

 

~ 比较好的插入图像方式

% --------->
\begin{figure*}
\centering
{
\includegraphics[width=5cm]{step6.png}}
\hspace{0in}    
{
\includegraphics[width=2.5cm]{step6.jpg}}
\hspace{0in}
{
\includegraphics[width=2.5cm]{step6}}
\hspace{0in}
{
\includegraphics[width=2.5cm]{step6}}
\hspace{0in}
\caption{d}
\end{figure*}
% <--------------

 

~ 公式居中显示

\begin{center}  %使用centering不好使,使用这个
$\left\{\begin{array}{l}D 1=v l_{2}-v l_{1} \quad D 2=v r_{2}-v r_{1}
\\ D_{1-n}=D 1-n * \frac{\max (D 1, D 2)-\min (D 1, D 2)}{a b s\left(\left(v l_{2}-v l_{1}\right)-\left(v r_{2}-v r_{1}\right)\right)}\end{array}\right.$
\end{center}

 

~ Latex 中双栏(跨栏)中插入跨双栏图片出现在下一页问题的解决

先在导言区,加入stfloats包:这是是h,b,p,t 生效的
\usepackage{stfloats}
之后就可以写
\begin{figure*}[hb]
\centering
\includegraphics[scale=0.4]{img1.jpg}
\caption{This is a non-floating figure}
\label{fig_framework}
\end{figure*}
但是具体显示到哪里,还需要在代码中调整。这是比较坑的地方。
 
 
 
~ word里的数学公式转换成latex格式(texlive)
 打开mathtype,在preferences中选择第一个Cut and Copy preferences,会弹出这样的界面

 选择LaTex and later。然后打开Word,双击你需要复制的公式,选中公式后按 Crtl+C,然后在mathtype中按Ctrl+V粘贴,在mathtype中再选中复制好的公式,按Crtl+C,这时在剪辑器中转化成了Latex代码,在Winedit中按Crtl+V粘贴即可。

这样处理在latex中可能会报错,但是pdf却仍然可以显示出来(前提是已经有正确的pdf显示了,这时候会刷新)。

 

 

~ 缩小间距(图片与文字,文字之间等等),填写到指定位置即可

\vspace{-0.5cm}  %调整图片与上文的垂直距离

 

~ bib文件中有的项,编译后仍然报错没有

可能是前面各项之间缺了逗号.

 
~ 论文中 Index Terms 就是 keywords
 
 
~ bib中 @article{label  name 命名里面 label 和 name 之间不能有空格    
 
 
~ IEEE latex 模板图片标题无法居中问题.
直接使用引导(具有强制性,所有图像标题都居中)
\usepackage[justification=centering]{caption}
事实上使用下面这个更好
\usepackage{caption}
 
 
~ latex第一页为空白情况
\author{***,
        ***,
        ***,% <-this % stops a space
\thanks{aaaa}% <-this % stops a space
\thanks{}% <-this % stops a space
\thanks{}}
\maketitle
里面添加 \maketitle
 
 
~ 出现连接bib文件失败时, 仔细查看 bib文件名和引用的名字是否相同(尤其大小写),建议以下写法,不建议%后的写法, 然后按F6,F8(texstudio)
\bibliographystyle{IEEEtran}
\bibliography{my_references}
%\bibliography{IEEEtran,my_references.bib}
 
 
~ IEEE tran 文献出现两个作者完全相同时,第二个作者会变为横线
在 IEEEtran.bst 找到这样一条命令:FUNCTION {default.is.dash.repeated.names} { #1 },然后将1改成0重新编译即可。
 
~ 表格文字居中
\begin{table*}[tbp]
    \centering
    \caption{Rendering of each algorithm 1}
    \begin{tabular}{m{1.5cm}<{\centering} m{2.5cm}<{\centering} m{2.5cm}<{\centering} m{2.5cm}<{\centering} m{2.5cm}<{\centering} m{2.5cm}<{\centering}}
 
~ 论文中添加 NtP
\def\abstractname{Note to Practitioners}
\begin{abstract}
...
\end{abstract}
 
~ 加入空行
~\\
 
~ 单栏双栏变换
\onecolumn
\twocolumn
注意:使用这个会使内容变到下一页显示
 
~ 报错:Package amsmath Error: Erroneous nesting of equation structures;(amsmath) trying to recover with `aligned'. \end{align}
将align改为aligned
 
~ 使用\begin{equation} \end{equation}可以给公式自动编号,但如果中间同时使用[ ],则不会自动编号。使用\begin{aligned}时,必须使用 \[...\] 进行包含,如果使用\begin{align}时不能使用 \[...\] 进行包围, 使用\[ \] 时公式会自动换行, 如果不想换行将 \[ \] 替换为 $$
 
~ 公式编号, 更多可以参考 https://blog.csdn.net/garfielder007/article/details/51584396
1.可以使用 \begin{equation} \end{equation} 自动编号, 但是公式较长换行的话, 此方法不好, 简单公式的话, 里面最好加 \begin{array}{l}
2.使用 \eqno{(2)} 跟在后面可以手动编号
3.使用如下方式处理换行公式, 注意公式里不能有 [ ]

\begin{equation}
\begin{split}

...

\end{split}
\end{equation}

 

~ 公式使用 $$ 会自动换行, 如果使用 $ 则不会换行. 

 

~ latex 目录结构

-1 \part{part}

0 \chapter{chapter}
1 \section{section}
2 \subsection{subsection}
3 \subsubsection{subsubsection}
4 \paragraph{paragraph}
5 \subparagraph{subparagraph}

 

~ 公式中无法正确输出=号(ACM期刊常见)

可以使用\text{=}替换=号

 

~ 页眉和页脚

\usepackage{fancyhdr}

\pagestyle{fancy} % 用于开启页眉页脚设置
\fancyhead{} %清除页眉
\fancyfoot{} %清除页脚
\fancyhf{} %同时清除页眉页脚
\renewcommand\headrulewidth{0pt} %清除页眉分割线
\renewcommand\footrulewidth{0pt} %清除页脚分割线

%\fancypagestyle{plain}{}
\fancyhead[LE,RO]{~\thepage~} % 奇数页右边,偶数页左边
%\fancyhead[LE]{2} %偶数页左边
%\fancyhead[RO]{3} %奇数页右边

 

~ 字体倾斜

\textsl{}

 

~ ELSEVIER 双栏图片表标题居中

在 cas-common.sty 文件中找到

\cs_new:Npn \__make_tbl_caption:nn #1#2 下面找到

{\centering\sffamily\small\textbf{\color{scolor}#1}:\par #2\vskip4pt }} 改为
{\centering\sffamily\small\textbf{\color{scolor}#1}:\ #2\vskip4pt }}

在 \cs_new:Npn \__make_fig_caption:nn #1#2 下面找到

{\rightskip=0pt\sffamily\small\textbf{\color{scolor}#1:}~#2\par }  改为

{\leftskip=0pt\sffamily\small\textbf{\color{scolor}#1:}~#2\par }

之后每个图片或者表标题都使用\caption{\centering{ }}

 

~ 伪代码太长,可以分页显示

在引言处加上以下代码

\usepackage{algorithm,algpseudocode,float}
\usepackage{lipsum}
\makeatletter
\newenvironment{breakablealgorithm}
  {% \begin{breakablealgorithm}
   \begin{center}
     \refstepcounter{algorithm}% New algorithm
     \hrule height.8pt depth0pt \kern2pt% \@fs@pre for \@fs@ruled
     \renewcommand{\caption}[2][\relax]{% Make a new \caption
       {\raggedright\textbf{\ALG@name~\thealgorithm} ##2\par}%
       \ifx\relax##1\relax % #1 is \relax
         \addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##2}%
       \else % #1 is not \relax
         \addcontentsline{loa}{algorithm}{\protect\numberline{\thealgorithm}##1}%
       \fi
       \kern2pt\hrule\kern2pt
     }
  }{% \end{breakablealgorithm}
     \kern2pt\hrule\relax% \@fs@post for \@fs@ruled
   \end{center}
  }
\makeatother

之后将

\begin{algorithm} 和\end{algorithm}

换成

\begin{breakablealgorithm}和\end{breakablealgorithm}
 
这个可以参考
https://blog.csdn.net/sunwl_csdn/article/details/89028405
 
~ 表格控制每行行高
很简单,只需在该行内容开始之前添加以下命令即可:
\rule{0pt}{15pt}
 
~ 表格或图片文字旋转角度
插入包 \usepackage{rotating}
\begin{sideways}将要打印的内容旋转90度\end{sideways}
\begin{rotate}{120}将要打印的内容旋转自定义角度,但是旋转结果并不能保证被旋转对象所需要的空间\end{rotate}
 

posted on 2020-06-16 18:38  悟江居士  阅读(3762)  评论(0编辑  收藏  举报

导航