LaTeX实时预览中文

  参考资料:http://blog.sina.com.cn/s/blog_6ea58f530101aizw.html

  功夫不负有心人,终于在经过艰苦卓绝的寻找之后,让我的Texpad实现了实时预览。此时的心情那叫一个澎湃:-)

  先说一下我的解决方案(Texpad + CJK packages) Texpad是macos和ios上的一款LaTeX排版软件,这个软件的开发者基于TeX重写了一个TeX引擎,名为TexpadTeX,它的过人之处是做到了pdf实时预览,注意不是实时编译,速度相当之快~。CJK则是一款支持中日韩三国语言的包,我昨天一度认为CJK是一种过时的用法,现在的主流是xelatex+xeCJK,或者说CTeX。但是没想到这个包和Texpad擦出了别样的火花。

  不多说了,看效果:

  可见对中文的反应速度是相当快的。



  文章到这里貌似应该结束了,只不过是一个好用的软件加上一串代码:

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gbsn}
这是一个CJK例子,使用了UTF-8编码和gbsn字体。
\end{CJK}
\end{document}

  那为什么会我会花了这么久才找到解决方案呢? TEX 是基于单字节编码的,因为 Knuth 当初开发 TEX 时没考虑那么远,也没有现成的标准可以借鉴。” 这就导致各种TeX编译引擎对中文的支持一言难尽,这也是ctex,xelatex出现的原因。在我使用的Texpad上,假如用常见的中文支持手段会发生什么呢?

  手段1:调用ctex包,或者使用ctex内置的文档类

\documentclass[UTF8]{ctexart}
\begin{document}
这是一个CTEX的utf-8编码例子,{\kaishu 这里是楷体显示},{\songti 这里是宋体显示},{\heiti 这里是黑体显示},{\fangsong 这里是仿宋显示}。
\end{document}

  将会报错:

  当前使用的引擎--实时预览引擎Texpadtex不支持ctex,实时预览梦破灭。

  

  手段2:使用xeCJK包。 

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{SimSun}
\begin{document}
中文 \LaTeX 示例。
\end{document}

  报错没有找到xeCJK.sty文件,我分析后认为不是少了这个文件这么简单。再加上xeCJK文档里有这么一句话,只支持xeLaTeX,实时预览梦再度破灭。

  没有第三个手段了。值得一提的是对于这两个手段,假如在texpad中设置外置编译器为xelatex,仍可以完美运行。只不过实现不了实时预览,仅仅是auto保存,闲时编译预览而已。

  你可能觉得只要这个开发商多提供一些对中文的支持就行了,我们就能用自己熟悉的手段调用中文了。遗憾的是我在这个软件提供的补充bundle里没有找到好的中文支持,而且在大陆地区下载很慢。只希望对中文的支持能够后续跟进吧。

原文地址:https://www.cnblogs.com/chester-cs/p/12345075.html

时间: 2024-11-08 03:25:20

LaTeX实时预览中文的相关文章

Linux下markdown编辑软件 — retext 支持实时预览,存为pdf、html、ODT等

本文由Suzzz原创,发布于 http://www.cnblogs.com/Suzzz/p/4129368.html,转载请保留此声明 ReText是一个linux下的markdown和reStructedText的编辑器,支持实时预览.输出为pdf.html.ODT等功能. 直接上效果图 查看生成的 html 代码

ubuntu vim markdown 实时预览

vim-instant-markdown插件 该插件支持vim编辑markdown文件时实时预览,不需要手动做任何事情! 使用vim打开一个xxx.md文件,浏览器会自动打开一个预览网页,在编辑这个文件的过程中,浏览器会自动更新,并不用保存该文档. 安装vim-instant-markdown 1.安装node.js curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -sudo apt-get install -y node

Atom编辑器折腾记_(11)编辑器实时预览HTML页面(插件:Atom HTML Preview)

为何寻找 每次预览HTML页面,都需要打开各种浏览器;哪怕不是调试,只是为了查看下效果; 切换来切换去,各种刷新,感觉有些浪费时间;以前用过DW的实时预览,感觉这个功能很赞; 又踏上了atom插件仓库慢慢寻找之路-.. 插件:atom-html-preview 官方描述:A live preview tool for Atom Editor. 简言之:Atom编辑器内实时预览的工具 获取方式 通过命令行安装 apm install atom-html-preview 通过编辑器内部的instal

Android中实时预览UI和编写UI的各种技巧

一.啰嗦 之前有读者反馈说,你搞这个所谓的最佳实践,每篇文章最后就给了一个库,感觉不是很高大上.其实,我在写这个系列之初就有想过这个问题.我的目的是:给出最实用的库来帮助我们开发,并且尽可能地说明这个库是如何编写的,希望让初创公司的程序员少写点给后人留坑的代码(想必大家对此深有体会).我之前给出的库都是很简单基础的,基本是一看就懂(但足够精妙),如果以后的文章涉及到了复杂的库,我会专门附加一篇库的讲解文.如果一个库的原理你知道,此外这个库很容易扩展和维护,而且它还用到了很多最佳实践的经验,你为什

RunJS个人使用推荐(好用的JS、css实时预览、编辑、管理等功能)

RunJS,在线编写.展示html.js.css代码,拥有实时预览.分享.Fork.代码高亮.自动完成等多项特性,提供文件上传.多种登录方式. 地址:http://runjs.cn/

用 grunt-contrib-connect 构建实时预览开发环境 实时刷新

本文基本是参照着 用Grunt与livereload构建实时预览的开发环境 实操了一遍,直接实现能实时预览文件列表,内容页面.不用刷新页面了,这比以前开发网页程序都简单. 这里要用到的 Grunt 插件有 grunt-contrib-connect , 用来充当一个静态文件服务器,本身集成了 livereload 功能 grunt-contrib-watch , 监视文件的改变,然后执行指定任务,这里用来刷新  grunt serve 打开的页面 以下是个辅助的插件 load-grunt-tas

UI实时预览最佳实践(转)

UI实时预览最佳实践 概要:Android中实时预览UI和编写UI的各种技巧.本文的例子都可以在结尾处的示例代码中看到并下载.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request.本文的代码主要是基于作者的实际经验编写的,如果你有其他的技巧和方法也可以参与进来一起完善此文. 文章固定连接:https://github.com/tianzhijiexian/Android-Best-Practices/blob/master/2015.9/ui/u

整合VIM和Graphviz,并且使用本办法实现实时预览

在编程或是整理知识的时候一直苦于没有一款可以帮助理清思路的工具. 在网上苦寻良久,终于找到了一款可心可意的小软件 -- Graphviz. 折腾了一番,终于可以凑合着用了. 现将折腾的成果记录于此以作备忘,当然如果能够抛砖引玉那就再好不过了. 因为本人主要使用 Windows 以下将用 Windows 环境为例进行介绍. First 于此处下载需要的版本:http://www.graphviz.org/Download..php 将下载好的 msi 文件或 zip 文件安装或解压,记下安装路径.

利用less监视模式实时预览样式刷新浏览器

[前言]此处介绍的方法只是我个人的用法,相信大家有更好更简洁的方式. 上次写到利用LiveReload解放F5.而且LiveReload可以编辑sass/less/stylus.但是可惜发现LiveReload在编译的时候不能抛错,这就很麻烦了,少了个标点less编译就不过,查找起来太麻烦. 我目前的解决方法: 利用Less自带的客户端开发模式(development). 在开发的时候less的编译还是利用客户端浏览器,即 <link rel="stylesheet/less"