最近开始利用LaTeX写作复杂的文档,心情那个叫个爽呀,一点感觉不到排版的烦恼了。什么Word分页与分节?什么页眉与页脚?统统没有这种烦恼。这种写作乐趣就是让你只关注写作内容,爽歪歪地写下去,其实跟Markdown写博客,Git管理代码差不多的心情。其实这种烦恼只是转移到制作模板的人身上了,但是LaTeX实在是提供了太多的模板,so,尽管写吧。
写作环境推荐:
表格直接使用在线工具生成,一般也会新建一个文件夹例如table来存放表格,每个表格单独保存为xxx.tex文件,然后使用如下代码引入表格:
\input{tables/xx.tex}
这里的双栏并排主要是指表格或者图片双栏显示,比如需要讲两个图显示在一行,可以先引入如下包,然后使用下面的代码就可以将两个表格并排。其实还是通过textwidth的属性值来控制宽度的。
\usepackage{graphicx}
\usepackage{subfigure}
\makeatletter\def\@captype{figure}\makeatother
\begin{table*}
\begin{minipage}{0.50\textwidth}
\centering
\input{tables/a.tex}
\caption{describe a table}
\label{table:a}
\end{minipage}
\makeatletter\def\@captype{table}\makeatother
\begin{minipage}{0.50\textwidth}
\centering
\input{tables/b.tex}
\caption{describe b table}
\label{table:b}
\end{minipage}
\end{table*}
插入伪代码的生活需要先包含如下包:
\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{amsmath}
\usepackage{graphics}
\usepackage{epsfig}
\renewcommand{\algorithmicrequire}{\textbf{Input:}} % Use Input in the format of Algorithm
\renewcommand{\algorithmicensure}{\textbf{Output:}} % Use Output in the format of Algorithm
伪代码的具体写法如下, 更多详细的语法可以参照这里 LaTex algorithms:
\begin{algorithm}[!htb]
\caption{describe algorithm.}
\label{alg:new}
\begin{algorithmic}[1]
\Require
input, $D$;
input varible;
\Ensure
\For{each virable in D$}
\EndFor
\State xxxx
\EndFor
\label{code:recentEnd}
\end{algorithmic}
\end{algorithm}
在有些时候需要列出个1,2,3的列表,具体格式就很简单了,主要有itemize和enumerate两种,前者是列表前面是符号,而后者就是(1),(2)这种。
\begin{itemize}
\item one
\item two
\item three
\end{itemize}
\begin{enumerate}
\item one
\item two
\item three
\end{enumerate}
如果需要将文中的所有图片放在最后面,可以包含如下的包即可:
\usepackage{endfloat}
\usepackage{epstopdf}
一般是新建一个biblio.bib来专门存放参考文件,然后利用如下代码引入:
\bibliographystyle{IEEEtran}
\bibliography{biblio}
复杂的数学公式可以采用在线编辑实现,HostMath