热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

macOS+SublimeText+Latex环境配置

Latex(ˈlɑːtɛx,常被读作ˈlɑːtɛk或ˈleɪtɛk),是一种基于TEX的排版系统,利用这种格式

Latex(/ˈlɑːtɛx/,常被读作/ˈlɑːtɛk/或/ˈleɪtɛk/),是一种基于TEX的排版系统,利用这种格式系统的处理,即使用户没有排版和程序设计的知识也可以充分发挥由TEX所提供的强大功能,不必一一亲自去设计或校对,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学、化学类文档。——维基百科

所以很多老师都要求学生用Latex来写论文。那么问题来了,latex要在哪里写?有像word一样的编辑器吗?答案是肯定的。市面上的latex编辑器不下20种,各种系统都有,常见的有:LyX、TeXworks、TexStudio、WinEdt、Emacs、Sublime Text、Atom、Visual Studio Code等。
有哪些好的latex编辑器?——知乎

本文将介绍如何在mac系统下,用sublime配置latex环境。

准备软件

MacTex Latex运行的必备环境
Sublime Text 编辑器,写代码的应该都很熟悉(这个地址是破*解&版的福利哦)
Skim PDF阅读器,有它你才能预览你的文档

安装步骤

  1. 首先下载MacTex安装,傻瓜式安装。MacTex文件比较大,有2G+,介意的话可以选择MacTex_Basic包,只有是100M以内,但是如果安装MacTex_Basic,后期可能会遇到各种缺包的问题。

  2. 第二步安装Sublime Text 3。安装好后,安装插件LaTexTool。具体步骤如下:

    2.1 安装 Package Control
    打开 Sublime Text 3 选择 View 中的 Show Console 。


    img_16867aa7148d241475a35b96d3aaaf7f.jpe

    这时sublime text下面会显示一个输入窗口,复制下面这段代码到窗口里面并且回车执行,然后重启 Sublime Text 3 。

    import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

    2.2 安装 LaTeXTools插件
    按下 shift + ⌘ + P,输入 Install Package ,回车。

    img_4ba0577e573273cc4e189933640cc50b.jpe

    输入LaTeXTools ,回车安装 LaTeXTools 插件。
  3. 安装Skim
    安装好后运行Skim,进入Skim——选项,点击同步进行设置

    img_097dfd2e602a8e639c458b2fdef6de4c.jpe

    勾选检查文件变化,在PDF-Tex同步支持那里选择sublime Text,这样当你编译tex后就会自动打开pdf预览了。

完成上面所有步骤,latex基本环境就搭建好了。下面可以测试一下。
创建一个test.tex文档,复制以下内容粘贴到文档中:

%!TEX program = xelatex
\documentclass{article}
\usepackage{fontspec, xunicode, xltxtra}
\setmainfont{Hiragino Sans GB}
\title{Title}
\author{}
\begin{document}
\maketitle{}
\section{Introduction}
This is where you will write your content. 在这里写上内容。
\end{document}

保存以后,按下 ⌘ + B进行编译 ,如果以上操作无误,下面会提示Build completed,然后 Skim 弹出 PDF 预览。

img_7f66c99c329fb3c7e7fbc0f1bcd0a206.jpe

番外篇

完成上面的步骤,基本上可以正常编写文档了,但是如果你写的是中文文档,那事情可就还没结束,还完成以下的配置才能开心地编写中文文档。打开终端,运行:

sudo tlmgr update --self
sudo tlmgr install latexmk

在sublime Text里打开LaTeXTools.sublime-settings(也就是LaTeXTools的用户设置,如果你是从旧版本升级上来或者担心这个配置文件出现问题,可以依次点击Preferences——Package Settings——LaTeXTools——Reconfigure LaTeXTools and migrate settings重建配置文件),在builder-settings下面新增两项配置:

"program" : "xelatex",
"command" : ["latexmk", "-cd", "-e", "$pdflatex = 'xelatex -interaction=nonstopmode -synctex=1 %S %O'", "-f", "-pdf"],

另外注意之前应该有"builder": "default"(或直接设置为空或”traditional”)。


img_829ee0295401a5f03a12e72da6bbebc8.jpe

img_44c65bd11f34ac7d798d6826a0592b0f.jpe

保存配置文件后关闭,重新编译一下,即可正常显示中文。

Tips

如果你忘记公式的代码,可以用这个LaTex公式编辑器:http://private.codecogs.com/latex/eqneditor.php

如果你测试的时候遇到如下错误:

File "/Users/huwei/Desktop/test.tex", line 1
%!TEX program = xelatex
^
SyntaxError: invalid syntax

那可能是你sublime Text的默认编译环境被设置为python了,可以点击Tools->Build System,将其设置为Automatic,这样编辑器就会根据文件的后缀来自动识别文件类型了。

参考

http://www.readern.com/sublime-text-latex-chinese-under-mac.html/comment-page-1




推荐阅读
  • Node.js 教程第五讲:深入解析 EventEmitter(事件监听与发射机制)
    本文将深入探讨 Node.js 中的 EventEmitter 模块,详细介绍其在事件监听与发射机制中的应用。内容涵盖事件驱动的基本概念、如何在 Node.js 中注册和触发自定义事件,以及 EventEmitter 的核心 API 和使用方法。通过本教程,读者将能够全面理解并熟练运用 EventEmitter 进行高效的事件处理。 ... [详细]
  • 计算 n 叉树中各节点子树的叶节点数量分析 ... [详细]
  • 从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南
    从零起步:使用IntelliJ IDEA搭建Spring Boot应用的详细指南 ... [详细]
  • 在处理大规模并发请求时,传统的多线程或多进程模型往往无法有效解决性能瓶颈问题。尽管它们在处理小规模任务时能提升效率,但在高并发场景下,系统资源的过度消耗和上下文切换的开销会显著降低整体性能。相比之下,Python 的 `asyncio` 模块通过协程提供了一种轻量级且高效的并发解决方案。本文将深入解析 `asyncio` 模块的原理及其在实际应用中的优化技巧,帮助开发者更好地利用协程技术提升程序性能。 ... [详细]
  • Liferay Portal 中 AutoEscape 构造函数的应用与实例代码解析 ... [详细]
  • 深入解析 UIImageView 与 UIImage 的关键细节与应用技巧
    本文深入探讨了 UIImageView 和 UIImage 的核心特性及应用技巧。首先,详细介绍了如何在 UIImageView 中实现动画效果,包括创建和配置 UIImageView 实例的具体步骤。此外,还探讨了 UIImage 的加载方式及其对性能的影响,提供了优化图像显示和内存管理的有效方法。通过实例代码和实际应用场景,帮助开发者更好地理解和掌握这两个重要类的使用技巧。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • Spring Boot 实战(一):基础的CRUD操作详解
    在《Spring Boot 实战(一)》中,详细介绍了基础的CRUD操作,涵盖创建、读取、更新和删除等核心功能,适合初学者快速掌握Spring Boot框架的应用开发技巧。 ... [详细]
  • 本题库精选了Java核心知识点的练习题,旨在帮助学习者巩固和检验对Java理论基础的掌握。其中,选择题部分涵盖了访问控制权限等关键概念,例如,Java语言中仅允许子类或同一包内的类访问的访问权限为protected。此外,题库还包括其他重要知识点,如异常处理、多线程、集合框架等,全面覆盖Java编程的核心内容。 ... [详细]
  • 在Java中,匿名函数作为一种无名的函数结构,无法独立调用;而在JavaScript中,不仅有类似的匿名函数,还有立即执行函数(IIFE)和闭包等高级特性。立即执行函数同样基于匿名函数实现,但会在定义时立即执行,而闭包则通过嵌套函数来捕获外部变量,实现数据封装和持久化。这些不同的函数形式在实际开发中各有应用场景,理解其特点有助于更好地利用语言特性进行编程。 ... [详细]
  • 深入解析:JavaScript中的表达式与语句有何不同
    深入解析:JavaScript中的表达式与语句有何不同 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 如何在 Lotus 项目中切换至特定的 Git 提交记录
    在Lotus项目中,若需回退至特定的Git提交记录,可以通过执行`git checkout b42e4816007c34`命令来实现。此操作将使当前工作区恢复到指定的提交版本,例如回退到#1157,从而便于进行代码审查或问题排查。建议在执行前备份当前工作区,以防止重要数据丢失。 ... [详细]
  • 如何构建基于Spring MVC框架的Java Web应用项目
    在构建基于Spring MVC框架的Java Web应用项目时,首先应创建一个新的动态Web项目。接着,需将必要的JAR包导入至WebContent/WEB-INF/lib目录下,确保包括Spring核心库及相关依赖。如遇缺失的JAR包,可向社区求助或通过Maven等工具自动下载。正确配置后,即可开始搭建应用结构与功能模块。 ... [详细]
author-avatar
cuijunhao456_715
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有