我的Xelatex 中文报告模板

最后更新于:2022-04-01 16:03:41

下面贴一个我常用的`xelatex` 排版中文简短报告的模板: ### 功能 支持以下效果: 1. 各级标题采用MS word 效果 1. 美化代码插入(代码文件名,边框,行号) 1. 支持MATLAB代码高亮 1. 支持使用基本字体(楷体,宋体,黑体) 1. 中文自动断行 1. 首行缩进两个中文字 1. 页面边距采用默认效果 1. 不带目录 ### 模板 ~~~ % Compile with XeLaTeX or LuaLaTeX \documentclass[10pt,a4paper]{article} \usepackage{xcolor} \usepackage{titlesec} \usepackage{fontspec} \defaultfontfeatures{Mapping=tex-text} \usepackage{xunicode} \usepackage{xltxtra} \usepackage{polyglossia} \usepackage{indentfirst} % 段首缩进 \setdefaultlanguage{english} % 设置字体 \setsansfont{Calibri} \setmainfont[BoldFont=SimHei]{STKaiti} \usepackage{amsmath} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{graphicx} % 设置页边距 %\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} % MATLAB代码插入包 \usepackage{listings} \usepackage[framed,numbered,autolinebreaks,useliterate]{mcode} % 新定义字体 \newfontfamily\song{SimSun} % 宋体 \newfontfamily\hei{SimHei} % 黑体 \XeTeXlinebreaklocale "zh" % 中文断行 % Define light and dark Microsoft blue colours \definecolor{MSBlue}{rgb}{.204,.353,.541} \definecolor{MSLightBlue}{rgb}{.31,.506,.741} % Define a new fontfamily for the subsubsection font % Don't use \fontspec directly to change the font \newfontfamily\subsubsectionfont[Color=MSLightBlue]{Times New Roman} % Set formats for each heading level \titleformat*{\section}{\Large\bfseries\sffamily\color{MSBlue}} \titleformat*{\subsection}{\large\bfseries\sffamily\color{MSLightBlue}\song} \titleformat*{\subsubsection}{\itshape\subsubsectionfont} \author{郭大为\footnote{email: guodw3@mail2.sysu.edu.cn}\\[2ex] 国立交通大学应数系\\[2ex]} \title{Homework \uppercase\expandafter{\romannumeral4}} \date{November 16, 2015} \begin{document} %%%% 段落首行缩进两个字 %%%% \makeatletter \let\@afterindentfalse\@afterindenttrue \@afterindenttrue \makeatother \setlength{\parindent}{2em} %中文缩进两个汉字位 \maketitle \section{A section} 以下为正文部分,可以任意替换或删除 This is some text. \subsection{A subsection 演示插入MATLAB代码} 各级标题效果演示 \subsubsection{A subsubsection} 演示代码插入效果: \begin{lstlisting}[title=sd\_method.m, frame=shadowbox] point = [9; 1]; H = [1, 0; 0, 9]; figure ezcontour('x^2/2+9*y^2/2',[-9, 9, -6, 6]) % steptest decent method sdm_points = [9; 1]; count = 0; while(norm(point) > 1e-5) count = count + 1; g = [point(1); 9*point(2)]; point = point - g'*g/(g'*H*g).*g; sdm_points = [sdm_points, point]; end hold on plot(sdm_points(1, :), sdm_points(2, :),'-','LineWidth',3); count \end{lstlisting} 图片插入效果图: \begin{center} \includegraphics[width=1\textwidth]{1.eps} \end{center} \end{document} ~~~ ### 效果图 ![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-07-22_5791c6cdf0a30.jpg "") ![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-07-22_5791c6ce1d1c3.jpg "")
';

latex 插入代码、代码框、代码配色

最后更新于:2022-04-01 16:03:39

### 插入代码 导言区加入listings包 ~~~ \usepackage{listings} ~~~ ### 代码框 将代码包在如下命令中: ~~~ \begin{lstlisting}[title=Myfile, frame=shadowbox] % 代码段 \end{lstlisting} ~~~ 可以显示代码框,并以 Myfile 做为文件名 ### 预先设置模板(from: wikipedia) ~~~ \usepackage{listings} \usepackage{color} \definecolor{dkgreen}{rgb}{0,0.6,0} \definecolor{gray}{rgb}{0.5,0.5,0.5} \definecolor{mauve}{rgb}{0.58,0,0.82} \lstset{ % language=Octave, % the language of the code basicstyle=\footnotesize, % the size of the fonts that are used for the code numbers=left, % where to put the line-numbers numberstyle=\tiny\color{gray}, % the style that is used for the line-numbers stepnumber=2, % the step between two line-numbers. If it's 1, each line % will be numbered numbersep=5pt, % how far the line-numbers are from the code backgroundcolor=\color{white}, % choose the background color. You must add \usepackage{color} showspaces=false, % show spaces adding particular underscores showstringspaces=false, % underline spaces within strings showtabs=false, % show tabs within strings adding particular underscores frame=single, % adds a frame around the code rulecolor=\color{black}, % if not set, the frame-color may be changed on line-breaks within not-black text (e.g. commens (green here)) tabsize=2, % sets default tabsize to 2 spaces captionpos=b, % sets the caption-position to bottom breaklines=true, % sets automatic line breaking breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace title=\lstname, % show the filename of files included with \lstinputlisting; % also try caption instead of title keywordstyle=\color{blue}, % keyword style commentstyle=\color{dkgreen}, % comment style stringstyle=\color{mauve}, % string literal style escapeinside={\%*}{*)}, % if you want to add LaTeX within your code morekeywords={*,...} % if you want to add more keywords to the set } ~~~
';

xelatex 中文排版与字体更换

最后更新于:2022-04-01 16:03:37

### 一个简单的中文文档 下面几行简单的命令,可以实现一份最简单的中文文档 并且全局使用一种字体 ~~~ \documentclass[11pt]{article} \usepackage{xeCJK} % 设置文档正文字体为宋体 \setCJKmainfont[BoldFont=SimHei]{SimSun} \setCJKmonofont{SimSun} % 设置缺省中文字体 \parindent 2em % 段首缩进 \begin{document} \section{举例} % 无需排版的多行内容 \begin{verbatim} 标点。 \end{verbatim} 汉字Chinese数学$x=y$空格 \end{document} ~~~ ### 使用xelatex更换字体 cmd 中命令`fc-list :lang-zh`,会显示中文乱码,这不重要 知道window下的字体映射如下即可 ~~~ STCaiyun,华文彩云:style=Regular YouYuan,幼圆:style=Regular PMingLiU,新細明體:style=Regular STHupo,华文琥珀:style=Regular FZYaoTi,方正姚体:style=Regular NSimSun,新宋体:style=Regular FangSong,仿宋:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta DFKai\-SB,標楷體:style=Regular KaiTi,楷体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta STSong,华文宋体:style=Regular Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta SimSun,宋体:style=Regular STFangsong,华文仿宋:style=Regular STXinwei,华文新魏:style=Regular Arial Unicode MS:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta STXingkai,华文行楷:style=Regular Microsoft JhengHei,微軟正黑體:style=Negreta,Bold,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia STLiti,华文隶书:style=Regular SimHei,黑体:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta MingLiU,細明體:style=Regular STZhongsong,华文中宋:style=Regular Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia FZShuTi,方正舒体:style=Regular MingLiU_HKSCS,細明體_HKSCS:style=Regular STXihei,华文细黑:style=Regular Microsoft JhengHei,微軟正黑體:style=Normal,Regular,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta LiSu,隶书:style=Regular STKaiti,华文楷体:style=Regular ~~~ 去掉`\usepackgae{xeCJK}` 并用`\newfonfamily\kai{STKkai}` 定义宏 \kai 使用`\kai 接中文` 即可使用华文楷体 其他字体类似 示例代码如下 ~~~ \documentclass[11pt]{article} %\usepackage{xeCJK} \usepackage{fontspec,xunicode,xltxtra} \usepackage{titlesec} \usepackage[top=1in,bottom=1in,left=1.25in,right=1.25in]{geometry} \usepackage{indentfirst} % 段首缩进 \setmainfont[BoldFont=SimHei]{SimSun}% 默认字体为宋体 \XeTeXlinebreaklocale "zh" % 中文断行 \newfontfamily\kai{STKaiti} % 楷体 \newfontfamily\hei{SimHei} % 黑体 \begin{document} \section{举例} % 无需排版的多行内容 \begin{verbatim} 标点。 \end{verbatim} 汉字Chinese数学$x=y$空格 \section{楷体} \kai 楷体 \section{黑体} \hei 黑体 \end{document} ~~~ 效果图如下 ![这里写图片描述](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-07-22_5791c6cdcff51.jpg "")
';

Latex 主题设置

最后更新于:2022-04-01 16:03:35

更改下面的命令即可改变 ppt 模板的主题或颜色 ### 收集的主题 ~~~ \usetheme{Marburg} % TOC tab %\usetheme{Berkeley} %\usetheme{PaloAlto} %\usetheme{Goettingen} %\usetheme{Hannover} % ok2 %\usetheme{Antibes} % Tree %\usetheme{JuanLesPins} % ok 3 %\usetheme{Montpellier} %\usetheme{Bergen} % w/o guide %\usetheme{boxes} %\usetheme{Bergen} %\usetheme{Madrid} %\usetheme{Pittsburgh} %\usetheme{Rochester} %\usetheme{Berlin} % mini guide %\usetheme{Ilmenau} %ok 4 %\usetheme{Dresden} %\usetheme{Darmstadt} %ok 1 %\usetheme{Frankfurt} %\usetheme{Singapore} % ok ok \usetheme{Szeged} % ok ok ok %\usetheme{Copenhagen} %\usetheme{Luebeck} %\usetheme{Malmoe} %\usetheme{Warsaw} ~~~ ### 收集的颜色 ~~~ %\usecolortheme{albatross} %\usecolortheme{beetle} %\usecolortheme{dove} %\usecolortheme{fly} %\usecolortheme{seagull} %\usecolortheme{crane} %\usecolortheme{rose} %\usecolortheme{lily} % inner color %\usecolortheme{orchid} % inner color %\usecolortheme{whale} % outer color %\usecolortheme{seahorse} % outer color %% ok %\usecolortheme{sidebartab} \usecolortheme{dolphin} % ok ok ~~~
';

Latex 编译错误排查的一些经验

最后更新于:2022-04-01 16:03:32

最开始接触Latex排版是从做ppt开始,所以一开始就与其他人的学习路线不同,但是这种奇葩的路线让自己对latex编译命令更为敏感。 首先介绍自己使用工具和环境: * Tex 编译器:CTex * 编辑器:Texmaker ### 错误排查 当在编译出现问题时,不要慌张,查看错误报告,仔细分析问题。 可以尝试下面两则通用的操作: 1. 通过换用不用的编译命令 Texmaker 将一些编译命令集成到 一条命令中,可以在 Tools Toolbar 中进行选择(另外可以定制自己的集成编译指令) 在编译 beamer 模板时一直使用的 Xelatex 命令,但是在编译 article or report 时则应该使用 pdflatex 命令 1. 删掉目录下的 `.aux .log .out .toc` 文件 不同的编译命令之间切换时会出现一些不可预知的错误在日志、输出文件之中,这是可以尝试删掉目录下的相应文件,然后重新编译。 ### 概念与原理 - 语言抽象层: TeX 是一种宏语言。就像别的语言有库一样,TeX 语言有宏的集合。这些宏,就是用这个语言写出来的东西,供大家共用的。TeX 有个最基本的宏集合,与基础语言一起构成一种“格式”,就是 Plain TeX。基本的 TeX 语言和 Plain TeX 的宏,都是 Knuth 完成的。 后来有了 LaTeX,就是 Lamport TeX。LaTeX 也是宏的集合,也构成一种与 Plain TeX 不一样的格式。这种格式提供了不少方便的功能,并强调结构化的文档,因而很快风行起来。 一个语言是抽象的,不能运行就没有结果。 - 再来说软件层面: 1. `tex` : Knuth 在设计这个语言的同时也给出了一个程序用来把 TeX 语言的代码转换为排版的结果——这个程序当然也叫 TeX。嗯,可以把这个程序看做编译器。直接运行`tex`命令(用小写字母表示你实际使用的命令),默认就是用 Plain TeX 这种格式进行排版。为示区别,我们可以把 Knuth 的这个 TeX 程序叫 Knuth TeX。 1. `tex`+编译选项: 用 tex 加上一个选择格式的命令行编译选项,就可以改用 LaTeX 这种格式进行排版了。但这很麻烦,于是就把 tex 命令与对应编译选项合成为一个命令,叫 latex。简言之,latex 命令就是 tex 命令加一个选项的简写方式。 1. ε-TeX: Knuth TeX 这个程序有一些功能不好实现,后面就有人进行扩展,得到 ε-TeX 这个程序,一般写成 eTeX。eTeX 程序和 Knuth TeX 都是 TeX 语言的一个实现,eTeX 增加了少量的几个命令,但一般来说是没有太多区别的。 1. pdfTeX: Knuth TeX 输出的格式是 DVI(DeVice Independent)文件,但后来电子出版业和电子文档交换中常用的格式是 Adobe 公司开发的 PostScript 格式(PS)和 Portable Document Format 格式(PDF)。因此就需要有一些工具完成这样的转换,一些转换程序应运而生:Dvips(把 DVI 转换为 PS);DVIPDF、DVIPDFM、DVIPDFMx(把 DVI 转换为 PDF,可以认为后面的是前面的改进版)。 转换的过程令人不爽,于是就又有了 TeX 语言的又一个实现,pdfTeX。它会把 TeX 语言写的代码直接编译成 PDF 文件。当然,不难理解 pdftex 命令就是用 pdfTeX 这个程序和 Plain TeX 这个格式进行排版,而 pdflatex 这个命令就是用 pdfTeX 这个程序和 LaTeX 格式进行排版。不过 pdfTeX 程序也保留了输出 DVI 格式的能力。 1. XeTeX: 时代在发展,多字节的编码渐渐代替 ASCII 成为主流。为了支持 Unicode 编码和直接访问操作系统字体,又出现了 TeX 语言的新的实现,即 XeTeX。作为一个现代的程序,XeTeX 也直接输出 PDF 文件(我们暂不去管它内部有格式转换的实现方式)。于是,不难理解 xetex 命令就是使用 XeTeX 程序以 Plain TeX 格式排版,而 xelatex 命令就是用 XeTeX 程序以 LaTeX 格式排版 1. LuaTeX: 哦,人们的要求总是在发展,现在又想在 TeX 中嵌入其他语言进行更强有力的扩展了。于是 Lua 脚本语言和 TeX 语言的结合体,LuaTeX 应运而生。LuaTeX 程序也是 TeX 语言的一个完整的有扩展的实现。LuaTeX 支持 Unicode、系统字体和内嵌语言扩展,能直接输出 PDF 格式文件,也可以仍然输出 DVI 格式。 瞧,语言的脉络是简单的,但软件程序总是层出不穷 - 其他相关工具程序 最后说一下 BibTeX 和 MakeIndex。这两个都是与 TeX 相关联的工具程序,一般用在 LaTeX 格式上。BibTeX 处理 LaTeX 格式编译时输出的 .aux 文件,根据其中的引用,从文献数据库中提取生成参考文献列表;而 MakeIndex 处理 LaTeX 格式编译时输出的 .idx 文件(里面是索引条目),生成 .ind 文件(里面是排序整理好的索引条目)。 ### 总结 下面将TeX, LaTeX, XeTeX, PdfTeX等基本概念做简单梳理 - TeX:一种宏语言。 - Plain Tex: Tex中的一个最基本的宏集合与TeX的基础语言构成的一种格式。 - LaTex: Tex中的一个宏集合,构成一种与 Plain TeX 不一样的格式。 - Tex程序:把Tex语言转换为排版的程序,也叫Tex。为区别,称这个 TeX 程序叫Knuth TeX。 - tex命令:Tex程序中的编译命令。tex命令默认用Plain TeX格式进行排版。也就是说tex命令后面默认跟的tex文件应该是用Plain Tex格式写的。 - latex命令:tex命令加上某一个选项使用,就会用LaTeX 格式进行排版,也就是说此时后面跟的tex文件应该是用LaTex格式写的。为方便,就把tex 命令与对应编译选项合成为一个命令,叫latex命令。 - ε-TeX 程序:Knuth TeX程序的一个扩展,也是一个程序,一般写成 eTeX。增加了少量的几个命令,但一般来说是与Knuth TeX程序没有太多区别的。 - 实现:在文中的意思就是指“程序”的意思。如文中:eTeX 程序和 Knuth TeX 都是TeX语言的一个实现(也就是说,eTeX 程序和 Knuth TeX 都是把TeX语言转换为排版的程序。程序作用于tex文本文件,把tex文件编译成dvi文件)。 - pdfTeX程序:Tex语言的又一个实现,也就是把Tex语言转换为排版的又一个程序。它会把 TeX 语言写的代码直接编译成 PDF 文件。 - pdftex命令:pdfTex程序中的命令,用来编译用Plain TeX格式写的tex文件。 - pdflatex命令:pdfTex程序中的命令,用来编译用LaTeX格式写的tex文件。 - XeTeX程序:TeX语言的新的实现,即把Tex语言转换为排版的一个新程序。支持Unicode 编码和直接访问操作系统字体。 - xetex命令:XeTeX程序中的命令,用来编译用Plain TeX格式写的tex文件。 - xelatex命令:XeTeX程序中的命令,用来编译用LaTeX格式写的tex文件。
';

window 7 部署Texmarker 与 CTex

最后更新于:2022-04-01 16:03:30

![texmarker](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-07-22_5791c6cd88e21.jpg "") ### 基本知识 1. PDFTeX程序:Tex语言的一个实现,也就是把Tex语言转换为排版的一个程序。它会把TeX 语言写的代码直接编译成 PDF文件。 1. PDFLaTeX命令:PDFTeX程序中的命令,用来编译用LaTeX格式写的tex文件。 1. XeTeX程序:TeX语言的新的实现,即把Tex语言转换为排版的一个新程序。支持Unicode编码和直接访问操作系统字体。 1. XeLaTeX命令:XeTeX程序中的命令,用来编译用LaTeX格式写的tex文件。 两者最大的区别是:XeLaTeX对应的XeTeX对字体的支持更好,允许用户使用操作系统字体来代替TeX的标准字体,而且对非拉丁字体的支持更好。 [reference](http://www.linuxidc.com/Linux/2013-09/90330.htm) ### texmaker 没有找到文件 ![texmarker2](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-07-22_5791c6cdae4fa.jpg "") 解决: 打开软件之后,选项->配置Texmaker->左侧大图标“快速构建”->选中单选项“用户” 输入以下命令: ~~~ xelatex -interaction=nonstopmode %.tex ~~~ 之后你就可以写 xeLaTeX 文档并且用快捷键 F1 自动生成 pdf 文件了,点击F7可以快速浏览文件。 ### 调整字体 Latex 设置字体大小命令由小到大依次为: - \tiny - \scriptsize - \footnotesize - \small - \normalsize - \large - \Large - \LARGE - \huge - \Huge 使用的方法: 1. 直接\tiny,这从此行开始,往后的内容都是tiny大小 1. 将中间的区域设置为tiny大小,而其余部分不变 ~~~ \begin{tiny} ... \end{tiny} ~~~ 该设置字体的方法可以用于displaymath环境,然而对于算法伪码的描述,即 ~~~ \begin{algorithm} ... \end{algorithm} ~~~ 是没有效果的。这是因为对于algorithm环境是有自己的字体设置,不会受`\tiny`的影响。可以采用将 ~~~ \algsetup{linenosize=\tiny} \scriptsize ~~~ 加入到`\begin{algorithm}`后。
';

前言

最后更新于:2022-04-01 16:03:28

> 原文出处:[latex 笔记](http://blog.csdn.net/column/details/latexeverywhere.html) 作者:[u012675539](http://blog.csdn.net/u012675539) **本系列文章经作者授权在看云整理发布,未经作者允许,请勿转载!** # latex 笔记 > 一份对初学者友好的 latex 笔记,记录自己一点一滴积累地 latex 知识
';