自己动手写LaTeX宏包
- 格式:pdf
- 大小:95.01 KB
- 文档页数:2
LaTeX 是一种用于排版数学公式的标记语言。
以下是一份简短的LaTeX 数学指南,帮助使用LaTeX 排版数学公式:1.导入LaTeX 宏包在LaTeX 文档的开头,需要导入相应的宏包才能使用LaTeX 的数学排版功能。
常用的宏包有amsmath、amssymb 等。
例如,要使用amsmath 宏包,可以在文档开头添加以下代码:\usepackage{amsmath}2.创建数学环境LaTeX 中,数学公式需要放在特定的数学环境中。
常用的数学环境有equation、equation、align、align 等。
例如,要创建一个单独的数学公式,可以使用以下代码:\begin{equation}a^2 + b^2 = c^2\end{equation}如果要在一行中排版多个数学公式,可以使用align 环境,例如:\begin{align}a^2 + b^2 &= c^2 \d^2 + e^2 &= f^2\end{align}3.排版各种数学符号和公式LaTeX 中有许多内置的数学符号和公式,可以直接使用。
例如,要排版分数,可以使用\frac 命令:\frac{a}{b}要排版根号,可以使用\sqrt 命令:\sqrt{x}要排版积分,可以使用\int 命令:\int_a^b f(x) dx4.使用自定义的数学符号和公式如果LaTeX 内置的数学符号和公式无法满足你的需求,你可以使用自定义的命令来排版。
例如,要排版一个带有上标的变量,可以使用以下代码:x_i = i^2 + 1其中,x_i 表示带有上标的变量,i^2 表示i 的平方,1 表示常数。
你也可以自定义自己的数学符号和公式,然后使用\newcommand 或\def 等命令进行定义。
例如:\newcommand{\mysqrt}[1]{\sqrt{#1}}\mysqrt{x}其中,\newcommand{\mysqrt}[1]{\sqrt{#1}} 是自定义一个名为\mysqrt 的命令,它接受一个参数#1,并返回该参数的平方根。
latex教程LaTeX是一种专业的文档准备系统,它具有高质量
的排版能力,
LaTeX是一种专业的文档准备系统,它具有高质量的排版能力,被广泛应用于学术论文、科技文献、书籍、报纸等领域。
以下是LaTeX教程的基本知识:
1. 安装LaTeX:首先需要安装LaTeX系统,并选择一个适合自己的LaTeX编辑器。
常见的LaTeX编辑器有T exmaker、TeXstudio、WinEdt、Sublime Text等。
2. 编写LaTeX文档:LaTeX文档使用.tex扩展名,它由一系列命令和文本内容组成。
一个简单的LaTeX文档包含文档类型、文档标题和作者。
在编写时,需要掌握一些基本的LaTeX命令,例如字体样式、段落格式、插入图片等。
3. 排版:LaTeX的排版能力非常强大,可以自动化地处理文本格式问题,如间距、页面边距、标注等。
在排版时,还需要注意一些常见的问题,如页眉页脚、目录、交叉引用等。
4. 格式要求:在使用LaTeX撰写学术论文时,需要遵守一定的格式要求。
这些要求包括字体、行距、字数统计、参考文献格式等。
总的来说,LaTeX的学习需要花费一定的时间和精力,但也有丰富的资源和社区支持。
在编写LaTeX文档之前,需要研究所需的文档结构和格式。
LaTeX的核心是命令和环境,因此掌握这些基本知识是非常重要的。
LaTeX的优点在于它可以使文档的格式更加一致、精美,同时也可以自动化地完成其他任务。
ChinaTeX(含《LaTeX2e入门与提高》随书光盘)手工安装指南尝试手工安装,将有利于您熟悉和掌握MiKTeX即外围相关软件的工作方式,从而在本光盘套装的基础上自行定制自己喜好的安装模式。
在下面的安装说明中,“[X:\]”代表光盘所在的光驱驱动器根目录或者您在硬盘存放光盘内容的目录。
-- (适用于ChinaTeX CD版本)将Data\texmf.7z文件解压到您设定的TeXMF目录,如C:\ChinaTeX\texmf,然后将该目录下的子目录miktex\bin加入系统路径;-- (适用于ChinaTeX DVD版本)这时存在[X:\]texmf目录,您只需简单地将[X:\]texmf\miktex\bin 加入系统路径即可,当然您也可以手工将[X:\]texmf拷贝到硬盘的其他目录作为TeXMF目录,然后将这个目录下的miktex\bin加入系统路径。
-- 创建您要安装本地文件的路径,这里假设为C:\MiKTeXDirect,设置系统环境变量MD_LOCALROOT为该路径。
-- 将[X:\]Data目录下的MiKTeXDirect.7z解压缩到C:\MiKTeXDirect目录(您需要先安装[X:\]Extras\7-Zip目录下的7-Zip压缩程序),然后将C:\MiKTeXDirect\miktex\bin加入系统搜索路径。
-- 使用xGBKFonts加入中文字体,使用方法参考[X:\]texmf\miktex\bin\xGBKFonts.bat;-- 在命令行执行initexmf -u、initexmf --mkmaps及initexmf -u,即可开始使用MiKTeX。
-- (可选)如果您要使用netpbm的完全版(LaTeX2HTML需要netpbm支持),请将[X:\]texmf\netpbm\bin加入系统搜索路径,MiKTeX中附带了少量同名的netpbm程序,我们已将其改名为xxxxxx-miktex.exe的格式,以避免重名,如果您想使用MiKTeX的相关命令,请自行修改。
LaTeX 是一个基于 TeX 的排版系统,广泛用于生成科学和数学文档。
LaTeX 提供了丰富的宏包和命令,用于排版公式、表格、图形等。
以下是一些基本的LaTeX 用法:1. 设置文档类型latex\documentclass{article}2. 导入宏包latex\usepackage{amsmath}\usepackage{amsfonts}\usepackage{amssymb}3. 编写文本latex\begin{document}Hello, world!\end{document}4. 数学公式使用 `$` 符号包围数学公式:latex$a^2 + b^2 = c^2$或者使用 `equation` 环境排版公式:latex\begin{equation}a^2 + b^2 = c^2\end{equation}5. 行内公式使用 `equ` 命令:latexThis is an inline formula: \equ{a^2 + b^2 = c^2}.6. 公式编号使用 `\tag` 命令:latex\begin{equation}a^2 + b^2 = c^2\end{equation}\tag{1}7. 表格使用 `table` 环境和 `tabular` 命令:latex\begin{table}\centering\begin{tabular}{c c c}a &b &c \\d &e &f \\\end{tabular}\caption{A simple table}\end{table}8. 插入图片使用 `includegraphics` 命令:latex\begin{figure}\centering\includegraphics[width=3in]{image.jpg}\caption{A figure}\end{figure}9. 页面设置使用 `\pagestyle` 命令:latex\pagestyle{headings}10. 生成参考文献使用 `bibliography` 命令:latex\bibliography{refs}11. 交叉引用使用 `\label` 和 `\ref` 命令:latex\label{fig:1}\ref{fig:1}12. 宏包自定义宏包:latex\ProvidesPackage{mypackage}[2023/01/01 v1.0 My Package]\documentclass{article}\usepackage{mypackage}以上只是 LaTeX 的基本用法,实际上 LaTeX 的功能非常强大,包括排版复杂的数学公式、创建精美的表格和图形、管理参考文献等。
latex 中文使用方法和示例一、引言在科研写作和学术论文编辑中,latex 已经成为了一种非常流行的编辑工具。
它有着优秀的数学公式排版和文档结构管理功能,因此受到了许多科研工作者和学术写作者的青睐。
然而,许多人在使用 latex 时遇到了中文支持和排版的问题。
本文将介绍 latex 中文的使用方法,并给出一些示例,帮助读者更好地掌握 latex 中文排版。
二、latex 中文支持方法1. 使用 CTeX 套装CTeX 套装是一款专门为中文latex用户设计的工具,它包含了完整的中文支持和相关宏包。
在编写latex文档时,用户只需加载 CTeX 宏包即可直接使用中文排版。
CTeX 套装还提供了中文文档模板和示例,对中文用户来说非常方便。
2. 使用 XeTeX 或 LuaTeX 引擎除了 CTeX 套装外,用户还可以选择使用 XeTeX 或 LuaTeX 引擎来编译 latex 文档。
这两种引擎天生具备中文支持,可以直接处理中文字符和字体,因此在使用上更加方便。
使用 XeTeX 或 LuaTeX 编译中文文档时,只需在文档的开头加载 \usepackage{fontspec} 宏包,然后设置中文字体即可。
三、latex 中文排版示例1. 中文文章排版\documentclass{article}\usepackage{ctex}\begin{document}\section{引言}在科研写作和学术论文编辑中,latex 已经成为了一种非常流行的编辑工具...\end{document}2. 中文书籍排版\documentclass{ctexbook}\begin{document}\chapter{前言}本书介绍了如何使用 latex 进行科研写作和学术论文编辑...\end{document}3. 中文演示文稿排版\documentclass{beamer}\usepackage{ctex}\begin{document}\begin{frame}\frametitle{latex 中文排版示例}本文介绍了 latex 中文排版的使用方法和示例...\end{frame}\end{document}四、latex 中文排版注意事项1. 字体设置在使用 latex 编辑中文文档时,用户需要特别注意字体选择和设置。
LaTex数学宏包汇总集锦algorithm2e它提供一个 Algorithm2e 环境,用于在 LaTeX2e 中排版算法步骤。
它将算法步骤定义为浮动体;它提供一组关键词供排版使用,关键词既可修改也可创新。
源文件Christophe Fiorioalgorithms它定义了 algorithmic 和 algorithm 两个环境和一组命令,可用于排版算法步骤,对其中的关键词可以采用不同的显示效果。
两种环境可分别使用,也可同时使用;其中algorithm 环境还可以处理图形之类的浮动体。
源文件示例Rogério Britoamsbsy它定义了排版黑体数学符号的命令 \boldsymbol 和 \pmb。
该宏包现已经被更新的宏包bm所取代。
源文件Frank Mittelbachamscd它定义了一个CD 环境,适用于排版较简单的只有单向箭头的矩形交换图表。
源文件Frank Mittelbachamscls它定义了 amsart、amsbook 和 amsproc 三种数学源文件类型,它们包括了美国数学学会所有出版物的样式。
它还提供了一个可独立使用的定理宏包amsthm。
源文件AMSAMSFonts美国数学学会根据其印刷和电子出版物以及在线资料库的样式要求,编造的一组用于排版数学出版物的数学符号字体库宏包套件,它包含有:amsfonts、amssymb、eufrak和eucal四个宏包。
eucal 可修改LaTeX 的数学字体命令\mathcal 。
当加载该宏包后,使用 \mathcal 命令,调出的是欧拉书写体,而不是通常的计算机现代书写体。
它还有一个mathscr 选项,使其可与数学字体命令\mathscr 结合使用。
eufrak 设置了哥特字体,这是一种书写或印刷字体,外观非常华丽,多见于中世纪时的神学文献。
如果已加载了amsfonts 宏包,该宏包就是多余的。
源文件AMSamsfonts它定义了大写空心粗体字命令\mathbb 和欧拉字体命令\mathfrak 以及数学公式中各种相应的字体,如:粗数学斜体和粗希腊字母下标、求和积分等大符号下标、欧拉数学字体、斯拉夫字体等。
\usepackage{geometry} % 利用geometry 可以很方便的设置页面的大小。
\usepackage{fancyhdr} % 用fancyhdr 来设置页眉和页脚十分方便,而且可以在配合CCT、CJK来设置中文的页眉等。
\usepackage{fancyvrb} % 用来得到一些加框的列举环境\usepackage{fancybox} % 提供了\shadowbox, \doublebox, \ovalbox 和\Ovalbox 四个命令来生成不同形状的盒子。
\usepackage{amsmath,amsfonts,amssymb,graphicx} % EPS 图片支持\usepackage{subfigure} % 使用子图形\usepackage{indentfirst} % 中文段落首行缩进\usepackage{bm} % 公式中的粗体字符(用命令\boldsymbol)\usepackage{multicol} % 正文双栏\usepackage{picins} % 图片嵌入段落宏包比如照片\usepackage{abstract} % 2栏文档,一栏摘要及关键字宏包\usepackage{anysize} % 对于像book 等双面版式来说,这里的left 和right 再奇偶页会互换。
\usepackage{hyperref} % 文献引用的宏包\usepackage{listings}\lstloadlanguages{C,C++,matlab,mathematica} %程序清单关键字宏包\usepackage{color} % 可以产生有颜色的符号\usepackage{units} % 用于美化单位及分式\usepackage{tabularx} % 用于灵活地控制表格的生成\usepackage{mathrsfs} % 用于产生一种数学用的花体字%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 关于各个宏包的说明。
TeX软件的安装和使用方法A(自助):在MikTeX的官网下载免费的MikTeX编译包并安装。
下载WinEdt (收费)或TexMaker(免费)等编辑界面软件并安装。
方法B(打包):在下载ctex套装(含MikTeX及WinEdt)哈哈这一部分当然不包含在标题的30分钟里。
2.第一个文档打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8。
\documentclass{article}\begin{document}hello, world\end{document}然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间),在下拉菜单中选择XeTeX,并点击编译。
如果顺利的话,我们就可以顺利生成出第一个pdf文件,点击工具栏中的放大镜按钮就可以快速打开生成的pdf文件。
3.标题、作者和注释建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}\author{My Name}\title{The Title}\begin{document}\maketitlehello, world % This is comment\end{document}4.章节和段落建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF-8,编译并观察现象。
\documentclass{article}\title{Hello World}\begin{document}\maketitle\section{Hello China} China is in East Asia.\subsection{Hello Beijing} Beijing is the capital of China.\subsubsection{Hello Dongcheng District}\paragraph{Tian'anmen Square}is in the center of Beijing\subparagraph{Chairman Mao} is in the center of Tian'anmen Square\subsection{Hello Guangzhou}\paragraph{Sun Yat-sen University} is the best university in Guangzhou. \end{document}退格只是我个人偏好,看起来层次清晰美观。
LaTeX新人教程,一小时从完全陌生到基本入门作者:董楠LaTeX新人教程,一小时从完全陌生到基本入门by Nan对于真心渴望迅速上手LaTeX的人,可以只看正文。
曾经在缝缝补补中变得长长的“前言”被我丢到了正文后面当“后记”。
后记部分可以跳过不看或只看粗体。
原本这个版本的流程内容是30分钟。
后来应小伙伴呼声,加入了图片引用、公式引用和参考文献内容。
因此如果要走完这个流程的话,大致需要一个小时。
=============================================下面是教程正文。
(正文最后应大家要求增添了附录)注:文章里的代码我自己测试是可以直接复制进winedt编译成功的。
但是有朋友反馈说编译不成功,检查后的结果大概是在人人网发帖的时候,人人网自己神奇的排版系统自主“智能”增添了一些换行符制表符类似物。
因此如果直接复制编译不成功的时候,请尝试手打一遍。
代码内容已经十分精简,相信手打起来也不会有太大压力。
1。
LaTeX软件的安装和使用方法A(自助):在MikTeX的官网下载免费的MikTeX编译包(150Mb)并安装。
下载WinEdt(9.5Mb)(收费)或TexMaker(32Mb)(免费)等编辑界面软件并安装.方法B(打包):在ctex。
org下载ctex套装(203Mb或1。
3Gb)(含MikTeX及WinEdt)哈哈这一部分当然不包含在标题的一小时里。
新人不必纠结软件问题,随便什么软件随便什么版本只要下载下来能编译出pdf来就可以,先下载了装上来试试再说。
我推荐winedt也是方便我在介绍按钮样子的时候可以统一描述。
在真正开始跑步之前没有必要纠结该买NIKE跑鞋还是ADI跑鞋,跑起来再说.不要瞻前顾后,just try it。
2.第一个文档打开WinEdt,建立一个新文档,将以下内容复制进入文档中,保存,保存类型选择为UTF—8。
\documentclass{article}\begin{document}hello, world\end{document}然后在WinEdt的工具栏中找到编译按钮(在垃圾桶和字母B中间),在下拉菜单中选择XeLaTeX,并点击编译。
LaTeX⼿动安装宏包(package)以及⽣成帮助⽂档的整套流程注意:版权所有,转载请注明出处。
我使⽤的是ctex套装,本来已经⾃带了许多package,但是有时候还是需要使⽤⼀些没有预装的宏包,这时就需要⾃⼰安装package了。
下载package可以从CTAN(Comprehensive TeX Archive Network)下载,⽹址是。
下载下来的宏包,有的直接包含.sty ⽂件(.sty⽂件就是package的最终形式);有的下载下来只包含了.ins, .dtx,以及⼀个readme⽂件,这时需要⾃⼰编译⽣成.sty⽂件,以及⽣成相应的manual。
下⾯详细介绍⽣成.sty⽂件以及帮助⽂档的步骤。
以下步骤的前提是你已经安装好了ctex,并且MikTex的可执⾏程序已经加⼊了系统的环境变量中(PATH),另外我的系统的win 8.1,win 7应该也是⼀样的。
第⼀步:下载宏包,解压,不赘述,下载地址,我下在的⼀个宏包名称是qrcode,是⽤来⽣成⼆维码的,以这个宏包的编译为例来讲解。
第⼆步:找到你的解压后安装包地址,在我的电脑上是“E:\LaTeX_package\qrcode”,然后打开电脑的命令提⽰符界⾯,把当前的路径改到这个package所在的⽂件夹,也就是“E:\LaTeX_package\qrcode”第三步:⽣成qrcode.sty,在命令提⽰符界⾯输⼊”latex qrcode.ins”, 经过⼀段时间编译,qrcode.sty就⽣成了;然后接着⽣成帮助⽂档manual, 在命令提⽰符界⾯输⼊” latex qrcode.dtx”,编译完成以后,会⽣成⼀个叫做qrcode.dvi的⽂件,这个⽂件也可以⽤ctex⾃带的yap程序打开,不过不是很⽅便,所以最好还是把它转为pdf格式,分为两部,先输⼊ “dvips qrcode.dvi”,⽣成qrcode.ps⽂件,再输⼊”ps2pdf qrcode.ps”,最终就⽣成了qrcode.pdf的帮助⽂档,可以打开查看这个package的基本⽤法,命令的格式等。
⾃⼰动⼿写latex宏包写⼀个宏包的基本⼯作就是将你原本很长的⽂档导⾔拷贝到⼀个分离的⽂件中去,这个⽂件需要以 .sty 结尾,⽂件中需要使⽤⼀个专⽤的命令:\ProvidesPackage{package name}这个命令应该在宏包⽂件起始处使⽤,⽤于声明 LaTeX 宏包的名称,当⽤户尝试两次引⼊同⼀个宏包时,\ProvidesPackage 命令会给出宏包重复引⽤的错误信息。
哪些内容应当放⼊宏包⽂件中呢?当然是你的⼤多数 LaTeX ⽂档都要⽤到宏包、⾃定制的排版命令,把这些东西丢到宏包⾥,就可以实现复⽤。
宏包使⽤得当,可以避免很多繁琐的输⼊与排版命令的记忆。
下⾯是我基于⾃⼰的排版习惯定制的⼀个宏包,仅供初学者参考:% lyanry book style package\ProvidesPackage{lyrbook}% 设定页边距\usepackage[top=1.1in,bottom=1.1in,left=1.25in,right=1in]{ geometry}% 加载 ams 数学公式与数学字体宏包\usepackage{amsmath, amsfonts}% 有时要⽤ PGF/TikZ 绘制⼀些图\usepackage{tikz}\usetikzlibrary{trees,shapes,snakes,arrows,backgrounds}% 加载 CJK 相关宏包,并设置中⽂字体\usepackage{CJKutf8, CJKnumb, CJKpunct}\newcommand{\lyrtitle}{ \CJKfamily{yahei}}\newcommand{\lyrem}{ \CJKfamily{yahei}}% 设置中⽂段落⾸⾏缩进与段落间距\usepackage{indentfirst}\setlength{\parindent}{2em }\setlength{\parskip}{0pt }% 设置⾏间距\renewcommand{\baselinestretch }{1.2}% 设置页眉页脚\usepackage{fancyhdr}\pagestyle{fancy}\renewcommand{\chaptermark}[ 1]{\markboth{\small 第\,\thechapter \,章\quad #1}{}}\renewcommand{\sectionmark}[ 1]{\markright{\small\thesection \quad #1}{}}\fancyhf{}\fancyhead[ER]{ \leftmark}\fancyhead[OL]{ \rightmark}\fancyhead[EL,OR]{ $\cdot$\,\thepage\,$\cdot$ }\renewcommand{\headrulewidth}{ 0.4pt}\headheight=16pt%------------------------------------------% 以下是为符合中⽂阅读习惯⽽重新定制的命令%------------------------------------------% 设定章节标题格式\usepackage{titlesec}\titleformat{\chapter}{ \centering\LARGE\lyrtitle}{第\, \CJKnumber{\thechapter}\,章}{1em}{}\titleformat{\section}{ \large\lyrtitle}{\thesection}{1em}{}\titleformat{\subsection}{ \normalsize\lyrtitle}{\thesubsection}{1em}{}% 设定表格、插图等元素的标题\usepackage[small, center]{caption2 }\renewcommand{\captionlabeldelim }{~} %将图⽚标题后的冒号替换为空格。
[转]latex的宏包之显示程序代码排版源代码,\lstset{lang ge=C,caption= C code,label=ccode} \begin{lstlisting} for (i=0; i!=n; i++) stat[i]= i; \end{lstlisting}如果源代码很长,可以放在额外的文档中,然后导入\lstinputlisting{source_filename.c}支持的程序语言ABAP IDL Plasm ACSL inform POV Ada Java Prolog Algol JVMIS Promela Ant ksh Python Assembler Lisp RAwk Logo Red?bash make Rexx Basic Mathematica RSLC Matlab R y C++Mercury S Caml MetaPost SASClean Miranda Scilab Cobol Mizar sh Comal ML SHELXL csh Modula-2Simula Delphi MuPAD SQL Eiffel NASTRAN tclElan Oberon-2TeX erlang OCL VBScript Euphoria Octave Verilog Fortran Oz VHDL GCL Pascal VRML Gnuplot Perl XML Haskell PHP XSLT HTML PL/I定制listings 宏包提供一系列的可定制参数,\lstset{ %lang ge=Octave, % 程序语言名称basicstyle=\footnotesize, % 基本字体的字号numbers=left, % 行号位置numberstyle=\footnotesize, % 行号字体的字号stepnumber=2, % 行号的显示步长numbersep=5pt, % 行号与代码间距backgroundcolor=\color{white}, % 背景色需要 \usepackage{color}showspaces=false, % 显示空格showstringspaces=false, % 字符串中显示空格showtabs=false, % 显示TAB frame=single, % 显示边框tabsize=2, % TAB 被当作两个空格captionpos=b, % 标题位置breaklines=tr, % 自动断行breakatwhitespace=false, % 断行只在空格处escapeinside={\%*}{*)} % 添加注释,暂时离开 listings }1 基本用法下面给出一份用于排版 C 语言 HelloWorld 程序代码的完整的 LaTeX 文档:\documentclass{article}\usepackage{listings}\begin{document}\begin{lstlisting}[lang ge=C]int main(int argc, char ** argv){/* print a string "Hello world!"printf("Hello world!\n");return 0;}\end{lstlisting}\end{document}排版效果如下图所示:[转]latex的宏包之显示程序代码 - 佳佳 - 年华2 对计算机语言的支持listings 宏包支持大约近百种计算机语言,下面只列举几个常用的:C :ANSI, Handel, Objective, SharpC++ :ANSI, GNU, ISO, Vis lDelphiJava :empty, AspectJTeX :AlLaTeX, common, LaTeX, plain, primitiveXMLGnuplotHTMLPythonR ymake :empty, gnu从上面的语言支持列表可看到有些语言是分为了多种类型的,比如 C 语言分为了 ANSI, Handel, Objective, Sharp 等类型。
LaTeX技巧⼼得242:LaTeX编辑表格的常⽤宏包与⽰例array标准 LaTeX 提供有 array 和 tabular 两个制表环境,它们的完整格式如下:\begin{array}[表格位置]{列样式} \end{array}\begin{tabular}[表格位置]{列样式} \end{tabular}\begin{tabular*}{表格总宽度}[表格位置]{列样式} \end{tabular*}这两个环境的选项和参数定义是相同的,不过 array 主要⽤于数组矩阵的排版,且只能⽤在数学环境中,如 equation 等。
array 宏包扩展了 array 和 tabular 环境功能,主要增加和增强了列样式选项,甚⾄可编程定义新的列样式;还增加了许多细部微调功能,如改变垂直表格线的粗细和⾃动调整表格间隙等。
使⽤该宏包可以排印出外形美观、功能丰富的表格。
该宏包没有任何选项,扩展后的两个环境的列样式选项:选项说明l该列左对齐排列c该列居中排列r该列右对齐排列p{列宽}设置该列宽度,⽂本顶对齐@{声明}该列每⾏插⼊声明中⽂本m{列宽}设置该列宽度,⽂本居中对齐b{列宽}设置该列宽度,⽂本底对齐>{声明}声明可以是命令或插⼊列元素之前的⽂本<{声明}声明可以是命令或插⼊列元素之后的⽂本|列边或列间加⼊⼀条垂直线!{声明}⽤声明要求的样式取代列间垂直线应⽤举例:LaTeX技巧⼼得242:LaTeX编辑表格的常⽤宏包与⽰例LaTeX技巧⼼得242:LaTeX编辑表格的常⽤宏包与⽰例列样式还可设置为:>{\setlength{\parindent}{26pt}}p{列宽},对该列⽂本⾏或段落缩排。
源⽂件 Frank Mittelbach et albooktabs它定义了三条划线命令:\toprule、\midrule 和 \bottomrule,可分别对表格顶部、中部和底部使⽤不同粗细的⽔平线,见下例:LaTeX技巧⼼得242:LaTeX编辑表格的常⽤宏包与⽰例它还可以改变表格的⾏距,使表格尤其是长表格更加美观。
y umengkk的专栏加入 \newcommand{\tabincell}[2]{\begin{tabular}{@{}#1@{}}#2\end{tabular}}命令: \tabincell{c}{aa\\bb}公式太长,需要分割为两行是:可以用如下方法:• 宏包首先,需要使用以下宏包,\usepackage{algorithm}\usepackage{algorithmic}• 输入、输出和返回值此外如果算法有标准的输入和输出,以及返回值,可以使用相应的输入、输出、返回值命令,输入、输出、返回值命令依次分别为:% 该命令为输入参数说明的命令,至于命令的 "~~",具体作用也不清楚,参考的链接中是这样给的,\REQUIRE ~~ \\% 以下命令为输出参数说明的命令\ENSURE ~~ \\% 使用返回值格式命令\RETURN• 命令重命名当然,如果不喜欢宏包中默认的命令,则可以使用以下latex命令将原有的默认命令进行重命名,\renewcommand{\algorithmrequire}{\textbf{Input:}}\renewcommand{\algorithmensure}{\textbf{Output:}}按照以上两句代码重定义后,就可以用 "Input:" 和 "Output:" 来分别表示输入和输出了。
• 完整例子以及详细说明以下为一个使用算法的tex 代码例子,\usepackage{algorithm}\usepackage{algorithmic}\begin{algorithm}\caption{算法的标题}\label{alg:framwork} % 给算法一个标签,以便其它地方引用该算法\begin{algorithmic}[1] % 数字 "1" 表示为算法显示行号的时候,每几行显示一个行号,如:"1" 表示每行都显示行号,"2" 表示每两行显示一个行号,也是为了方便其它地方的引用\REQUIRE ~~\\ % 算法的输入参数说明部分The set of positive samples for current batch, $P_n$; \\The set of unlabelled samples for current batch, $U_n$; \\Ensemble of classifiers on former batches, $E_{n-1}$;\ENSURE ~~\\ % 算法的输出说明Ensemble of classifiers on the current batch, $E_n$;\STATE Extracting the set of reliable negative and/or positive samples $T_n$ from $U_n$ with help of $P_n$; \label{code:fram:extract}% 算法的具体描述,也可以给具体的算法行给定标签,方便其它部分对它的引用\STATE Training ensemble of classifiers $E$ on $T_n \cup P_n$, with help of data in former batches; \label{code:fram:trainbase}\STATE $E_n = E_{n-1} \cup E$; \label{code:fram:add}\RETURN $E_n$; % 算法的返回值\end{algorithmic}\end{algorithm}• for 循环的使用例子例子, for 格式\FOR {each $i \in [1,9]$}\STATE initialize a tree $T_{i}$ with only a leaf (the root); \\\STATE $T = T\bigcup $_{i};$ \\\ENDFOR例子2,forall 格式\FORALL {forall 循环条件} \label{alg:code:tag:1}\STATE forall 循环体算法伪代码行一 \label{alg:code:tag:2}\STATE forall 循环体算法伪代码行二 \label{alg:code:tag:3}\ENDFOR• while 循环的使用例子\WHILE {while循环条件}\STATE while循环体算法伪代码行一\STATE while 循环体算法伪代码行二\ENDWHILE• if\IF {if条件描述}\STATE if代码描述一\STATE if代码描述二\ENDIF\ENDIF• if ... else ...\IF {if条件描述}\STATE if伪代码描述一\STATE if伪代码描述二\ELSE\STATE else伪代码描述一\STATE else伪代码描述二\ENDIF• if ... else if ...\IF {if条件描述}\STATE if伪代码描述\ELSIF {elseif条件描述一}\STATE elseif伪代码描述一\ELSIF {elseif条件描述二}\STATE elseif伪代码描述二\ELSE\STATE else伪代码描述\ENDIF• repeat until ,这里的条件描述,描述的是退出条件,也就是在条件满足时,循环退出\REPEAT\STATE 伪代码描述\UNTIL {条件描述}• ininite loops,无限循环,循环体中应该是具备退出条件的\LOOP\STATE 伪代码描述\ENDLOOP• 变量打印\PRINT 打印内容描述• 算法部分循环使用总结\IF {"condition"} "text" \ENDIF\IF {"condition"} "text" \ELSE "text" \ENDIF\IF {"condition"} "text" \ELSIF "text" \ELSIF "text" \ELSE "text" \E NDIF\FOR {"condition"} "text" \ENDFOR\FORALL {"condition"} "text" \ENDFOR\WHILE {"condition"} "text" \ENDWHILE\REPEAT "text" \UNTIL {"condition"}\LOOP "text" \ENDLOOP。
自己动手写LATEX宏包
写一个宏包的基本工作就是将你原本很长的文档导言拷贝到一个分离的文件中去,这个文件需要以 .sty 结尾,文件中需要使用一个专用的命令:
\ProvidesPackage{package name}
这个命令应该在宏包文件起始处使用,用于声明LaTeX 宏包的名称,当用户尝试两次引入同一个宏包时,\ProvidesPackage 命令会给出宏包重复引用的错误信息。
哪些内容应当放入宏包文件中呢?当然是你的大多数LaTeX 文档都要用到宏包、自定制的排版命令,把这些东西丢到宏包里,就可以实现复用。
宏包使用得当,可以避免很多繁琐的输入与排版命令的记忆。
下面是我基于自己的排版习惯定制的一个宏包,仅供初学者参考:。