好像感觉我要火了, 这个必须专业回答下啊, 看完别忘了点赞啊!!
用户友好型实时预览的定义
即不用手动编译, 不用手动刷新文档(PDF)的LaTeX写作方式.
实现方式与工具
目前主要用的是Latexmk这个perl脚本或者支持实时预览的Markdown编辑器.
关于TeX集成系统的一个建议
个人建议用TeXLive而非MikTeX甚至CTeX套装, 相比而言我用TeXLive时碰到的问题最少. 后两种你可能发现好好的文档有一天突然不能编译了, 关键是你还啥都没干啊, 而且升级个包也可能出错. 咋办, 事实证明此时最好的方式就是重装TeX系统. 如果你坚持用后两者的话, 个人建议安装安装Basic版的Miktex, 这样在出问题时可以快速安装好/占用空间少/前几次可能需要自动从网络下载宏包.
Texlive建议安装时可以去掉宏包文档与源文件, 这可以节省不少空间(1~2G). 但是建议安装Full的宏包(即各种宏包都装上, 你以后再也不用愁别人的文档你不能编译了).
Texlive也不是完美无暇的. 个人觉得缺点是: 1. 不能自动下载缺失宏包(所以全装最保险), 当然可以手动下载了(tlmgr, tlmgr --gui). 2. 不支持持续更新. 你会发现Texlive每年出一个终极版, Texlive2018是不能直接升级到Texlive2019的, 只能通过重装才行(别担心, 有人用Texlive2000写文章你信吗?). 这种奇葩的升级方式不妨看看这里
下面我总是假设我们的系统是Windows7+Texlive2018(所有宏包已经安装上).
1. Latexmk脚本实现实时预览
利用这种方式, 其实无论你用哪种编辑器都可以实现实时预览. Latexmk可以认为是一个TeX包, 你可能需要安装(检查命令行/CMD: latexmk -v 是否输出版本号), 参考官方安装指南.悄悄告诉你, 我用的Cmder作为命令行终端模拟器
1.1 TeXworks配置实时预览
打开系统自带的TeXworks, 在编辑/首选项/排版面板下, 点击处理工具子面板右下角的+, 新建Latexmk编译器. 参数如图所示
测试自动编译. 我们新建一个TeX文档:
\documentclass{amsart}
\usepackage[b5paper]{geometry}
\usepackage[UTF8]{ctex}
\title{测试自动编译}
\author{Van Abel}
\date{\today}
\begin{document}
\maketitle
\end{document}
然后选择刚才新建的Latexmk编译器编译, 得到
接下来, 我们要测试TeX文档自动改变时Latexmk会自动编译. 添加一行“这是一个测试”并保存文档(Ctrl+S), 我们发现确实自动编译了, 并且Texworks自动刷新了PDF, 如图所示(理论上搞个动图, 但是太麻烦放弃)
你学会了吗? 会了你应该会配置WinEdt了吧? (我自己没用WinEdt了, 故没写教程).
可能有人说Texworks太弱, 其实也还好, 毕竟支持自动补全(\usep+Tab, \begin{eq+Tab, Ctrl+Tab跳出补全环境), 以及实时预览(Ctrl+'切换源码与PDF).
如果你还不满意, 那么请看下面的强大的Vim+vimtex+SumatraPDF+Latexmk配置实时预览的例子.
1.2 Vim+vimtex+SumatraPDF+Latexmk配置实时预览
预警!!! Vim配置比较复杂, 不建议新手使用!! 但是爱折腾的人肯定喜欢, 用惯了效率较高.下载安装Vim8.1, 使用Cmder的话可以用下列命名下载并安装(最好不要选择Native Language Support, 否则出错时反而看不懂)
curl -O https://ftp.nluug.nl/pub/vim/pc/gvim81.exe
gvim81.exe下载安装SumatraPDF, 并设置环境路径使得vimtex以找到SumatraPDF.exe, 设置方法见附录1.
安装git-for-windows, 别忘了勾选添加git到环境变量
安装Vim的插件管理插件 vim-plug, 使用Cmder可以用官方安装命令安装
curl -fLo ~/vimfiles/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim配置vimrc, 可以参考附录2的配置
测试实时预览vimtex实现实时预览https://www.zhihu.com/video/1097484063383891968
好像我没有演示自动补全. 这个是需要下载tex.snippet以及texmath.snippet的, 并将其放到~\vimfiles\myvim\UltiSnips目录里面. 然后你可以试试新起一行输入:b+Tab, 更多补全自己看看这两个snippet的内容即可.
这里有个使用Vimtex+Ultisnip排版的效果, 理论上可以和老师板书的速度一致. 参考
2. 其他编辑器
除了上面说的latexmk, 目前还有一些支持实时预览的在线/离线编辑器. 我将他们归结到markdow