刚装了电脑,这几天一直在整理资料还有倒腾软件。今天打开Word突然觉得它很难用,因为它经常出现格式混乱的情况。这时候脑海里浮出Latex,于是上知乎搜索了一下,发现了VS Code这个软件,第一眼就被软件的高颜值吸引了。于是打算好好研究一下。这篇文章就是学习笔记了。
一、VS Code 说明
VS Code 这款软件是微软家做的开源免费软件,属于全平台集成开发软件
。也就是说它支持非常多编程语言,可以用作程序编辑器。不同于Notpad++ 这款轻量级编辑器,VSCode还可以编译软件,一句话,就是个IDE.
虽然它的功能如此强大,可以编译运行程序。界面也很黑科技,看上去就是很炫酷的编程界面,也支持智能代码提示。但是我不不用它编程。因为我是设计师又不是程序员...我能用到的编程方面的需求,还是用更强大的IDE,比如说Java用Eclipse或者IDEA,Android用AS,其他的用Qt。我的电脑配置还可以所以大型IDE打开速度也很快,就不用这种不健全的IDE干活。
这个软件,主要还是用来写Markdown语言还有学习LaTex。我认为这么漂亮的界面,不用来写字有点浪费。
一些常用操作:
- 按F1打开命令行
- 使用打开文件夹功能打开文档储存区
- 在设置->首选项里面修改json文件来修改配置,每一行以
,
结尾,最后一行不要写,
- 输入
install extensions
或者按左边最下功能键来查看已经安装的插件 -
ctrl+x
可以删除当前行
这里有一个人喜欢折腾VSCode:
VS Code 折腾记
想要了解更多可以看这里:
Visual Studio Code 官方文档
二、Latex 环境配置
工欲善其事必先利其器,开发之前先配置环境,配置需要以下工具:
- LaTeX 环境
- VS Code 编辑器
- LaTex Workshop 编辑环境
- LaTex language support ,VS Code下的语言支持
先下载VSCode,然后在软件内安装支持插件LaTex Workshop和LaTex language support之后我们就可以配置开发环境了
LaTex 环境
使用latex首先就要抛出word里面那种一篇文章就是一个文件的思想。我们可以把它看成一个网页或者一个程序项目更加合适,所以它也有编译的环节。一般来说latex基本流程就是:Latex->Bibtex->Latext->Latex。
第一步Latex编译,可以获得.aux文件、.dvi文件、.log文件以及.gz文件;
第二步Bibtex编译,可以获得.blg(性能监视器文件)和.bbl文件;
第三步Latex编译,获得新的.aux文件、.dvi文件、.log文件以及.gz文件;
第四步再次Latex编译。
所以我们需要latex编译器。目前有四种编译器可以选择xelatex、pdflatex、latexmk以及make,大致区别就是
PDFLATEX 不能处理常见的 EPS 图形,需要先⽤ epstopdf 将其转化成 PDF。不过 PDFLATEX 增加了对 png,jpg 等格式的⽀持,⽐较⽅便。TEXLive ⾃从 2010 版本起⾃动调⽤epstopdf 将 EPS 图形转化为 PDF。
latexmk 命令⽀持全⾃动⽣成 LATEX 编写的⽂档,并且⽀持使⽤不同的⼯具链来进⾏⽣成,它
会⾃动运⾏多次⼯具直到交叉引⽤都被解决。
上文中出现了TEXLive,这是一个开发套装,专门用于编写Latex文档,就像word,使用它就不用配置,直接开始开发就好了。同类的还有
- TeX Live
- MiKTex
- CTeX
详细内容参看 一份其实很短的 LaTeX 入门文档,第 11 节:TeX 家族。
根据LaTex Workshop的说明
Requirements
LaTeX distribution in system PATH. For example, TeX Live.
Please note MikTeX does not ship with SyncTeX. See this link for a possible solution.
Optional: Set your LaTeX toolchain (LaTeX Workshop should just work out of the box for users with latexmk installed).
我们下载CTex套装来满足这个需求:
下载地址
下载之后参考Specter119的做法来设置Toolchain
配置VSCode为LaTeX集成开发环境(IDE) - 初级版
"latex-workshop.latex.toolchain": [
{
"command": "",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-shell-escape",
"%DOC%"
]
},
{
"command": "bibtex",
"args": [
"%DOCFILE%"
]
},
{
"command": "",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-shell-escape",
"%DOC%"
]
},
{
"command": "",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"-shell-escape",
"%DOC%"
]
}],
这里使用了Magic comments的方法设置变量
如果在Latex文档最开始加上
% !TEX program = xelatex
这是使用xelatex > bibtex > xelatex > xelatex
过程编译。如果不加则默认使用latexmk
的默认设置pdflatex
代替。
至此,环境就配置好了
更多介绍可以看这篇文章:VS Code 与 LaTeX 真乃天作之合
用户代码
之前以及说明,经过这样的配置之后我们使用pdflatex
编译,它不能识别常用的EPS图像,但可以直接识别png和jpg。所以我们可以通过代码直接插入jpg。但是一份文档经常要插入图片,有没有快捷的方法?这时候就要介绍用户代码功能了。
VSCode为了避免同一段代码在不同语言中使用产生矛盾,它对每种语言设置了不同的json配置语言,因此就不会混淆了。
我们在文件->首选项->用户代码片段
中选择LaTeX,进入之后把这段代码复制进去
"Input a figure": {
"prefix": "figure",
"body": [
"\\begin{figure}[htp]",
"\t\\centering",
"\t\\includegraphics[width=13cm]{$1}",
"\t\\caption{$2}",
"\t\\label{fig:$3}",
"\\end{figure}",
"$0"
],
"description": "Input a figure"
}
注意: 使用之前要先声明\usepackage{graphicx}
然后我们就可以f1-insert snippet-figure
来插入代码段。通过按tab
键在不同值之间切换
三、LaTeX 入门语法
简介
先用一段简单代码演示
\documentclass{article}
\begin{document}
hello,world
\end{document}
网上还有一些人制作了毕业论文的模板上传到Github,可以下载学习:
这里主要参考的教程是以下内容,多谢分享:
特别说明:作为个人学习笔记,本文内容不严格说明出处,大部分内容来自文章中出现过的链接文章。
第一 简单标签介绍
因为一个
.tex
文件在预览的时候会执行一系列操作,产生同名的.aux
.bbl
.bbg
.log
.synctex.gz
一共7个文件,所以建议对不同tex建立不同文件夹
VSCode 支持英文单词记忆,可惜不支持汉字记忆
LaTeX 有点像是升级版的Markdown,有些规则都是类似的。相比之下,它多了一个模板的概念
以下是对于LaTeX的语法说明
%——注释符号
\\——换行并到段落首格
双换行——换行并到段落缩进首格
$\frac{a}{b}$——b分之a , 需要导入数学包
-
\documentclass{article}
选择article
这个类作为文档的模板,它规定了格式 - \title{xxxx} 应用xxxx作为title格式
- \begin{document} 正文
- \maketitle 制作封面
- 直接输入正文内容 后加
%
注释内容 - section{一级标题1的内容} + 标题下的正文内容
- subsection{二级标题1.1的内容} + 标题下的正文内容
- subsunsection{三级标题1.1.1的内容} + 标题下的正文内容
- 以上内容出现第二次就数字加1 ,类似i++的用法
- paragraph{段落加粗内容}+之后的正文
- subparagraph{段落加粗内容}+之后的正文 相比上一个要缩进一级
- \end{document} 结束
在非封面(不使用\maketitle 时候 可以用\tableofcontents制作目录)
-
\documentclass{article}
选择article
这个类作为文档的风格 - \usepackage{amsmath} 使用数学工具包,这里不详细讲数学工具包,因为不常用。
- \begin{document} 正文
- \tableofcontents 将下文做成目录Contents
- \end{document} 结束
以下是表格的简单运用
\begin{center} %设置表格居中
\begin{tabular}{|c|c|} %表格标签
\hline %显示横线
a & b \\ %a在(1,1)b在(1,2)
\hline %隐藏横线
c & d\\ %c在(2,1)d在(2,2)
\hline %显示横线
\end{tabular}
\end{center}
第二 对第一的Tips
- 中文支持:把开头的\documentclass{atricle}换成\documentclass{ctexart}会有更好的中文支持
- 宏包:\package{}就是在调用宏包,可以理解为工具箱。
每一个宏包里都定义了一些专门的命令,通过这些命令可以实现对于一类对象(如数学公式等)的
统一排版(如字号字形),或用来实现一些功能(如插入图片或制作复杂表格)。
通常在\documentclass之后,在\begin{document}之前,将文章所需要涉及的宏包都罗列上。
对于新人而言比较常用的宏包有
- 编辑数学公式的宏包:\usepackage{amsmath}和 \usepackage{amssymb}
- 编辑数学定理和证明过程的宏包:\usepackage{amsthm}
- 插入图片的宏包:\usepackage{graphicx}
- 复杂表格的宏包:\usepackage{multirow}
- 更高级的应用:参考文献可以搜bibtex,制作幻灯片可以搜beamer。
第三 正式入门
这是下一次的内容哦
四、后记
起因是搜索LaTex软件被VSCode漂亮的界面吸引,没想到一下子扎进去这么多,顺学习了Markdown和LaTex。其实要是说方便的话,用typora(其实我不怎么喜欢这种所见即所得的方式,虽然看上去这样很简单,但是还是觉得不舒服,担心把排版搞乱了。相比之下还是喜欢分屏显示,左边代码一样黑底白字有高亮显示,右边是白底黑字排好版的文稿,这样左边安心输入内容,右边就自动转化过去了感觉会灵性很多)写markdown,用CTeX写LaTex就可以了。下载两个软件就直接用,很简单,不用倒腾配置VSCode。但是我不想装那么多软件,能用一个软件搞定所有文本输入问题这样才优雅。另外,如果事情变得那么简单,学习Markdown或者LaTex的热情就不会那么高了,可能软件下载之后看几眼文档就丢一边了。
反而是在这样的一点点倒腾过程中,对这些语言的了解一点点加深。从一个个小的成就感中巩固了知识,这个过程虽然慢一点,但是有效。对于我这种不聪明的人来说,可能快速学习就是个伪命题。
这篇文档也是用Markdown写的,写完感觉Markdown的确很好用。按照我用Word的方法,一般就是不管格式先把内容记下来,最后再调整格式。但是这样排版不好看写起来就很难受。用Markdown,左边写内容的同时右边就是漂亮的格式,也不用担心把格式搞乱了,还是很舒服的。所以我又把最近的任务用Markdown整理了一下,这里配合的是Markdown All in One
这个插件