办公 · 2021年 3月 15日 0

texlive_texworks

Texlive

Linux下安装

sudo mount -t iso9660 -o ro,loop,noauto Downloads/texlive2019-20190410.iso /mnt
cd /mnt
sudo ./install-tl gui 
sudo umount /mnt
  • linux texlive
export PATH=/usr/local/texlive/2019/bin/x86_64-linux:PATH
export MANPATH=/usr/local/texlive/2019/texmf-dist/doc/man:MANPATH
export INFOPATH=/usr/local/texlive/2019/texmf-dist/doc/info:$INFOPATH 
  • 系统 texlive 检查
$ which latex
/usr/local/texlive/2021/bin/x86_64-linux/latex

无论是linux还是windows,安装texlive 都可以参考这里 Ref

Windows下安装

打开cmd窗口并执行

Z:\install-tl-windows.bat --no-gui

可直接按键盘 I 在默认路径中直接安装TEX Live

中文字体设置

使用 CTeX 排版中文,目前主要可以使用两种方式:

  • 使用 ctexart 文档类(英文:documentclass)
  • 使用 ctex 宏包(英文:package)
\usepackage[UTF8]{ctex}

获取字体

  • 查看windows已安装字体,在命令窗口执行下面的命令: fc-list :lang=zh >> c:\font.txt 这个命令的作用是将计算机内所有的中文字体写入c盘下的font.txt文件内,然后我们查看一下font.txt的内容。 通过Ctrl+F来找到“华文行楷”,然后记住STXingkai,就是它前面的内容,之后后用到这个。
    REF
  • 查看linux已安装字体
  fc-list
  fc-list :lang=zh
  • 网站下载 :(fonts.net)https://www.fonts.net.cn

字体安装

  • 建立字体文件
    建立/usr/share/fonts/tex_fonts 目录
liupei@T470:/usr/share/fonts/tex_fonts$

把下载好的字体拷贝到/usr/share/fonts/tex_fonts目录下:

sudo cp ~/myfonts/* /usr/share/fonts/tex_fonts/

修改字体文件的权限,使root用户以外的用户也可以使用

sudo chmod -R 755 tex_fonts
  • 建立字体缓存
sudo mkfontscale
sudo mkfontdir
fc-cache -fv 

至此字体就安装成功了,如果需要安装其他字体,只需将字体拷贝到字体目录下,重新运行以上的命令即可。参考文献:EAST4021

  • 字体卸载
# 完全卸载texlive

rm -rf /usr/local/texlive/2019
rm -rf ~/.texlive2019

字体设置

  • 设置默认字体
  • \setmainfont{ } 一般就是论文中西文部分默认使用的字体。通常到 Word 2003 为止,这里的默认字体都会是 Times New Roman。Linux 下也有同名字体。
  • \setsansfont{ } 是西文默认无衬线字体。一般可能出现在大标题等显眼的位置。这一部分经常碰上的字体会是 Helvetica/Arial。Linux下也有 Helvetica,前缀是 -adobe-helvetica-* 。这是一个古老的非抗锯齿版本(也就是不用 fontconfig 配置而使用 xfontsel),所以如今的 XWindow 环境应该不会再使用它作为屏幕字体。而 Windows 下的 Word 则经常会默认为 Arial。——之前我说Windows下也能看见Helvetica,应该是源自一些错误的印象。经再次确认,Word 和 Windows 本身都不自带 Helvetica。感谢@梁海 君指出 Windows 下没有 Helvetica。
  • \setmonofont{ } 是西文默认的等宽字体。一般用于排版程序代码。Courier 或者 Courier New 是常见的 Word 选项。Linux 下一般会有 Courier,但很少能看见 Courier New。
  • \setCJKmainfont[BoldFont={ },ItalicFont={ }]{ }这个命令指定中文(或韩文日文)的默认字体。通常情况下,我见过的大部分文档论文会要求用宋体排版,实际上就是说的是SimSun。Linux 下可能用文鼎宋体代替,不过效果可能较差。另一点是和西文不同的地方,这个设置允许我们指定粗体和斜体应用何种字体代替。之所以有这个区别,是因为中文不使用粗体表示强调,也不使用斜体表示引文或书名号。我一般会指定BoldFont 和 ItalicFont 为某种黑体,Windows 环境下是SimHei,Linux 下我会用文泉驿正黑避免版权问题。但具体操作上可能需要灵活调整。有些高校的论文模板,比如我母校就是明确要求强调段落必须使用楷体(SimKai),只能照着要求设置。

参考文献:

latex帮助文档

命令行调出帮助

在 windows cmd,或 linux shell,输入一下命令:

texdoc lshort-zh
texdoc install-latex-guide-zh-cn

texdoctk

如果想知道都有哪些帮助,可以通过 texdoc 模糊搜索

texdoc -l beamer

查看有哪些 beamer 的帮助文档,然后再通过 texdoc 命令打开需要的文档。

html帮助

file:///usr/local/texlive/2021/doc.html

file:///usr/local/texlive/2021/index.html

ctex官方帮助:http://www.ctex.org/HomePage

ctex在线文档:http://www.ctex.org/OnlineDocuments

参考文献设置

LaTeX插入参考文献,可以使用BibTex,也可以不使用BibTex。

使用BibTeX-序号

这种方法需要建立参考文献数据库,引用的时候调用所需要的参考文献。

BibTeX 是一种格式和一个程序,用于协调LaTeX的参考文献处理. BibTeX 使用数据库的的方式来管理参考文献. BibTeX 文件的后缀名为 .bib . 先来看一个例子

$ cat 01_04.bib 

@article{lincong2018,
  title = {{样本迁移支持下的遥感影像自动分类方法}},
  author = {林聪 and 李二珠 and 杜培军},
  year = {2018},
  journal = {测绘通报},
  number = {04},
  pages = {57--62},
  keywords = {automatic classification,change detection,land cover,spectral curve shape vector,transfer learning,光谱形状编码,变化检测,土地覆盖,自动分类,迁移学习}
}

@article{wu2014,
  title = {{迁移学习支持下的遥感影像对象级分类样本自动选择方法}},
  author = {吴, 田军 and 骆, 剑承 and 夏, 列钢 and 杨, 海平 and 沈, 占锋 and 胡, 晓东},
  year = {2014},
  journal = {测绘学报},
  volume = {43},
  number = {09},
  pages = {908--916},
  language = {中文;},
  keywords = {automation,change detection,land-cover,object-oriented classification,sample collection,transfer learning,变化检测,土地覆盖,对象级分类,样本选择,自动化,迁移学习}
}

在论文最末,\end{document}之前,插入如下两行命令:

\bibliographystyle{plain}
\bibliography{ref}

命令\bibliographystyle{plain}的作用是插入参考文献的样式,不同的杂志期刊的样式不一样,视个人情况。

命令\bibliography{ref}的作用是插入参考文献文件

常见的预设样式的可选项有8种,分别是:

plain,按字母的顺序排列,比较次序为作者、年度和标题;
unsrt,样式同plain,只是按照引用的先后排序;
alpha,用作者名首字母+年份后两位作标号,以字母顺序排序;
abbrv,类似plain,将月份全拼改为缩写,更显紧凑;
ieeetr,国际电气电子工程师协会期刊样式;
acm,美国计算机学会期刊样式;siam,美国工业和应用数学学会期刊样式;
apalike,美国心理学学会期刊样式;

引用文献:

\cite {引用文章名称}

参考文献:MOON学术论文写作

使用BibTeX-作者,年代

首先在导言区插入如下命令:

\usepackage{natbib}
\setcitestyle{authoryear,round}

.tex文件文末插入如下命令:

\bibliographystyle{unsrtnat}
\bibliography{../Documents/01_04}

引用命令常用的有两类四种, 分别是\citet{...}, \citet*{...}, \citep{...}, \citep*{...}. 需注意的问题及命令使用规则:

  • 在使用时花括号中的...需用文献的bibtexkey替换.
  • 命令\citet{…}和\citet{…}表示只给年份加括号. 例如\citet{Fleming1975-Deterministic}的编译结果为: Fleming and Rishel (1975). 当作者数量 ≥ 3 \geq3 ≥3 时, \citet{…}编译结果中只会显示第一作者和年份, 例如: \citet{Chong2013TiB-mathematical}(此条文献共三位作者)的编译结果为: Chong et al. (2013). 若我们希望显示所有的作者, 可用\citet{…}来处理, 例如\citet*{Chong2013TiB-mathematical}的编译结果为: Chong, Tchuenche, and Robert (2013) .
  • 命令 \citep{…}和 \citep{…}表示给作者和年份都加括号, 效果为: (作者, 年份). 例如\citep{Hattaf2012IB-Optimal}编译结果为: (Hattaf and Yousfi, 2012). 当作者数量 ≥ 3 \geq3 ≥3 时, \citep{…}也会只显示第一作者, 我们可以使用\citep{…}使其显示全部作者, 例如\citep*{Lahrouz2018PASMaiA-Dynamics}(此条文献共有四位作者)编译结果为: (Lahrouz, Mahjour, Settati, and Bernoussi, 2018).
  • 若之前使用的是数字格式引用, 即[1], [2]…的形式, 在初次加入上述命令时可能会报错, 只需把中间文件(不是你创建而是由电脑生成的那些文件)清除之后再次编译即可.

参考文献:Beta2187

显示所有文献

\nocite{*} 

参考来源:Frank

自动补全与拼写检查

texworks自动补全

环境类

对于环境的补全, 引导词第一个字母均为b, 后面字母个数不定, 但是, 对绝大多数的环境, 只需要使用环境名的前三个字母就行, 即为 “b+xyz+[tab]”.

比如 itemize 环境, 根据规则, 我们需要键入 “bite”, 然后按下tab键, 即得到了

参考文献:texworks使用指南

texworks拼写检查

使用字典步骤

  • 下载词典

我们使用openoffice的词典即可, 到它的下载页面:OpenOffice 字典链接,找到合适的语言, 就可以下载了. 找到自己需要的语言,默认下载解压后是oxt文件。

  • 安装字典
Help->Setting and resource

新建文件夹dictionaries,将刚才解压的文件放到 dictionaries 文件夹内 (The .oxt files can be renamed to .zip and then uncompressed to find the required .dic and .aff files.).

  • 字典测试和使用

重启 TeXworks, 可以在“Edit→Spelling”中发现刚才成功安装的拼写词典. 为了每次都能使用, 去 “Edit→Preferences→Edit→Spell-check language”中选择刚才添加的词典, 这样就可以在拼写的时候帮我们进行检查了.

表格

长表格

使用宏包 \usepackage{longtable}

\begin{longtable}{ccc}
    \caption{xxx\label{tab.xxx}}\\
    \toprule
    Name & Year & Targeted Language\\
    \midrule
    AutoFix-E \cite{wei_automated_2010} & 2010 & Eiffel \\
    \bottomrule
\end{longtable}

自动换页并显示续表

\begin{longtable}{|*{11}{c}}
\caption{红辣椒Paprika(2006)} \label{tab:Paprika}\\
% 首页的表头
\toprule
1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 \\
\midrule
\endfirsthead
% 续表的表头
\multicolumn{11}{c}{续表\ref{tab:Paprika} 辣椒Paprika(2006)}\\
\toprule
1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 \\
\midrule
\endhead
% 表底
\bottomrule
\endfoot
% 表的数据
1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 & 10 & 1 \\

1 & 13 & 1 & 13 & 1 & 13 & 1 & 13 & 1 & 13 & 1 \\

1 & 16 & 1 & 16 & 1 & 16 & 1 & 16 & 1 & 16 & 1 \\
\end{longtable}

参考文献:

multirow 内换行
使用 \shortstack

\multirow{7}{*}{\shortstack{交通运输\\用地} }

参考文献:

长表格某一页横排

使用 lscape 宏包提供的 landscape 环境,具体的命令如下:

\usepackage{lscape}
...
\begin{landscape}
This is a landscape page.
\end{landscape}

表格与页面同宽

参考文献:

设置表格整体宽度

  • 通过设置每个单元格的宽度
  \setlength{\tabcolsep}{1.5mm}{xxxx}

使用范例

  \begin{table*}
  \centering
  \caption{Test}
  \setlength{\tabcolsep}{1.5mm}{
  \begin{tabular}{cc}
   & & \\
  \end{tabular}
  \end{table*}
  • 设置表格的整体宽度
  \resizebox{\textwidth}{15mm}{XXXX}

小例子:

  \begin{table*}
  \centering
  \caption{Test}
  \resizebox{\textwidth}{16mm}{
  \begin{tabular}{cc}
   & & \\
  \end{tabular}
  \end{table*}

参考文献

表格内容垂直居中

  • 得导入array包,使用 \usepackage{array}
    小例子
  \begin{table*}
  \centering
  \caption{Test}
  \begin{tabular}{|c|m{0.7\textwidth}|}
   & & \\
  \end{tabular}
  \end{table*}

参考文献:ref

表格指定宽度并居中

  • 居中 \begin{tabular}{ | c | c |}
  • 指定宽度 \begin{tabular}{ | c | p{2cm} |}
  • 指定宽度并居中, 可以指定宽度 p{2cm},再进行居中 p{2cm}<{\centering} 小例子
  \begin{table}[htbp!]
  \begin{tabular}{| l | p{11cm}<{\centering} |}
  \hline
  tab1 & tab2 \\
  \hline
  \end{tabular}
  \end{table}

参考文献:ref

图片

图片旋转

\includegraphics[scale=0.5,angle=90]{../证书2017.jpg}

图片乱跑

  • 在编辑器头部加入宏包 \usepackage{float}
    然后,在插入图片的语句后加个[H]即可,如:\begin{figure}[H]

插入一张图片

\begin{figure}[htbp]% 调节图片位置,h:浮动;t:顶部;b:底部;p:当前位置,使用 float包的 H 参数,使图片固定在指定位置
    \centering
    \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}% 中括号中的为调节图片大小
    \caption{chutian}
    \label{chutian}%文中引用该图片代号
\end{figure}

插入多张图片(以2×2为例)

\begin{figure}[htbp]
    \centering
    \begin{minipage}{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian1}
        \label{chutian1}%文中引用该图片代号
    \end{minipage}
    \begin{minipage}{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian2}
        \label{chutian2}%文中引用该图片代号
    \end{minipage}
    %\qquad     %让图片换行,
    \begin{minipage}{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian3}
        \label{chutian3}%文中引用该图片代号
    \end{minipage}
    \begin{minipage}{0.49\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian4}
        \label{chutian4}%文中引用该图片代号
    \end{minipage}
\end{figure}

使用子图

注意子页面 subfigure 的大小超过0.33,横排会容不下三个图片

\begin{figure}[htbp]
    \centering
    \begin{subfigure}{0.325\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian3}
        \label{chutian3}%文中引用该图片代号
    \end{subfigure}
    \centering
    \begin{subfigure}{0.325\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian3}
        \label{chutian3}%文中引用该图片代号
    \end{subfigure}
    \centering
    \begin{subfigure}{0.325\linewidth}
        \centering
        \includegraphics[width=0.9\linewidth]{Figure/chutian.JPG}
        \caption{chutian3}
        \label{chutian3}%文中引用该图片代号
    \end{subfigure}
    \caption{mother of chutian}
    \label{da_chutian}
\end{figure}

参考文献:

多文件编译 | 分段编译

杂项

文档默认日期显示

文档默认日期显示

使用\date关键字并将{}里的内容置空即可,即:

\date{}

重新编译,这样就不显示时间了。

目录两个字居中

目录两个字居中

\begin{center}
\tableofcontents
\end{center}

不编号章节出现在目录

不编号的章节出现在目录中

\begin{document}
\maketitle
\tableofcontents
\addcontentsline{toc}{section}{个人综述} %
\section*{个人综述}
\section{test}
\section{try}
\end{document}

vscode 配置

  • 下载并安装 vscode
  • 安装插件 Latex Workshop
  • 配置 Settings.json 文件 配置方法:
  • 点击 设置
  • 打开右上角的 打开设置(json)
  • 输入以下内容
  "latex-workshop.latex.tools": [
        {
            "name": "xelatex",
            "command": "xelatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "pdflatex",
            "command": "pdflatex",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "%DOCFILE%"
            ]
        },
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-synctex=1",
                "-interaction=nonstopmode",
                "-file-line-error",
                "-pdf",
                "-outdir=%OUTDIR%",
                "%DOCFILE%"
            ]
        },
        {
            "name": "bibtex",
            "command": "bibtex",
            "args": [
                "%DOCFILE%"
            ]
        }
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "XeLaTeX",
            "tools": [
                "xelatex"
            ]
        },
        {
            "name": "PDFLaTeX",
            "tools": [
                "pdflatex"
            ]
        },
        {
            "name": "BibTeX",
            "tools": [
                "bibtex"
            ]
        },
        {
            "name": "LaTeXmk",
            "tools": [
                "latexmk"
            ]
        },
        {
            "name": "xelatex -> bibtex -> xelatex*2",
            "tools": [
                "xelatex",
                "bibtex",
                "xelatex",
                "xelatex"
            ]
        },
        {
            "name": "pdflatex -> bibtex -> pdflatex*2",
            "tools": [
                "pdflatex",
                "bibtex",
                "pdflatex",
                "pdflatex"
            ]
        },
    ],
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux",
        "*.bbl",
        "*.blg",
        "*.idx",
        "*.ind",
        "*.lof",
        "*.lot",
        "*.out",
        "*.toc",
        "*.acn",
        "*.acr",
        "*.alg",
        "*.glg",
        "*.glo",
        "*.gls",
        "*.ist",
        "*.fls",
        "*.log",
        "*.fdb_latexmk"
    ],
    "latex-workshop.latex.autoClean.run": "onFailed",
    "latex-workshop.latex.recipe.default": "lastUsed",
    "latex-workshop.view.pdf.internal.synctex.keybinding": "double-click",
    "editor.codeActionsOnSave": {},
    "window.zoomLevel": 1,
    "cmake.configureOnOpen": true,
    "editor.wordWrap": "on"

参考文献:

tex转word

使用软件 pandoc,对于 xelatex编辑的有图、有公式的 tex 文件,通过以下命令,将 tex 转为 docx 文档

pandoc main.tex -o out.docx --filter pandoc-crossref --pdf-engine xelatex

关于参考文献,和模板,添加以下参数--bibliography=, --reference-doc=

pandoc mydoc.tex --bibliography=myref.bib --reference-docx=IEEE_template.doc -o mydoc.docx

pandocpandoc-crossref 工具的下载安装,

pandocpandoc-crossref 版本要一致,不然会有警告提示导致未知错误。

将下载好的压缩文件解压,并存放在 ~/bin/ 目录下,直接运行上面的命令即可。

参考文献:

beamer

参考文献:

tikz

TOC