Linux 配置 VS Code Latex环境

[TOC]

vscode 小巧灵活, 与LaTex结合起来体验不错, 加上git进行版本控制,可以方便的管理版本,这样可以方便多人进行协作,对于批注可以使用latexdiff来进行操作

image.png

更改后,保存文件,自动在预览图里面显示。

如果按照步骤一步步进行,应该不会出现问题,如果有问题可以直接评论,看到立即回复。

1、安装textlive

# 这一步会安装比较久,稍等一会
sudo apt-get install texlive-full cjk-latex latex-cjk-chinese

2、安装中文

通过使用自定义的字体、中文配置、编码选项等。使 LaTex 支持中文,当然 XeTeX 原生支持中文。这也是个人优先选择配置 xelatex 环境的原因。

拷贝 Windows 下字体 C 盘 Windows 路径下,Fonts 文件夹,
(C:\windows\fonts)

存储全部 Windows 上的字体文件,将其拷贝。

或者直接下载我准备好的windows字体文件:
链接: https://pan.baidu.com/s/1rIU6MwxXQef-HQ9u5Nul8g 提取码: 1yie

复制到 Linux 对应字体路径下
** 建立字体存储文件夹,在Linux字体路径下**

sudo mkdir /usr/share/fonts/winfonts

复制到 /usrshare/fonts/winfonts

安装字体

cd /usr/share/fonts/winfonts
sudo mkfontscale
sudo mkfontdir
刷新字体缓存
sudo fc-cache -vf
# 查看宋体是否安装
fc-list -vf | grep '宋体'

或者直接复制字体文件到~/.font/ 目录下

fc-cache -fv
fc-list -vf | grep '字体'

3、编译文件

在目录下创建demo.tex文件,文档内容

\documentclass{article}
\usepackage[a4paper, left=1in, right=1in, top=1in, bottom=1in]{geometry}
\usepackage{xeCJK} %调用 xeCJK 宏包
\usepackage{listings}
\author{ ice }
\date {2019.01.28}
\setCJKmainfont{WenQuanYi Micro Hei Mono:style=Regular} %设置 CJK 主字体为 SimSun (宋体)
\title{Latex入门学习}
\begin{document}
\maketitle
\begin{center}
\end{center}

\tableofcontents %添加目录

\tableofcontents 

\begin{abstract}
this is abstract。
\end{abstract}

\section{asf}
你好。

\section{as}
hello world  

% Lorem  \cite{Lutz2017} ipsum dolor sit amet, consectetur adipisicing

% \bibliography{info}
\bibliographystyle{ieeetr}

\end{document}

然后输入命令

xelatex demo.tex

命令执行完毕查看是否有demo.pdf文件生成

4、安装vscode 插件

如果想集成到vscode,可以在vscode 中安装
latex-workshop这个插件

5、配置vscode

打开 vscode 选项配置ctrl+,,在User settings中,加入如下配置内容:

  "editor.wordWrap": "on",
  "latex-workshop.latex.tools": [
    {
      "name": "latexmk",
      "command": "latexmk",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "-pdf",
        "%DOC%"
      ]
    },
    {
      "name": "xelatex",
      "command": "xelatex",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOC%"
      ]
    },
    {
      "name": "pdflatex",
      "command": "pdflatex",
      "args": [
        "-synctex=1",
        "-interaction=nonstopmode",
        "-file-line-error",
        "%DOC%"
      ]
    },
    {
      "name": "bibtex",
      "command": "bibtex",
      "args": [
        "%DOCFILE%"
      ]
    }
  ],
  "latex-workshop.latex.recipes": [
   {
      "name": "latexmk",
      "tools": [
        "latexmk"
      ]
    },
    {
      "name": "xelatex -> bibtex -> xelatex*2",
      "tools": [
        "xelatex",
        "bibtex",
        "xelatex",
        "xelatex"
      ]
    },
    {
      "name": "xelatex",
      "tools": [
        "xelatex"
      ]
    },
    {
      "name": "pdflatex -> bibtex -> pdflatex*2",
      "tools": [
        "pdflatex",
        "bibtex",
        "pdflatex",
        "pdflatex"
      ]
    }
  ],
  "latex-workshop.view.pdf.viewer": "browser",
  "files.autoSave": "afterDelay"

6、配置latexdiff

latex 工具主要用于订正,可以方便的显示出改变内容。

latexdiff old.tex new.tex > diff.tex

默认latexdiff对git的支持比较弱,如果想对git进行集成使用,可以安装:git-latexdiff

如果提示安装失败,可以尝试安装

sudo apt install asciidoc

默认gitlatexdiff 想支持中文可以尝试如下的命令:

# 比较上一个版本的变化
git latexdiff --xelatex --quiet --main demo.tex HEAD~1
# 对比两个版本中的变化8486ea3为老版本,cc306a6为新版本
git latexdiff --xelatex --quiet --main demo.tex 8486ea3 cc306a6

7、支持代码

如果想要在latex里支持代码,可以尝试如下的方式

\lstset{
    columns=fixed,       
    numbers=left,                                        % 在左侧显示行号
    frame=none,                                          % 不显示背景边框
    backgroundcolor=\color[RGB]{245,245,244},            % 设定背景颜色
    keywordstyle=\color[RGB]{40,40,255},                 % 设定关键字颜色
    numberstyle=\footnotesize\color{darkgray},           % 设定行号格式
    commentstyle=\it\color[RGB]{0,96,96},                % 设置代码注释的格式
    stringstyle=\rmfamily\slshape\color[RGB]{128,0,0},   % 设置字符串格式
    showstringspaces=false,                              % 不显示字符串中的空格
    language=bash,                                        % 设置语言
}

\begin{lstlisting}
    # 8486ea3为老版本,cc306a6为新版本,此命令会自动创建对比版本,
    # 如果有安装pdf阅读器,则会自动用pdf阅读器打开
    git latexdiff --xelatex --quiet --main demo.tex 8486ea3 cc306a6
\end{lstlisting}

8、添加参考文献

plain,按字母的顺序排列,比较次序为作者、年度和标题.

unsrt,样式同plain,只是按照引用的先后排序.

alpha,用作者名首字母+年份后两位作标号,以字母顺序排序.

abbrv,类似plain,将月份全拼改为缩写,更显紧凑.

ieeetr,国际电气电子工程师协会期刊样式.acm,美国计算机学会期刊样式.

siam,美国工业和应用数学学会期刊样式.

apalike,美国心理学学会期刊样式.

首先在文件夹下添加info.lib

内容如下:

@Article{GraffZivin2018,
    author  = {Graff Zivin, Joshua and Hsiang, Solomon M and Neidell, Matthew},
    title   = {Temperature and Human Capital in the Short and Long Run},
    journal = {Journal of the Association of Environmental and Resource Economists},
    year    = {2018},
    volume  = {5},
    number  = {1},
    pages   = {77-105},
    issn    = {2333-5955},
    type    = {Journal Article},
}

@Book{Lutz2017,
    title     = {World Population \& Human Capital in the Twenty-First Century: An Overview},
    publisher = {Oxford University Press},
    year      = {2017},
    author    = {Lutz, Wolfgang and Butz, William P and Samir, KC ed},
    isbn      = {0192542834},
    type      = {Book},
}

@Article{Zeng2017,
    author  = {Zeng, X. and Liu, L. and Leung, S. and Du, J. and Wang, X. and Li, T.},
    title   = {A decision support model for investment on P2P lending platform},
    journal = {PLoS One},
    year    = {2017},
    volume  = {12},
    number  = {9},
    pages   = {e0184242},
    issn    = {1932-6203 (Electronic)
            1932-6203 (Linking)},
    doi     = {10.1371/journal.pone.0184242},
    type    = {Journal Article},
    url     = {https://www.ncbi.nlm.nih.gov/pubmed/28877234},
}

可以将如下的代码放在\end{document}之前

通过\cite就可以直接使用文献了。

这个是文献\cite{Lutz2017}.
\bibliography{info}
\bibliographystyle{ieeetr}

效果如下图所示:

image.png

参考文章:

http://ctan.mirror.rafal.ca/info/lshort/english/lshort.pdf

其他文章:

Fish Shell使用心得
Deepin系统的初步使用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容