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

LaTeX使用XeLaTeX入门基础(一)

主机平台:GentooLinux11.2内核版本:LinuxKernel3.2.1编译环境:XeTeX3.1415926-2.3-0.

主机平台:Gentoo Linux 11.2

内核版本:Linux Kernel 3.2.1

编译环境:XeTeX 3.1415926-2.3-0.9997.5 (TeX Live 2011)

原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7616846

更多请查看专栏,地址http://blog.csdn.net/column/details/latex.html

作者:闫明


1、latex、tex、xelatex、xetex的关系

LaTeX 是TeX 中的一种格式(format) ,是建立在TeX 基础上的宏语言,也就是说,每一个LaTeX 命令实际上最后都会被转换解释成几个甚至上百个TeX 命令。但是,普通用户可以无需知道这中间的复杂联系。就象编程的时候如果使用一些已经编译好的函数库和模板可以使我们仅仅用几个命令就实现很多功能一样,LaTeX 根据人们排版文章的习惯,定义了许多命令和模板,通过这些命令和模板,我们可以很快的得到漂亮的排版结果。

XeTeX(/ˈziːtɛx/或/ˈziːtɛk/[1])是一种使用Unicode的TeX排版引擎,并支持一些现代字体技术,例如OpenType。其作者和维护者是Jonathan Kew,并以X11自由软件许可证发布。它原生的支持Unicode,并默认其输入文件为UTF-8编码。XeTeX可以在不进行额外配置的情况下直接使用操作系统中安装的字体,因此可以直接利用OpenType,Graphite中的高级特性,例如额外的字形,花体,合字,可变的文本粗细等等。

XeLaTeX是使用LaTeX的排版引擎,也有上述XeTeX的优点,命令下直接使用xelatex ***.tex就会产生对应的PDF文件。


2、LaTeX和”所见即所得“排版工具的比较:『摘自lshort-cn.pdf』

优点:

*提供专业级的排版设计,使你的文档开起来如同印刷好的一样。
*可以更方便地排版数学公式。
*用户仅仅需要掌握少数容易理解的,用来说明文档之逻辑结构的命令,而无须对实际的页面设计做胡乱的修补。
*可以很容易的生成脚注、索引、目录和参考文献等复杂的结构。
*有大量免费地可添加宏集,协助你完成许多基本的 LATEX 未直接支持的排版任务。例如,支持在文档中插入 PostScript 图形的宏集和排版符合各类标准的参考文献的宏集,等等。The LATEX Companion [3]中给出了大量的宏集说明。
*LATEX 鼓励作者写作具有良好结构的文章,因为 L TEX就是通过详细地说明文章的结构来进行其排版工作的。
*TEX 作为 LATEX 的格式化引擎是免费软件,且具有极高的可移植性。因此,他几乎可以在任何硬件平台上运行。

缺点:

*对于出卖其灵魂的人来说,LATEX 不能很好的工作。
* 尽管在预先定义好的版面中可以调节一些参数,设计全新的版面还是很困难的,需要耗费大量的时间 。
*LATEX 不适合于排版非结构化的、无序的文档。
*即使有一个令人振奋的开始,但你也有可能无法完全掌握其精髓。


3、文档实例

文档中的空格和空白行:

空格和制表符都看作是space,多个连续的space视为一个space,每段开始的space被忽略。

\documentclass{article}
\usepackage{zhfontcfg}
\begin{document}
\title{My \LaTeX{}}
\author{闫明}
\maketitle
%\todayHello, World!顶格段落Two Empty Line Jumped!
\end{document}


编译结果如下:

Screenshot

特殊字符:添加反斜线

特殊字符:\#\$\% \^{}

编译结果如下:


Screenshot-1


使用latex命令:

命令以'\开始',命令后面空格被忽略,如果需要空格,在命令后面添加{}符号

today is \today and we are studing latex


这样编译结果如下:

Screenshot-2

添加{}后

today is \today{} and we are studing latex
编译结果:

Screenshot-3


注释的使用:

单行的注释可以使用%号,每一行%后的文字将被忽略。如果有很大段的需要注释,每行添加%是不明智的,这时可以使用包verbatm

实例如下:

\documentclass{article}
\usepackage{zhfontcfg}
\usepackage{verbatim}
\begin{document}
\title{My \LaTeX{}}
\author{闫明}
\maketitle
%\todayHello, World!
\begin{comment}
这里是注释文字
\end{comment}\end{document}


添加脚注:

使用命令:

\footnote{更多请查看CSDN主页 http://blog.csdn.net/yming0221}

编译结果:

Screenshot-4






推荐阅读
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
  • 本文深入探讨了CGLIB BeanCopier在Bean对象复制中的应用及其优化技巧。相较于Spring的BeanUtils和Apache的BeanUtils,CGLIB BeanCopier在性能上具有显著优势。通过详细分析其内部机制和使用场景,本文提供了多种优化方法,帮助开发者在实际项目中更高效地利用这一工具。此外,文章还讨论了CGLIB BeanCopier在复杂对象结构和大规模数据处理中的表现,为读者提供了实用的参考和建议。 ... [详细]
  • 本文深入探讨了在Spring Boot中处理RESTful风格的表单请求的方法,包括请求参数处理、请求映射以及RESTful设计原则的应用。文章详细介绍了如何利用HTTP动词(如GET、POST、PUT、DELETE)来操作资源,并结合Spring Boot的注解(如@GetMapping、@PostMapping等)实现高效、清晰的请求处理逻辑。通过实例分析,展示了如何在实际项目中应用这些技术,提高开发效率和代码可维护性。 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 在Bugku Web CTF实战演练中,通过细致的源代码检查,我们发现了一个隐藏的滑稽笑脸图标,进一步分析后成功找到了flag。此外,还探讨了如何利用计算器功能进行安全测试,提升了对Web漏洞的识别和利用技巧。 ... [详细]
  • React 实现 Post 请求下载 PDF 文件的解决方案
    在 React 应用中实现通过 POST 请求下载 PDF 文件的功能,本文提供了完整的代码示例。具体实现包括设置状态以显示加载提示,并通过控制台日志记录下载索引,确保请求的正确性和用户体验。此外,还详细介绍了如何处理响应流并将其转换为可下载的 PDF 文件,适用于需要安全传输数据的场景。 ... [详细]
  • 在Ubuntu系统中配置Python环境变量是确保项目顺利运行的关键步骤。本文介绍了如何将Windows上的Django项目迁移到Ubuntu,并解决因虚拟环境导致的模块缺失问题。通过详细的操作指南,帮助读者正确配置虚拟环境,确保所有第三方库都能被正确识别和使用。此外,还提供了一些实用的技巧,如如何检查环境变量配置是否正确,以及如何在多个虚拟环境之间切换。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 在CodeIgniter框架中集成新库文件的过程中,我遇到了一些困惑。具体来说,在跟随nettuts的认证教程时,对于在Welcome控制器中添加的构造函数代码,特别是关于Session的验证部分,我感到不太理解。这部分内容涉及如何确保Session已经初始化并具备相应的功能,这对于实现用户认证至关重要。为了更好地掌握这一知识点,我计划深入研究CodeIgniter的官方文档,并参考更多相关资源,以确保能够正确地集成和使用新库文件。 ... [详细]
  • 《Intel IA-32 架构软件开发人员手册详尽指南》提供了详尽的 IA-32 架构技术文档,涵盖指令集、系统编程和硬件接口等内容,为软件开发人员提供全面的技术支持和参考。该手册不仅包括详细的架构说明,还提供了丰富的编程示例和最佳实践,帮助开发人员更好地理解和应用 IA-32 架构。 ... [详细]
  • FastDFS Nginx 扩展模块的源代码解析与技术剖析
    FastDFS Nginx 扩展模块的源代码解析与技术剖析 ... [详细]
  • 在今天的实践中,我深入学习了网页图像抓取技术,通过编写爬虫程序批量获取网站上的图片资源。具体来说,我选择了一个包含大量高质量图片的网站作为练习对象,并成功实现了将这些图片批量下载到本地存储。这一过程不仅提升了我对爬虫技术的理解,还增强了我的编程能力。 ... [详细]
  • Java中处理NullPointerException:getStackTrace()方法详解与实例代码 ... [详细]
  • 在Java中,`Timer`类主要用于在指定时间或以固定周期执行任务。虽然它具备线程安全性,但并不保证实时性。此外,`Timer`支持使用守护线程来运行任务,Java中的线程分为用户线程和守护线程两种类型。用户线程通常用于执行应用程序的主要逻辑,而守护线程则用于支持程序的后台操作。通过合理配置`Timer`,可以实现高效的任务调度和管理。 ... [详细]
author-avatar
mobiledu2502889497
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有