most in Chinese, rest in English

0%

Latex使用指南

Latex使用指南

\advance\leftskip-1cm move figure to the left

Latex 安装

在本地电脑上面安装Latex非常方便。因为本人用的是苹果电脑,推荐采用MacTeX + TeXstudio 的组合。

  1. 首先,需要安装MacTex。它是Mac系统上应用最好的Latex编译软件,提供了强大的功能。唯一的缺点就是容量较大,需要2-4个G的安装空间。网上有人说可以下载BasicTeX也可以,但是本人感觉用起来经常报错,所以最终还是选择稳妥的MacTex.下载安装完之后,会在Application的文件夹下面产生一个Tex的文件夹。里面有一些软件可以进行页面化的操作,包括TexShop和LaTeXiT.
  2. 下载TeXstudio。它是一个非常好用的Latex GUI,提供非常方便的页面进行操作。

下载安装完这两个软件之后,就可以畅通无阻的在本地使用Latex了!

如何用texstudio:

  1. 直接打开主文件,会自动识别所有相关的文件的。
  2. overleaf上面是bib 文件,本地的是bbl文件,overleaf 的生成bbl 文件需要点击log 按钮,拉到最下面,会有一个下载bbl 文件的地方。
  3. citation undefined warning 解决方法:I know that this question has been answered here Undefined citation warnings, which states that the user should compile the code with the following process:
    latex
    bibtex
    latex
    latex

对应的命令行为 pdflatex ijcai19; bibtex ijcai19

font格式问题

PDF中的图片有时候会出现type 3 font的问题,然而在论文提交的过程中,由于一些平台可能不能正确加载type 3 font的文字,所以我们需要更改成type 1 font.

检查type 3 font

  • 检查方式是用acrobat reader打开pdf,然后看file->property里面的fonts,有没有type 3。
  • 想要检查是否 PDF 中包含 “type 3 fonts” 可以使用:
    1
    pdffonts MY_PDF.pdf
    MacOS 上可以通过安装 poppler 来安装 pdffonts 。
    1
    brew install poppler

PDF文件

在latex中,如果我们导入draw.io画的PDF格式的流程图,如果涉及到图内有文字的话,有时会出现type 3 font,但有时候不会。所以平时的时候还需要注意点。如果直接在PDF中修改type 3 font的话,感觉目前没有什么好的办法。一个据说可行的方法是,先把PDF转成eps:

1
pdftops -eps -r 400 fig.pdf fig.eps

然后利用eps2eps命令将一个eps图片中字体全部曲线化,转换后的eps再转成pdf时,不带任何字体信息。但是本人这里是出现图片会被缩放到eps一角的情况。

1
eps2eps your.eps output.eps

最后再转成PDF:

1
epstopdf fig.eps fig.pdf

###Python画的图片
在Python画图存成PDF的过程中,同样存在type 3 font的问题。在程序中添加如下语句:

1
2
3
import matplotlib
matplotlib.rcParams['pdf.fonttype'] = 42
matplotlib.rcParams['ps.fonttype'] = 42

这使得matplotlib使用Type 42字体来生成PostScript 和PDF 文件.

1
matplotlib.rcParams['text.usetex'] = True

也可以这样强制生成Type 1 fonts, 不过可能会改变图形。

参考文献: