LaTeX相关笔记

 

$\LaTeX$相关问题与解决方式, 不定期更新。

公式相关

算法换行保持缩进

在使用algorithm包编辑算法时, 偶尔会需要进行换行, 但不增加行号, 在此记录比较简便的方法1

  • 示例:
\begin{algorithm}
    \begin{algorithmic}[1]
        \State \hspace{5mm} Here is a sentence that needs to be broken into new line \newline
               \hspace*{5mm} while maintaining indent.
    \end{algorithmic}
\end{algorithm}

效果如图所示:

wrap

其中用到的关键词包括: \newline以及\hspace*{}。两者搭配使用即可。\newline负责换行并保持行号不自增(如果是\\会使行号自增); 而\hspace*{}负责缩进控制, 务必加上*, 以告诉编译器此处缩进有效, 否则缩进将被无视2

$\max$下换行

  • 示例:
  • 源码:
\max_{\substack{\alpha, \beta, \gamma, \\ \phi, \psi} } \quad \text{Objective}

用到的语法是: \substack3, 需要引入的包为: amsmath

安装

Linux上安装texlive

在windows安装ctex合集就能搞定日常需要使用的各种tex环境与包, 相应的在Linux上需要安装texlive以配置latex的环境。通过以下命令安装:

sudo apt-get install texlive

该命令将安装常用的tex环境和包, 但是仍然缺若干的package或字体, 例如: algorithm, multirow以及bbm, 相应的可以通过安装texlive-science4, texlive-latex-extra5以及texlive-fonts-extra6补充。

此后, tex文件可以正常编译, 但可能出现无法显示参考文献的情况, 原因是还缺少texlive-publishers, 需要相应安装7

Linux上完全卸载texlive

sudo apt-get purge texlive*
sudo rm -rf /usr/local/texlive/* and rm -rf ~/.texlive*
sudo rm -rf /usr/local/share/texmf
sudo rm -rf /var/lib/texmf
sudo rm -rf /etc/texmf
sudo apt-get remove tex-common --purge
rm -rf ~/.texlive
find -L /usr/local/bin/ -lname /usr/local/texlive/*/bin/* | xargs rm

杂项

IEEEtran会议模板启用\thanks

默认情况下, IEEEtran会议模板禁用了\thanks, \IEEEmembership等标识, 导致编译时被略去, 可以通过在\begin{document}前加入\IEEEoverridecommandlockouts消去禁用8

TexStudio生成dvi文件

默认情况下, texstudio采用pdflatex编译器, 将由tex文件生成pdf文件。将编译器修改为latex即可默认生成dvi文件。

需要注意的是latex编译器对.pdf格式插图支持不如pdflatex9, 最好使用.eps插图。

PDF插图转eps格式

接上一条, 若插图为pdf格式, 需要转为eps格式。Windows可以使用Adobe acrobat另存为选择eps格式即可。Linux可以使用如下脚本10, 将其保存为pdf2eps:

#!/bin/sh
# $Id: pdf2eps,v 0.01 2005/10/28 00:55:46 Herbert Voss Exp $
# Convert PDF to encapsulated PostScript.
# usage:
# pdf2eps <page number> <pdf file without ext>

pdfcrop "$2.pdf" "$2-temp.pdf"
pdftops -f $1 -l $1 -eps "$2-temp.pdf" "$2.eps"
rm  "$2-temp.pdf"

其中用到pdfcroppdftops, pdfcroptexlive-extra-utils组件之一。

Unknown document class (or package)

论文写作时如在IEEEtran模板下使用caption包, 大概率会出现如下警告提示:

Unknown document class (or package),
(caption)   standard defaults will be used.
See the caption package documentation for explanation.

其原因在于11:

This warning appears when your document does not have definition of \@makecaption command.

解决办法在这里给出, 不再赘述。