我写论文主要是套模板, 所以整体的格式排版我基本上不会调整, 主要是一些细节上的设定. 主要的一些参考来自于中文手册: 一份(不太)简短的 LATEX2ε 介绍 .
表格
自定义竖线粗细

\documentclass{article} % 导入关键包 array \usepackage{array} % 定义新的列类型, 这里定义了一个竖线类型`?` % 实际上可以直接用它来代替`\begin{tabular}`右侧的格式设置里的`|`. \newcolumntype{?}{!{\vrule width 1pt}} \begin{document} \begin{tabular}{|c?c|c|} ... \end{tabular} \end{document}
- https://tex.stackexchange.com/questions/257128/how-does-the-newcolumntype-command-work?answertab=votes#tab-top
- https://tex.stackexchange.com/questions/156807/single-thicker-vertical-line
array文档: https://mirror.bjtu.edu.cn/ctan/macros/latex/required/tools/array.pdf调整位置
参考 浮动体 一节.合并单元格
同行内:\multicolumn{⟨n⟩}{⟨column-spec⟩}{⟨item⟩}, 其中⟨n⟩为要合并的列数,⟨column-spec⟩为合并单元格后的列格式, 只允许出现一个l/c/r或p格式. 如果合并前的单元格前后带表格线|, 合并后的列格式也要带|以使得表格的竖线一致. 下面的例子还体现了, 形如\multicolumn{1}{⟨column-spec⟩}{⟨item⟩}的命令可以用来修改某一个单元格的列格式.
同列内:\multirow{⟨n⟩}{⟨width⟩}{⟨item⟩},⟨width⟩为合并后单元格的宽度, 可以填*以使用自然宽度.
注意, 尽管合并了多行或者多列, 对应的位置可以不用再填充数据, 但是该有的间隔符&还是要有的. 同时要注意合并了上下的单元格后, 若是在中间绘制横线, 可以使用\cline{}通过制定绘制的列的范围来灵活的定制横线.调整表格大小
可以借助于resizebox来调整表格的宽度,高度会自动放缩.\resizebox{\linewidth}{!}{%\begin{tabular}...\end{tabular}}
列表
无序列表
```latex \usepackage{enumitem}
\begin{document}
\begin{itemize} \item … \item … \end{itemize}
\end{document}
<a name="fDI2T"></a>### 有序列表```latex\usepackage{enumitem}\begin{document}\begin{enumerate}\item ...\item ...\end{enumerate}\end{document}
压缩空间
想要压缩列表项的空间, 可以在在 \begin{itemize} 或者 \begin{enumerate} 后添加配置项: [noitemsep, nolistsep] .
图片
主要基于 \usepackage{graphicx} 来插入提供插入图片支持.
插入图片
\includegraphics[⟨options⟩]{⟨filename⟩}
\begin{figure}[t] \centering % 使图片居中, 也可以直接使用 `\begin{center} ... \end{center}` 环境包裹要居中的内容来实现. \includegraphics[width=\textwidth]{data/hardexapmles.pdf} % 这里在方括号里配置总体的宽度, 一般可以使用 `\textwidth` 作为基准宽度, 可以通过使用数字接该命令, 实现特定倍数的设置. \caption{caption.} % 自定义图片的caption内容. \label{fig:figlabel} % 自定义图片标签, 可以在文中使用 `\ref{fig:figlabel}` 引用. 注意, 这里的 `fig:` 不是必须的, 只是为了方便区分. \end{figure}
调整位置
在author下插入图片
会议论文

来自论文Conformer: Local Features Coupling Global Representations for Visual Recognition
# 这里摘录了上图作者tex文档中的关键代码 \documentclass[10pt,twocolumn,letterpaper]{article} \usepackage{caption} \begin{document} \title{...} \author{...} \twocolumn[{% \maketitle \renewcommand\twocolumn[1][]{#1}% \begin{center} \centering \includegraphics[width=1.0\textwidth]{image.pdf} \captionof{figure}{......} \label{fig:label} \end{center}% }] ... \end{document}
主要的核心就是使用\twocolumn将\maketitle和\includegraphics包起来,并且这里使用的是\captionof{figure}{}这种形式的caption指令。
IEEE期刊论文
一些期刊论文的模板可能上面的指令会失效,这时可以尝试下面这段代码。这段代码主要摘自https://arxiv.org/abs/2103.17123的源代码。
\begin{document} ... \setcounter{figure}{-2} \makeatletter \g@addto@macro\@maketitle{ \begin{figure}[H] % 这里可能用到了float包?我看的论文中倒是没有导入 \setlength{\linewidth}{\textwidth} \setlength{\hsize}{\textwidth} \centering \includegraphics[width=1\textwidth]{images/image.pdf} \caption{ ... } \label{fig:examples} \end{figure} % \vspace{-10mm} } \makeatother % make the title area \maketitle \begin{abstract} ... \end{abstract}
这里用到了一个特殊的内置宏\g@addto@macro。
更多有用的宏指令可见http://mirrors.ibiblio.org/CTAN/info/macros2e/macros2e.pdf。
论文中的效果如下:
浮动体
这部分主要摘自 一份(不太)简短的 LATEX2ε 介绍 , 这可以看做是一份非常有用的LaTeX的参考手册.
内容丰富的文章或者书籍往往包含许多图片和表格等内容. 这些内容的尺寸往往太大, 导致分页困难. LATEX 为此引入了浮动体的机制, 令大块的内容可以脱离上下文, 放置在合适的位置. LATEX 预定义了两类浮动体环境 figure 和 table . 习惯上 figure 里放图片, table 里放表格, 但并没有严格限制, 可以在任何一个浮动体里放置文字/公式/表格/图片等等任意内容.
以 table 环境的用法举例, figure 同理:
⟨placement⟩ 参数提供了一些符号用来表示浮动体允许排版的位置, 如 hbp 允许浮动体排版
在当前位置/底部/单独成页. table 和 figure 浮动体的默认设置为 tbp .
双栏排版环境下, LATEX 提供了 table* 和 figure* 环境用来排版跨栏的浮动体。它们的用法与table和 figure 一样, 不同之处为双栏的 ⟨placement⟩ 参数只能用 tp 两个位置。
浮动体的位置选取受到先后顺序的限制. 如果某个浮动体由于参数限制, 空间限制等原因在当前页无法放置, 就要推迟到之后处理, 并使得之后的同类浮动体一并推迟.\clearpage 命令会在另起一页之前, 先将所有推迟处理的浮动体排版成页, 此时 htbp 等位置限制被完全忽略. float 宏包为浮动体提供了 H 位置参数, 不与 htbp 及 ! 混用. 使用 H 位置参数时, 会取消浮动机制, 将浮动体视为一般的盒子插入当前位置. 这在一些特殊情况下很有用 (如使用 multicol 宏包排版分栏内容的时候), 但尺寸过大的浮动体可能使得分页比较困难.
文本
主要是几个特定的格式:
textbf{text}加粗text文本textit{text}倾斜text文本textcolor{color}{text}将text文本着色为color指定的颜色. 调用color或xcolor宏包后, 我们就可以用这样的命令切换颜色, 我们一般使用color宏包并配合特定颜色名字来设定颜色.

\rotatebox{90}{text}将text文本逆时针旋转90°.定制长度
首先可以尝试比较直接的
\vspace{}和\hspace{}来调整前后内容的垂直间距和水平间距.\vspace命令生成的垂直间距在一页的顶端或底端可能被 “吞掉” , 类似\hspace在一行的开头和末尾那样. 对应地,\vspace*命令产生不会因断页而消失的垂直间距.\vspace也可用\stretch设置无限延伸的垂直长度. 在段落内的两行之间增加垂直间距, 一般通过给断行命令\\加可选参数,如\\[6pt]或\\*[6pt].\vspace也可以在段落内使用, 区别在于\vspace只引入垂直间距而不断行.
另外, 这里列举了一些可以调整的长度设定, 表中所有的长度命令可用\setlength{}{}来修改.
在这里我常用到的是其中的abovecaptionskip和belowcaptionskip. 这可以用来调整图标的caption与上下文字之间的距离.\begin{figure}[t] \setlength{\abovecaptionskip}{0.2cm} %调整图片标题与图距离 \setlength{\belowcaptionskip}{-0.4cm} %调整图片标题与下文距离 ... \end{figure}
这里使用的单位主要定义如下:

基于此, 可以实现更为灵活的调整. 不过看起来em和ex调整起来更合理些.跳转
主要借助于包
\usepackage{hyperref}来实现.
一个简单的文档可以参考:
https://www.overleaf.com/learn/latex/hyperlinks.超链接
\href{链接地址}{链接文字} \url{链接地址} % 这个直接显示成链接地址
脚注
https://www.overleaf.com/learn/latex/Footnotes
主要可以用的有这么几条指令:\footnote{text}\footnote[number]{text}: 添加一个脚注,使用“ number”作为参考标记。 除非您有充分的理由这样做,否则不建议您这样做,因为脚注计数器不会更改,并且您可能最终得到两个带有相同标记的脚注\footnotemark&\footnotetext{text}: 有些情况下(比如在表格环境、各种盒子内)使用\footnote并不能正确生成脚注。我们可以分两步进行,先使用\footnotemark为脚注计数,再在合适的位置用\footnotetext生成脚注。\begin{tabular}{l} \hline “天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnotemark \\ \hline \end{tabular} \footnotetext{表格里的名句出自《千字文》。}
正文效果:

会在页脚产生对应的脚注.\renewcommand{\thefootnote}{\roman{footnote}}: 这里的roman可以替换为如下几种, 从而可修改往后的footnote的符号:arabicArabic numeralsRomanUpper case Roman numerals.alphAlphabetic lower case.AlphAlphabetic upper case.fnsymbolA set of 9 special symbols. ```latex \footnotetext{footnote with two references}
\renewcommand{\thefootnote}{\roman{footnote}}
Now a footnote in Roman\footnote{This footnote is in Roman numerals}
```
结果为:

如果需要重新指定符号类型, 可以在新的脚注前, 重新使用该指令. 该指令可以用在正文中.
参考链接
- List of internal LATEX2e Macros useful to Package Authors:http://mirrors.ibiblio.org/CTAN/info/macros2e/macros2e.pdf
