DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

使用 LaTeX 编辑和输出文档


Minimal demo on Ubuntu 20.04

Output PDF

sudo apt install texlive-full fonts-wqy-microhei

cat << EOF > hello-world.tex
\documentclass{article}
\usepackage{hyperref}
\usepackage[mathletters]{ucs}
\usepackage{xltxtra,fontspec,xunicode}
\usepackage[slantfont,boldfont]{xeCJK}

\setCJKmainfont{WenQuanYi Micro Hei}   % 设置缺省中文字体
\setCJKmonofont{WenQuanYi Micro Hei Mono}   % 设置等宽字体
\setmainfont{DejaVu Serif}   % 英文衬线字体
\setmonofont{Ubuntu Mono}   % 英文等宽字体

\title{世界,你好!}

\begin{document}
Hello world \LaTeX

你好,世界!

The vorticity $ω$ is defined as $ω = ∇ × u$.

\url{https://linuxconfig.org}
\end{document}
EOF

xelatex hello-world.tex
xreader hello-world.pdf

Note:

Run fc-list :outline -f "%{family}\n" | grep Wen to verify font 文泉驿 is installed.

Output HTML

sudo apt install pandoc
pandoc -s -o hello-world.html hello-world.tex

Updated at 2018.4.3:

Winodws

Tex Live

目前功能最完善的Tex系统,支持ctexart,支持多种汉字字体,编译时不需要在 xelatex和pdflatex间切换,都使用默认的pdfLaTeX即可。

下载包最大,安装很方便。

从TeX Live的开发维护者 TUG 的 Acquiring TeX Live as an ISO image 上下载 TeX Live DVD 文件,其中包含了 Windows 和 Linux 下的安装程序。 最新版ISO文件 texlive2017-20170524.iso 大小为 3.6GB.

加载ISO文件后,在命令行里执行install-tl-windows.bat文件,如果报找不到cmd.exe 命令错误,确认系统%PATH%里包含 C:\Windows\system32 文件夹,之后在命令行里执行 cmd命令确认。

安装后占用5GB磁盘空间,执行 [开始 > TeX Live 2017 > TeXworks editor] 启动编辑器, 将下面的内容拷贝到编辑器中,用快捷键 Ctrl-t 预览结果, 文件修改后再次使用这个快捷键保存文件并更新预览窗口:

\documentclass{article}
\begin{document}
Let: $$
ss_{xy} = \sum(x_i - \bar x) (y_i - \bar y)
$$
\end{document}

或者包含汉字及字体定义:

\documentclass[UTF8]{ctexart}
\title{石頭記}
\author{曹雪芹}
\date{\today}
\begin{document}
\heiti
\maketitle
\begin{center}
\kaishu
滿紙荒唐言\\
\songti
一把辛酸淚\\
\fangsong
都雲作者癡\\
誰解其中味\\
\end{center}
\end{document}

Ref:

https://tex.stackexchange.com/questions/17611/how-does-one-type-chinese-in-latex

MiKTeX

MiKTeX 只有 Windows 实现,不像 TeX Live 是跨平台的。 相比于TeX Live,它可以在运行时安装需要的package,所以初始安装比较小, 安装包 basic-miktex-x64.exe 220MB,安装完成后占用 850MB 磁盘空间。

MiKTeX 使用 TeXworks作为编辑器,相比于 WinEdt,它更小巧。 可以防爆地设置编辑器字体和字号,可以方便地切换 typeset 引擎, 默认使用 pdfLaTex,编译中文时需要切换为 XeLaTeX。

处理汉字时它使用比CTeX的CJK更先进的 xeCJK 包,示例文件:

\documentclass[12pt]{article}
\usepackage{xeCJK}
% I supposed that you do have these fonts mentioned below.
\setCJKmainfont[BoldFont={SimHei},ItalicFont={[SIMKAI.TTF]}] {SimSun}
\setCJKsansfont{SimHei}
\setCJKmonofont{[SIMFANG.TTF]}
\setCJKfamilyfont{zhsong}{SimSun}
\setCJKfamilyfont{zhhei}{SimHei}
\setCJKfamilyfont{zhkai}{[SIMKAI.TTF]}
\setCJKfamilyfont{zhfs}{[SIMFANG.TTF]}
\newcommand*{\songti}{\CJKfamily{zhsong}} % 宋体
\newcommand*{\heiti}{\CJKfamily{zhhei}}   % 黑体
\newcommand*{\kaishu}{\CJKfamily{zhkai}}  % 楷书
\newcommand*{\fangsong}{\CJKfamily{zhfs}} % 仿宋
\title{Test}
\author{zhulongsheng(11291065@bjtu.edu.cn)}
\date{2014/01/28}
\begin{document}
\maketitle
\today
\section{第一}
这是第一段
\heiti
\section{第二}
\kaishu
这是第二段
\subsection{Goal}
这是
\LaTeX
\end{document}

使用 Ctrl-t 进行实时预览。

CTeX

CTeX也使用 MiKTeX,但体积比后者大了一倍多,且汉字处理使用的是已经过时的CJK包, 因此不推荐使用。

从CTeX官网下载安装包CTeX_2.9.2.164_Full.exe, 文件大小1.4GB,安装到D:\apps\CTEX2.9.2下(此目录以下记为$CTEXHOME), 占用空间2.5GB。

用RapidEE将$CTEXHOME/CTeX/cct/bin和$CTEXHOME/MiKTeX/miktex/bin加入到 User的$PATH中,

运行$CTEXHOME/WinEdt/WinEdt.exe,确认主菜单中 Options > Execution Modes > PDF Viewer > PDF Viewer Executable 指向一个可用的 PDF浏览器EXE文件,默认是CTeX自带的SumatraPDF.exe,使用默认值即可。

在编辑器中输入如下代码:

\documentclass[12pt]{article}
\usepackage{CJK}

\title{Demo Article}
\author{Li Chao}
\date{\today}

\begin{document}
\maketitle

\begin{CJK*}{GBK}{kai}
关于示例文档的一些说明。
\end{CJK*}
\end{document}

保存到本地后,按F9执行编译,如果没有错误,会自动打开SumatraPDF显示结果。 修改文件内容后再按F9,更新内容会直接显示在PDF Viewer中,实现了实时预览。

文章的模板是:

\documentclass[12pt]{article}

\title{…}
\author{Li Chao}
\date{\today}

\begin{document}
\maketitle
% Insert content here
\end{document}

如果需要写中文,加上\usepackage{CJK},在正文中加上\begin{CJK*}{GBK}{kai}和 \end{CJK*}。

Ref:

https://tex.stackexchange.com/questions/85060/pdf-viewer-with-auto-update-for-winedt

Linux

Tex Live + XeTeX

TeX 是一套排版(typesetting)系统, XeTeX是一套基于Unicode实现的、 支持现代字体技术的TeX排版引擎,处理中文非常合适。

TeX Live是目前流行的TeX发行版,

在Ubuntu 14.04系统上,使用下面的方法安装并运行Demo:

sudo apt-get install texlive-xetex texlive-latex-extra
fc-list :outline -f "%{family}\n"   # 得到下文用到的可用字体名称
cat << EOF > stone.tex
\documentclass[12pt,a4paper]{article}
\usepackage{xltxtra,fontspec,xunicode}
\usepackage[slantfont,boldfont]{xeCJK} % 允许斜体和粗体

\setCJKmainfont{WenQuanYi Micro Hei}   % 设置缺省中文字体
\setCJKmonofont{WenQuanYi Micro Hei Mono}   % 设置等宽字体
\setmainfont{DejaVu Serif}   % 英文衬线字体
\setmonofont{Ubuntu Mono}   % 英文等宽字体

\title{石頭記}
\author{曹雪芹}
\date{}

\begin{document}
\maketitle

\begin{center}
滿紙荒唐言\\
一把辛酸淚\\
都雲作者癡\\
誰解其中味\\
\end{center}

\end{document}
EOF
xelatex stone.tex
evince stone.pdf

Tex Live安装文件在/usr/share/texlive目录下, 此目录下的texmf-dist目录符合 TeX Directory Structure规范。

TeX的package安装在tex目录下,例如nameref这个package安装路径为:

$ locate nameref
/usr/share/doc/texlive-doc/latex/hyperref/nameref.pdf
/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty

所以package的定义(至少是一部分)保存在sty文件中。 TeX Live的包管理器叫做tlmgr,可以用tlmgr help查看帮助文档。 但在Ubuntu上执行tlmgr repository list并没有按照预期列出repo,原因不明。

Ref: http://blog.jqian.net/post/xelatex.html

Texmaker

Texmaker作为xetex的代码编辑器非常好用, 首先使用sudo apt-get install texmaker安装, 启动软件,在 Options -> Configure Texmaker -> Quick Build 中将 Quick Build Command 设置为 XeLaTeX + View PDF, 然后在 Shortcuts 中将 Quick Build 快捷键设置为 Alt+J, 将 Toggle focus editor/pdf viewer 快捷键设置为 Alt+;, 使用起来就很方便了。

另外,从Texmaker下载的安装包 texmaker_ubuntu_14.04_4.5_amd64.deb 安装失败,报下面的错误:

dpkg: error processing archive texmaker_ubuntu_14.04_4.5_amd64.deb (--install):
 trying to overwrite '/usr/share/texmaker/texmaker_se.qm', which is also in package texmaker-data 4.1-1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 texmaker_ubuntu_14.04_4.5_amd64.deb

Lyx

Lyx生成的文件使用了自己的扩展名 lyx,且编辑时类似于Office所见即所得, 不能直接改源代码,比较不方便。

另外,没找到如何使用本地字体。

sudo add-apt-repository ppa:lyx-devel/release
sudo apt update
sudo apt install lyx
sudo apt-get install latex-cjk-all

显示汉字

打开有汉字的文档,作如下设置:

  • Document -> Settings -> Language -> Language: Chinese (simplified)

  • Document -> Settings -> Language -> Encoding: Other -> Unicode (CJK) (utf8)

  • Document -> Settings -> Fonts -> CJK: gbsn

其他设置

  • 显示源代码:View -> Source Pane

  • 显示文档结构:View -> Outline Pane



Published

Feb 18, 2017

Last Updated

Dec 31, 2020

Category

Tech

Tags

  • html 9
  • latex 5
  • pdf 8
  • ubuntu 61
  • xetex 1

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor