函数、符号及特殊字符声调
函数
同余
微分
集合
逻辑
根号
关系符号
几何符号
箭头符号
特殊符号
上标、下标及积分等
分数、矩阵和多行列式
字体希腊字母斜体小写希腊字母一般用于在方程中显示变量。
黑板粗体
语法 效果 黑板粗体(Blackboardbold)一般用于表示数学和物理学中的向量或集合的符号。 备注:
正粗体
语法 效果 备注
语法 效果 备注 斜体数字
语法 效果 罗马体
语法 效果 备注 哥特体
语法 效果 备注 手写体
语法 效果 备注 希伯来字母
语法 效果 括号
您可以使用
备注:
显示︰ 空格注意TeX能够自动处理大多数的空格,但是您有时候需要自己来控制。
颜色语法
支援色调表 *注︰输入时第一个字母必需以大写输入,如 例子
小型数学公式当要把分数等公式放进文字中的时候,我们需要使用小型的数学公式。
可以使用 \begin{smallmatrix}...\end{smallmatrix} 或直接使用{{Smallmath}}模板。 {{Smallmath|f= f(x)=5+\frac{1}{5} }} 强制使用PNG假设我们现在需要一个PNG图的数学公式。 ↑ 这并不是我们想要的。 若你需要强制输出一个PNG图的数学公式的话,你可于公式的最后加上
↑ 以PNG图输出。 你也可以使用 阅读更多︰Help:Displayinga formula#Forced PNG rendering |TeX各版本概述及基本约定,特殊字符| \begin{figure}[位置] ...内容...(可能是上面的\espfig{...}) \caption{图的标题} \end{figure} 这里[位置]可以是h(当前位置),t(页顶),b(页底),p(另页). +----------------------+ \begin{document} %document开始. %document结束 %以上定义标题各项内容, \maketitle %此句产生标题, 不可缺少, %一般都是正文第一句 \begin{abstract} %套用abstract格式 This is mini-page defined for abstract, %自动形成小页 you only write your abstract in it. If % you want to shows keywords, maybe you % should use: % {\bf Keywords: }\LaTeX, example %LaTeX没有keywords环境 \end{abstract} %自己手工来做吧 % \section{The very beginning} %一个节, 节的使用后详 This is the first section of your % article. You may find every first %一节的第一段缺省情况 paragraph of your section, subsection, %为段首不自动缩进 chapter or ... always has no % ``parindent'' at the beginning. % This is the second paragrph, you can %但是以后的段段首 find this has parindent at the % 自动缩进 beginning. If you want to show % parindent at first paragraph too, % do as the first paragraph I showed % in the next section. % % \section{The 2nd step} %第二节,使用自动标号 \hskip \parindent %横向空出\parindent This is the second section. In this %从这里大家看到 first paragraph, I use `hskip' to %\parindent其实是 get the first parindent. Maybe you %一个长度单位, 长 can get this effect by another way. %度单位后详 % \subsection{Sub-sect of 2} %小节 this % % \subsection*{\S 2.2 Another sub of 2} %节,小节可以不使用 this %自动标号, 这时有关 %的计数器不增加 \section{Conclusion} % I think you have know \TeX well now. %又是一节 I want to show you how to use % bibliography. In the article, you %参考文献的 can use as ``see \cite{texbook}''. %引用方法\cite{标识} % \begin{thebibliography}{0} %参考文献列在这里 %{0}表示最长文献序号 % 为一位数 %\bibitem{标识} %参考文献使用后详 \bibitem{texbook} Donald~E.~Knouth, ``The \TeX book'', Addison-Wesley, 1984 \bibitem{lamport} L.\ Lamport, ``\LaTeX: A Document Preparation System'', Addison-Wesley, 1994 \bibitem{companion} M.~Goossens, F.~Millelbach, and A.~Samarin, ``The \LaTeX\ Companion'', Addison--Wesley, 1994 \end{thebibliography} \end{document} +-------------------------+ | 如何编辑、编译TeX文件 | +-------------------------+ 我们已经讲过, TeX源文件是文本文件, 就象一个C语言的源 文件一样, 那么我们也象编译C语言程序得到可执行程序一样, 我 们编译TeX源文件, 以得到能在计算机上浏览或打印的格式文件, 那就是后缀为.DVI的文件(我们就称它为DVI文件). TeX源文件我 们通常把其后缀取为.TEX. 当然, 如果你在中文TeX的环境中编排 你的中文文章, 那么你的源文件后缀可能就是那个中文TeX给你约 定的了, 我们现在常用的CCT EMTEX, 所用的后缀是.CTX, 系统的 操作是将.CTX源文件中的中文经过预处理, 产生标准的TeX文件, 然后再照平常的TeX文档一样操作, 得到DVI文件. 今后, 我们均以DOS下的CCT EMTEX环境为例, 来讲述TeX文章 的编排. 因为TeX的标准, 所以在不同的TeX环境, 其实文章编排 的内容格式是一样的, 只是可能它得到DVI的途径不同而已. 而我 们就以现在比较流行的LaTeX为准来讲述TeX的使用, 其它如amstex, amslatex等, 仅是文档的最外层框架以及少数扩展的命令不大一 样之外, 其它命令都是相同的. 一个最最简单的TeX文档可能是: (比如我们用EDIT, 当然也 可以用写字板或UltraEdit等甚至是UNIX下的vi编辑器等编辑一个 文本文件如下四行, 取名为'1.tex') \documentstyle{article} \begin{document} my example content \end{document} 现在流行的TeX格式似乎已经不是documentstyle而是documentclass 了, 但是它们除了一开始的写法不大一样之外, 正文的命令排版 等等都没有任何区别. 以CCT EMTEX环境为例, 我们用'latex 1.tex' 来编译TeX文件来得到DVI文件, 然后用'view 1.dvi'来浏览, 用 'dvi24p 1.dvi'(24针打)或'dviljp 1.dvi'(激打)来打印文章. (以上三条命令的后缀均可以省去, 仅用'latex 1','view 1'和 'dviljp 1'等.) 如果你的TeX文件不符合TeX语法, 那编译将可能出错, 这时 可以让系统忽略错误产生DVI文件(这时可能就不能达到你所期望 的排版效果了), 或者你应该修改源文件中的错误, 重新编译, 直 到全部通过. 在LaTeX编译出错时, 会在屏幕上显示出错信息, 并 显示"?"以接受用户进一步的指示. 在"?"后, 输入: 1. 回车: LaTeX尽量忽略此错误, 继续运行; 2. s: LaTeX继续运行, 并之后还有错误, 也不停止运行; 3. r: 类似s, 比上者更强硬, 甚至连打不开文件这样的严重错误 也不停止; 4. q: 同r, 但错误及提示均不在屏幕显示, 直接写入.LOG文件; 5. I: 之后跟一个字符串, 用来插入替代出错的字符串. 比如在 正文需要纵向空出1cm空白, 用"\vskip 1cm", 但是输入错误 成为"\vship 1cm", 则编译出错: ! Undefined control sequence. l.102 \vship 1cm 表示在第102行, \vship是未定义的命令, 这时在?后输入 "I\vskip", 则用\vskip替代出错的\vship, 继续执行. 这里 需要注意的是, 这条指令只是编译中临时修改错误, 并没有 真正地修改源文件; 6. 小于10的数: 表示删出从当前位置开始的那么多个字符; 7. ?: 显示提示 8. h: 显示帮助, 对当前错误提出进一步动作的建议; 9. x: 中断编译, 将已编译的结果写入.DVI中, 出错及提示写入 .LOG中. +----------+ |制作幻灯片| +----------+ xcolor宏包 \usepackage[选项]{xcolor} 选项: 彩色驱动程序名:dvips,dvipdfm,pdftex 彩色模式:natural,rgb,cmyk,.. 预定义色彩集合:dvipsnames,dvipsnames*,... red,green,blue,yellow,cyan,magenta,black,white,orange,violet,purple,brown,pink,... 使用彩色 \color{色彩名}-->声明 \textcolor{色彩名}{文本}-->命令 \pagecolor{色彩名}-->声明,指定背景色(ps,pdf有效) 色彩名必须是已经有定义的 可以使用不同色彩的混合,如 \color{green!40!yellow}-->40%的绿色与60%的黄色混合 \color{-green!40!yellow}上述颜色的补色 色彩混合公式: C0!P1!C1!P2!...!PN!CN=???? 另一种方法 \color[色彩模式]{数据} \textcolor{色彩名}{数据}{文本} \pagecolor{色彩名}{数据} 例: \textcolor[rgb]{0.3,0.8,0.1} \textcolor[cmyk]{0.0,0.5,0.1,0.5} \definecolor{色彩名}{色彩模式}{数据} \providecolor{色彩名}{色彩模式}{数据} 色彩模式:rgb,cmyk,gray等 逗号分隔的十进制小数,表示每个分量的力度 如:\definecolor{red}{rgb}{1,0,0} \definecolor{yellow}{cmyk}{0,0,1,0} 如色彩名已有定义,\providecolor不起作用,\definecolor覆盖原来的定义 彩色盒子 \colorbox{色彩名}{文本} \fcolorbox{色彩一}{色彩二}{文本} \colorbox{色彩模式}{数据}{文本} \fcolorbox{色彩模式}{数据一}{数据二}{文本} \normalcolor:恢复正常色 使用pdfTeX dvipdfm-->div 转 pdf dvipdfmx-->dvipdfm的扩展 pdfTeX处理Plain TeX and AMS-TeX文件 pdfLaTeX处理LaTeX文件 直接生成pdf文件,可以增加一些LaTeX中没有的pdf功能 支持图片格式:pdf,png,jpg,tif,但不支持eps 建立书签:hyperref宏包 \usepackage[选项]{hyperref} \usepackage[选项]{hyperref} hypersetup{...} 例子: \usepackage[dvipdfmx,CJKbookmarks]{hyperref} \usepackage[dvipdfmx]{hyperref} hypersetup{CJKbookmarks=true} hyperref宏包常用选项 驱动选项:dvipdfmx,dvips,pdftex,.... pdf属性:pdftitle,pdfauthor,pdfsubiect,... pdf打开方式:pdfstartview,pdfpagemode,... 书签:bookmarks,CJKbookmarks,bookmarksnumbered,bookmarksopen,... 链接属性:colorlinks,linkcolor,citecolor,... slides文档类:制作透明胶片 \documentclass[选项]{slides} 字体较大,\normalsize-->20pt 缺省字体为sffamily 三种环境:slide,overlay,note pdfscreen宏包 \usepackage[选项]{pdfscreen} 常用选项 screen:产生适合屏幕输出的pdf文件 print:输出打印版 panelleft,panelright,nopanel:设置导航面板 paneltoc:将目录放在导航面板上 sectionbreak:每节分页 导航面板配色方案:blue,gray,orange,... pdfscreen宏包自动输入graphicx和color宏包 pdfscreen定制幻灯片命令(导言区) \screensize{高度}{宽度}:屏幕大小(必须) \margins{左}{右}{上}{下}:定义页边空白,(放在\screensize前) \overlay{pdf图形文件}:幻灯片背景 \paneloverlay{pdf图形文件}导航面板背景 \urlid{CRL地址}:设置主页链接地址 \emblema{图形文件}:在导航面板加入图片 导航按钮: \bottombuttons,\nobottombuttons \topbuttons \notopbuttons 按钮中文化 \panelhomepagename:主页 \paneltitlepagename:标题页 \panelabstractname:摘要页 \panelcontentsname:目录页 \panelgobackname:返回 \panelfullscreename:全屏显示 \panelclosename:关闭 \panelquitname:退出 \panelpagename,\panelofname,\panelofnamep slide环境 \begin{slide} ... \end{slide} 一个slide环境生成一张幻灯片 页面过渡命令(需使用宏包texpower) \usepackage[display]{texpower} \pageTransitionBlindsH \pageTransitionBlindsV \pageTransitionSplitVI \pageTransitionDissolve \pageTransitionSplitVO \pageTransitionSplitHI \pageTransitionSplitHO \pageTransitionGlitter{270} +------------------+ |beamer宏包(最佳)| +------------------+ 是latex制作slide的一个文档类 用pdflatex编译,不需要其它后处理程序 同票latex结合度高 直观而方便的创建遮挡(overlays) 及其它各种漂亮的演示效果 利用theme实现内容和风格的独立,可以轻松的改变风格 在latex中使用beamer的一般步骤 将latex的文档类型从article改为beamer 用section和subsection组织latex的文档结构 用frame环境制作独立的帧 执行pdflatex编译tex文件 beamer文档类 \documentclass[11pt,CJK,compress]{beamer} \usetheme{Warsaw} \usecolortheme{lily} ... 幻灯片主体结构 \section{....} %用于书签和导航条 \subsection{....} %用于书签和导航条 \begin{brame}[选项] \frametitle{...}-->帧的标题 \subframetitle{...}-->%帧的副标题 \end{brame} 一个帧中可以包含覆盖,逐段显示内容 一个有用的选项:plain 标题页 \begin{brame}[选项] \titlepage-->生成标题页 \end{brame} 标题,副标题,报告人,。。。 \title{...} \subtitle{...} \author{...} \date{...} \institute{...} \titlegraphic{...} 目录页 \begin{brame}[选项] \frametitle{Outline} \tableofcontents[选项]-->生成目录 \end{brame} \tableofcontents-->逐段显示目录 hideallsubsections,hideothersubsections currentsection currentsubsection 若不想使用自动生成的目录,可以手工输入 中文支持-CJK宏包 中文模板 \documentclass[CJK]{beamer} ....... \usepackage{CJK} ...... \begin{document} \begin{CJK}{GBK}{song} ...... \end{CJK} \end{document} beamer中的一些预定义环境 theorem,lemma,corollary,definition,... Theorem(费马) block环境-->类似定理环境,可自选标题 \begin{block}{标题} ... \end{block} colums环境 \begin{colums}{选项} \column{宽度} ... \column{宽度} ... \end{colums} beamer中的罗列环境 应多使用罗列环境 可以嵌套使用,但通常不要超过2层 罗列条目的自动逐段显示 \beamerdefaultoverlayspecification{<+->} 手工指定逐段显示的内容:<数字范围> 如:<3>,<-3>,<2-4>,<2-> 抄录环境semiverbatim \begin{semiverbatim} ... \end{semiverbatim} 使用该环境,需在frame后加[fragile]或[containsverbatim]选项 \,{,}仍然保持特殊含义 verbatim仍然可以使用 条目不同性质内容用\newblock分隔 插入图片 \includegraphics[scale=0.5]{***.png} 插入多媒体:multimedia宏包 插入电影 \movie[autostart]{}{***.wmv} 插入声音 \sound[autostart]{}{***.wav} 插入logo \pgfdeclareimage[height=.8cm]{logo}{math} \logo{\pgfuseimage{logo}} 在幻灯片右下角插入logo 幻灯片的切换 \transblindshorizontal \transblindsvertical \transboxin \transboxout \transdissolve \transglitter \transsplithorizontalin \transsplitverticalin \transsplithorizontalout \transsplittverticalout \transwipe 导航图标 \setbeamertemplate{navigation symbols}%{\insert***navigationsymbol} 其中***可以为 slide,frame,subsection,section,doc,backfindforward 多个导航图标,用逗号分隔 取消 \setbeamertemplate{navigation symbols}{} +--------------------------------------+ |beamer中动态时间和倒计时的最终解决办法| +--------------------------------------+ 摘自 bbs.ctex.org pdflatex通过。不可以用web宏包,否则和beamer冲突。 颜色字体,时间格式等参数自己设。 有些要参考javascript,如时间格式。 \documentclass[pdftex,8pt]{beamer} \mode{ \usetheme{CambridgeUS} \useinnertheme{default} \usecolortheme{orchid} \usecolortheme{whale} \usefonttheme{default} } \usepackage{pgf,pgfrcs,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade} \usepackage{xcolor} \usepackage{amsmath,amssymb} \usepackage[latin1]{inputenc} \usepackage{colortbl} \usepackage[english]{babel} \usepackage{times} \usepackage{hyperref} \usepackage{graphicx} \usepackage[final]{pdfpages} \usepackage{textcomp} \usepackage{multicol} %**************************************** \usepackage{eforms} \begin{insDLJS}{showtime}{Show time} function tClock() {this.getField("datetime").value = util.printd("hh:MM:ss tt dd/mm/yyyy", new Date()); %参数可以自己改 } var timeout =app.setInterval("tClock()",1000); \end{insDLJS} %************************************************ \let\oldfootnote\footnote \renewcommand\footnote[1]{\oldfootnote{% \renewcommand\baselinestretch{1}% \large\scriptsize\ignorespaces#1}} \addtolength{\footnotesep}{1pt} \setlength{\abovecaptionskip}{2pt} \setlength{\belowcaptionskip}{1pt} \makeatletter \newcommand\figcaption{\def\@captype{figure}\caption} \newcommand\tabcaption{\def\@captype{table}\caption} \makeatother \setbeamertemplate{caption}[numbered] \usepackage[absolute,overlay]{textpos} \usepackage{tikz} \title[Title short]{Title long} \subtitle{Subtitle subtitle}% \author[authorshort]{\large{authorlong}}% \institute[Schoolshort]{\large{School of ......}}% %************************* \newcommand{\timemark}% {\textField[\BC{0.2 0.2 0.7}\BG{0.2 0.2 0.7}% \textFont{TiRo}\textSize{5}\textColor{1 1 1 rg}]{datetime}{2cm}{4bp}} %参数可以自己改 \date[\timemark]{\today}%时间标签 %**************************** \begin{document} \begin{frame}[plain] \titlepage\pdfbookmark[1]{Title}{Titlepage} \end{frame} \setbeamercolor{frametitle}{fg=red} \section*{Outline}% \begin{frame}\frametitle{Outline} \tableofcontents \end{frame} \section[Backgroud]{Backgroud} \subsection{backgroundA} \begin{frame} \frametitle{backgroundA1} backgroundA1text \end{frame} \begin{frame} \frametitle{backgroundA2} backgroundA2 text \end{frame} \subsection{backgroundB} \begin{frame} \frametitle{backgroundB1} background1text \end{frame} \begin{frame} \frametitle{backgroundB2} background2 text \end{frame} \section[Experimental]{Experimental} \subsection{Experimental} \begin{frame} \frametitle{Experimental 1} Experimental 1 text \end{frame} \begin{frame} \frametitle{Experimental 2} Experimental 2 text \end{frame} \end{document} 倒计时 \begin{insDLJS}{showtime}{Show time} ttotal=120;%总时间自己设定 stotal=ttotal*60 function tClock() {%this.getField("datetime").value = util.printd("hh:MM:ss tt dd/mm/yyyy", new Date()); stotal=stotal-1 hleft=Math.floor(stotal/3600) mleft=Math.floor((stotal - hleft*3600)/60) sleft=stotal - hleft*3600-mleft*60 if (hleft>=1){this.getField("datetime").value=hleft+':'+mleft+':'+sleft;} else{this.getField("datetime").value=mleft+':'+sleft;} } var timeout =app.setInterval("tClock()",1000); \end{insDLJS} +-----------+ |例 子 1| +-----------+ % 13-4-1.tex 用 pdfLaTeX 编译 \documentclass[cjk]{beamer} \mode<presentation> { \usetheme{Warsaw} % 可供选择的主题参见 beameruserguide.pdf, 第 134 页起 % 无导航条的主题: Bergen, Boadilla, Madrid, Pittsburgh, Rochester; % 有树形导航条的主题: Antibes, JuanLesPins, Montpellier; % 有目录竖条的主题: Berkeley, PaloAlto, Goettingen, Marburg, Hannover; % 有圆点导航条的主题: Berlin, Dresden, Darmstadt, Frankfurt, Singapore, Szeged; % 有节与小节导航条的主题: Copenhagen, Luebeck, Malmos, Warsaw % \setbeamercovered{transparent} % 如果取消上一行的注解 %, 就会使得被覆盖部分变得透明(依稀可见) } \usepackage{CJK} \begin{CJK*}{GBK}{kai} \newtheorem{thm}[theorem]{定理} \newtheorem{dfn}[theorem]{定义} \theoremstyle{example} \newtheorem{ex}[theorem]{例} \end{CJK*} \begin{document} \begin{CJK*}{GBK}{kai} \CJKtilde \title{没有最大的素数} \author[\CJKfamily{fs}王某某]{王某某\\ \texttt{who@where.com}} \date[CFP 2003]{奇妙问题探讨大会, 2003} \begin{frame} \titlepage \end{frame} \begin{frame} \frametitle{概要} \tableofcontents \end{frame} \section{动机} \subsection{我们研究的基本问题} \begin{frame} \frametitle{什么是素数} \begin{dfn} \alert{素数}就是只有两个因子的数. \end{dfn} \begin{ex} \begin{itemize} \item 2~是素数。 \pause \item 3~是素数。 \pause \item 4~不是素数~(它有~\alert{3}~个因子)。 \end{itemize} \end{ex} \end{frame} \begin{frame} \frametitle{没有最大素数} \framesubtitle{证明使用了\textit{归谬法}} \begin{thm} 没有最大素数。 \end{thm} \begin{proof}[证明] \begin{enumerate} \item<1-> 假设~$p$~是最大素数. \item<2-> 令~$q$~是前~$p$~个数的乘积. \item<3-> 则~$q$~不被它们中的任何一个除尽. \item<1-> 因此~$q$~也是素数而且比~$p$~大.\qedhere \end{enumerate} \end{proof} \uncover<4->{证明使用了\textit{归谬法}} \end{frame} \section{未解决的问题} \begin{frame} \frametitle{还能做什么?} \begin{columns}[t] \column{.5\textwidth} \begin{block}{已解决的问题} 有多少素数? \end{block} \column{.5\textwidth} \begin{block}{未解决的问题} 是否每个偶数都是两个素数之和?\cite{Goldbach1742} \end{block} \end{columns} \end{frame} \begin{frame} \begin{thebibliography}{10} \bibitem{Goldbach1742}[Goldback, 1742] Christian Goldback. \newblock A problem we should try to solve before the ISPN '43 deadline, \newblock \emph{Letter to Leonard Euler}, 1742. \end{thebibliography} \end{frame} \begin{frame}[fragile] \frametitle{寻找素数的算法} \begin{semiverbatim} \uncover<1->{\alert<0>{int main (void)}} \uncover<1->{\alert<0>{\{}} \uncover<1->{\alert<1>{ \alert<4>{std::}vector<bool> is_prime (100, true);}} \uncover<1->{\alert<1>{ for (int i = 2; i < 100; i++)}} \uncover<2->{\alert<2>{ if (is_prime[i])}} \uncover<2->{\alert<0>{ \{}} \uncover<3->{\alert<3>{ \alert<4>{std::}cout << i << " ";}} \uncover<3->{\alert<3>{ for (int j = i; j < 100;}} \uncover<3->{\alert<3>{ is_prime [j] = false, j+=i);}} \uncover<2->{\alert<0>{ \}}} \uncover<1->{\alert<0>{ return 0;}} \uncover<1->{\alert<0>{\}}} \end{semiverbatim} \visible<4->{Note the use of \alert{\texttt{std::}}.} \end{frame} \end{CJK*} \end{document} +-----------+ |例 子 2| +-----------+ % 13-4-2.tex 用 pdfLaTeX 处理 \documentclass[table]{beamer} \mode<presentation> { \usetheme{default} % 可供选择的主题参见 beameruserguide.pdf, 第 134 页起 % 无导航条的主题: Bergen, Boadilla, Madrid, Pittsburgh, Rochester; % 有树形导航条的主题: Antibes, JuanLesPins, Montpellier; % 有目录竖条的主题: Berkeley, PaloAlto, Goettingen, Marburg, Hannover; % 有圆点导航条的主题: Berlin, Dresden, Darmstadt, Frankfurt, Singapore, Szeged; % 有节与小节导航条的主题: Copenhagen, Luebeck, Malmos, Warsaw \setbeamercovered{transparent} % 如果取消上一行的注解 %, 就会使得被覆盖部分变得透明(依稀可见) } \usepackage{times} \usepackage{pifont} \begin{document} \begin{frame} \begin{itemize} \item<1-| alert@1> First point. \item<2-| alert@2> Second point. \item<3-| alert@3> Third point. \end{itemize} \end{frame} \begin{frame} \begin{itemize}[<+-| alert@+>] \item First point. \item Second point. \item Third point. \end{itemize} \end{frame} \begin{frame} \begin{align} A &= B \\ \uncover<2->{&= C \\} \uncover<3->{&= D} \end{align} \end{frame} \begin{frame} \begin{align} A &= B \\ \uncover<2->{&= C \\} \uncover<3->{&= D \\} \notag \end{align} \vspace{-1.5em} \end{frame} \begin{frame} \rowcolors[]{1}{blue!20}{blue!10} \begin{tabular}{l!{\vrule}cccc} Class & A & B & C & D \\\hline X & 1 & 2 & 3 & 4 \\\pause Y & 3 & 4 & 5 & 6 \\\pause Z & 5 & 6 & 7 & 8 \end{tabular} \end{frame} \begin{frame} \rowcolors[]{1}{blue!20}{blue!10} \begin{tabular}{l!{\vrule}c<{\onslide<2->}c<{\onslide<3->}c<{\onslide<4->}c<{\onslide}c} Class & A & B & C & D \\ X & 1 & 2 & 3 & 4 \\ Y & 3 & 4 & 5 & 6 \\ Z & 5 & 6 & 7 & 8 \end{tabular} \end{frame} \newenvironment{ballotenv} {\only{% \setbeamertemplate{itemize item}{\ding{56}}% \setbeamertemplate{itemize subitem}{\small\ding{56}}% \setbeamertemplate{itemize subsubitem}{\footnotesize\ding{56}}}} {} \setbeamertemplate{itemize item}{\ding{52}} \setbeamertemplate{itemize subitem}{\small\ding{52}} \setbeamertemplate{itemize subsubitem}{\footnotesize\ding{52}} \begin{frame} \begin{itemize} \item<1-| ballot@1> First point. \item<2-| ballot@2> Second point. \item<3-| ballot@3> Third point. \end{itemize} \end{frame} \begin{frame} \begin{itemize}[<+-| ballot@+>] \item First point. \item Second point. \item Third point. \end{itemize} \end{frame} \end{document} +------------+ |TeX 使用指南| +------------+ 如何把多个文件组装在一起? 所用命令:\include, \includeonly TeX Guru的回答 我想使目录表中显示到\subsubsection的标题该怎么办? 我想使目录表中显示附录,但前面没有第??章字样该怎么办? 所用命令:\setcounter, \tableofcontents \addcontentsline TeX Guru的回答 当开始新的一节时,我希望公式自动从1开始编号,那该怎么办? 所用命令:\@addtoreset, \makeatletter, \makeatother, TeX Guru的回答 章节标题太长该怎么办? 所用命令:\section, \\ TeX Guru的回答 在LaTeX中,插图单独显示在一页上,而且有相当多的空白。可我如果改成 \begin{figure}[t],就会把插图显示在文档尾部。这是为什么呢? 所用命令:\renewcommand, \floatpagefraction, \topfraction, \bottomfraction, \textfraction. TeX Guru的回答 在LaTeX中,如何使参考文献的编号只是没有方括号的阿拉伯数字或者上标? 所用命令:\renewcommand, \@biblabel, \makeatletter ... \makeatother TeX Guru的回答 我用\pagestyle{empty}无法去掉所有页的页码,到底怎样可以去掉所有页的页码呢? 所用命令:\pagestyle, \thispagestyle TeX Guru的回答 生成了有中文字符的DVI文件,该如何把它转化成PostScript文件呢? 所用程序:patchdvi, cdvia, dvidrv, dvips32 TeX Guru的回答 在文件中,想把用其它方法生成的PostScript图形包含进来, 可以采用什么方法? 所用命令:\includegraphics, \epsfig TeX Guru的回答 CCT EMTeX中的汉字字体只有可怜的5种,而市面上却有相当多的 适用于Windows中的 True Type字体,有可能在CCT中用这些字体吗? 所用程序:cdvia -c TeX Guru的回答 在调试LaTeX文件时,如果有一长段中出现了令人讨厌的错误,想把它去掉,但又希望继 续编译它后面的部分。如果LaTeX有块注释功能就太好了, 所用命令:\iffalse, \fi(TeX命令) TeX Guru的回答 在Book类中的\pagestyle{}命令可以生成较为复杂的页眉,可我希望在页眉与正文之间有 一横线,该怎么办? 所用命令:\leftmark, \rightmark, \@evenhead, \@oddhead, \makeatletter, \makeatother TeX Guru的回答 +-------------+ |TeX 常见问题1| +-------------+ 整理:happytex 1.\makeatletter 和 \makeatother 的用法? 答:如果需要借助于内部有\@字符的命令,如\@addtoreset,就需要借助于另两个命令 \makeatletter, \makeatother。 下面给出使用范例,用它可以实现公式编号与节号的关联。 \begin{verbatim} \documentclass{article} ... \makeatletter % '@' is now a normal "letter" for TeX \renewcommand\theequation{\thesection.\arabic{equation}} \@addtoreset{equation}{section} \makeatother % '@' is restored as a "non-letter" character for TeX \begin{document} ... \end{verbatim} 2.比较一下CCT与CJK的优缺点? 答:根据王磊的经验, CJK 比 CCT 的优越之处有以下几点: 1) 字体定义采用 LaTeX NFSS 标准,生成的 DVI 文件不必像 CCT 那样需要用 patchdvi 处理后才能预览和打印。而且一般 GB 编码的文件也不必进行预处理就可直接 用 latex 编译。 2) 可使用多种 TrueType 字体和 Type1 字体,生成的 PDF 文件更清楚、漂亮。 3) 能同时在文章中使用多种编码的文字,如中文简体、繁体、日文、韩文等。 当然,CCT 在一些细节上,如字体可用中文字号,字距、段首缩进等。毕竟 CJK 是老外 作的吗。 谈到 MikTeX 和 fpTeX, 应该说谈不上谁好谁坏,主要看个人的喜好了。 MikTeX 比较小 ,不如 fpTeX 里提供的 TeX 工具,宏包全,但一般的情况也足够了。而且 Yap 比 windvi 要好用。fpTeX 是 teTeX 的 Windows 实现,可以说各种 TeX 的有关软件基本上 都包括在内。 3.中文套装中如何加入新的.cls文件? 答:放在tex文件的同一目录下,或者miktex/localtexmf/tex/latex/下的某个子目录下 ,可以自己建一个。 4.怎样象第几章一样, 将参考文献也加到目录? 答:在参考文献部分加入 \addcontentsline{toc}{chapter}{参考文献} 语句即可 5.对于A4的纸型参数,如何使PDFLaTeX按照指定的letter输出? 答:设置参数letterpaper \usepackage[letterpaper]{geometry} 6.如何改变题注或脚注的标号? 答:重新定义\maketitle或者直接修改article.cls中的“ \renewcommand\thefootnote\@fnsymbol\c@footnote}%”这句话。 7.怎么给CJKnumber付初值? 答:计数器都是这样赋值的 \setcounter{\CJKnumber}{value} 8.怎样才能使Winedt错误关联? 答:"C:\?????\winedt\winedt.exe" "[Open('%f');SelLine(%l,8)]" 9.如何改变Reference的大小? 答:\renewcommand\refname{\begin{CJK*}{GB}{song}\small参考文献\end{CJK*}} 10.如何拷贝PDF和PS文件中的图片? 答:Adobe Acrobat中有专门的命令-“文件”-“导出”-“提取图象为”。。。当然 用选中区域再拷贝的方法也可以。实际上ps文件本身就可以被不少的图像处理软件打开, 然后就可以直接转换了。对于不支持ps文件的图像处理软件,则可以把ps文件转存为eps 文件,eps文件几乎可以被所有的图像/图形处理软件打开。 11.在左边列出输入的命令,在右边列出输出的排印结果,应该用什么命令? 答:分栏,然后用 \begin{verbatim} Text \end{verbatim} 如果做成表格形式,用\verb=Text= 12.如何用数字而非特定符号分段落? 答:用\enumerate 13.如何在参考文献加入脚注? 答:例如 \begin{thebibliography}{0} \bibitem{companion} M.~Goossens, F.~Millelbach, and A.~Samarin, ``The \LaTeX\ Companion'', Addison--Wesley, 1994 \footnote{test of footnote} \end{thebibliography} 14.如何在章节、标题上加脚注? 答:使用\protect\footnote{....}命令,也可用\usepackage[stable]{footmisc} 15.正文中实现单栏到双栏,双栏到单栏的版式的混排,而且不换页,请问如何实现?答 :\usepackage{multicol} \begin{document} ... \begin{multicol}{2} \end{multicol} ... \end{document} 16.辅助的Package放到哪个目录下? 答:不过非 miktex 自带的包最好放在 localtexmf 下,这样以后升级的时候方便些。 17.如何用fancyhdr宏包实现在页眉下画一粗一细两条横线? 答:试试下面的命令: \usepackage{fancyhdr} \newcommand{\makeheadrule}{% \makebox[0pt][l]{\rule[.7\baselineskip]{\headwidth}{0.8pt}}% \rule[.6\baselineskip]{\headwidth}{0.4pt}\vskip-.8\baselineskip} \makeatletter \renewcommand{\headrule}{% {\if@fancyplain\let\headrulewidth\plainheadrulewidth\fi \makeheadrule}}\makeatother \begin{document} \pagestyle{fancy} .... \end{document} 18.能不能改变Chapter 起始页码仅从奇数页开始? 答:用 \documentclass[openany]{book} 让 \chapter 可以从任何页面开始。 19.如何在文中实现带圈的数字? 答:1)使用\textcircled{}命令,后面的参数可以是一个字符或者汉字(配合CJK),甚 至也可以是公式,但是它只会给第一个字符或者汉字加上 > 合适的圆圈,字体放缩命令 对它也有效,因此可以利用这点实现两个字符加圈的效果,但是需要仔细的调整尺寸,参 考如下命令: > \Large{\textcircled{\small{12}}}、\textcircled{九}。 2)使用pifont宏包,那里面有很漂亮的带圈的各种数字符号(仅限于阿拉伯数字,如果 想使用加圈的中文“一”至“九”就不行了)。在.tex > 文件中尝试下列命令: \ding{172}~\ding{211}。 3)在GB和GBK字库中本来就有10个加圈数字形式,可以直接在CJK中使用。如果不超过11 的话应该够用了呵呵:①②③④⑤⑥⑦⑧⑨⑩,这些汉 > 字可以直接使用数字软键盘输 入(以智能ABC输入法为例,其实大部分输入法都是一样的):打开软键盘,选择“数字 序号”即可看到。 20.如何产生可变长的 Longrightarrow? 答:用\xleftarrow and \xrightarrow,例如 21.如何在公式中表示上下堆积关系? 答:在latex有一个命令\stackre{上部符号}{下部符号},但更好的一个是用宏包 amslatex中命令\overset和\underset。一个例子是 +-------------+ |TeX 常见问题2| +-------------+ 1。怎样在多栏环境中使用单栏图表? 答:如果你在多栏环境中使用 \begin{figure} ... \end{figure} , 图形是不会出现的 。如果你用另外的命令 \begin{figure*} ... \end{figure*} , 图形就会超出右边或有 页的上边。解决的方法是把下面命令放在 \begin{document}前面 \makeatletter \newenvironment{tablehere} {\def\@captype{table}} {} \newenvironment{figurehere} {\def\@captype{figure}} {} \makeatother 然后用 figurehere 和 tablehere 在你平常用 figure[h....] 和 table[h...]的地方。 2。怎样得到度(degree)的符号? 答:在\begin{document} 前面用 \newcommand{\grad}{\ensuremath{^{\circ}}} ,然后 你在文中就可用 45\grad等等了。 3。怎样得到一个欧元符号? 答:用\usepackage{textcomp} 和 \texteuro 或 \usepackage{marvosym} 和 \EUR都可 以。 4。当我应用fancyhdr时,我得到了太多'Overfull \vbox' 的信息? 答:这是因为缺省的标题空间太小的原因(文本的一行),不能包括fancy标题(1 line of text + 1 rule)。在导言里面加\addtolength{\headheight}{2.5pt}即可。 5。当我用 fancyhdr时,左边和右边的题有交叉重合? 答:这是因为\section 等命令中的文本太长的原因,可用类似"\section[short version]{very long version indeed}"来解决问题。 6。怎样从两栏页面中得到单栏的标题和摘要? 答:试试Donald Arseneau的 \documentclass{article} .... \begin{document} \twocolumn[ \begin{@twocolumnfalse} \maketitle \begin{abstract} ... \end{abstract} \end{@twocolumnfalse} ] 7。怎样改变只有几行文本的页边距? 答:把以下命令放在\begin{document}前面 \newenvironment{narrow}[2]{% \begin{list}{}{% \setlength{\topsep}{0pt}% \setlength{\leftmargin}{#1}% \setlength{\rightmargin}{#2}% \setlength{\listparindent}{\parindent}% \setlength{\itemindent}{\parindent}% \setlength{\parsep}{\parskip}% }% \item[]}{\end{list}} 然后 \begin{narrow}{1.0in}{0.5in} ... \end{narrow} 就产生了左边缩小1.0 英寸和 右边缩小 0.5 英寸的效果 8。我的文本在开始时就停止不编译? 答:这是因为每一次文本编译时都有对应的*.aux文件(前一次产生的),所以删去这个 文件重新编译即可。 9。在eps上加公式的另一个方法。 答:1)建一个eps图形; 2)在你所想放置的地方写下文本(如公式); 3)在latex文本中用命令 \usepackage{psfrag} ; 4)用命令 \psfrag{formula}{some text $\sum_1^\infty \int \frac{a^2}{b_i}$ }让 latex为做工作。 例如 \documentclass[12pt]{article} \usepackage{psfrag} \usepackage{epsfig} \begin{document} \begin{figure} \begin{center} \psfrag{formula1}{some text $\sum_1^\infty \int \frac{a^2}{b_i}$} \psfrag{formula2}{other text $\int_0^{\frac{a^2}{b}} \sqrt{c}$} \epsfig{file=example.eps, width=12cm} \end{center} \caption{The example figure} \label{exampl} \end{figure} \end{document} 10。怎样把一个大表格横向放置? 答:用宏包\usepackage{rotating},然后变换 \begin{table} .... \end{table} 为 \begin{sidewaystable} .... \end{sidewaystable} 注意这个旋转很可能在你的预览中不会再现。 11。关于itemize。 答: 清单至多有四级 $\bullet$ - \labelitemi \textbf{ --} - \labelitemii $\ast$ - \labelitemiii $\cdot$ - \labelitemiv 你可重新定义 \def{\labelitemi}{$\spadesuit$} \renewcommand{\labelitemi}{$\spadesuit$} 也可在itemize 环境中\item命令中同时拥有不同的标签 \begin{itemize} \item[$\heartsuit$] ... \item[$\diamondsuit$] ... \item[$\clubsuit$] ... \end{itemize} 数字序列至多四级顺序可显示,如 1,2 ... - \enumi (a), (b) ... - \enumii i,ii,... - \enumiii A., B. ... - \enumiv 你也可指明选项,如 \begin{enumerate} \item[(1)] \item[(2)] ... \end{enumerate} 12。我怎样重新定义items之间的距离? 答:用miktex2.1中的mdwlist宏包,也可从CTAN的 macros/latex/contrib/supported/mdwtools.zip 上下载后。 13。怎样改变行距? 答:用doublespace宏包,参数"coef"是\baselinestretch文本中定义数值,则可用命令 \begin{spacing}{coef} % coef=2 时双倍行距了 ... text \end{spacing} 14。 怎么定义一个定理型环境? 答:用theorem宏包,例子: \newtheorem{howto}{Questions}[section] \theoremstyle{change} \theorembodyfont{\itshape} \theoremheaderfont{\scshape} 15。怎样在latex中包括一每列的源文件? 答:例如 \floatstyle{boxed} \restylefloat{figure} \begin{figure}[hb] \begin{listing}{1} #include <stdio.h> int main(int argc, char **argv) { int i; for (i = 0; i < argc; ++i) printf("argv[%d] = %s\n", i, argv[i]); return 0; } \end{listing} \caption{A numbered C program} \end{figure} 16。怎样把附录A中的公式序号变为 A.1, A.2, .... B.1, B.2, ...的形式? 答: \appendix \makeatletter \renewcommand\theequation{A.\@arabic\c@equation } \makeatother \setcounter{equation}{0} 或者 \renewcommand{\theequation}{A.\arabic{equation}} 17。怎样把一个 \vertatim 放入 verbatim环境中? 答:用fancyvrb宏包定义自己的 verbatim环境。 18。怎样改变主文本中的字体? 答:命令: \textnorml;申明: \normalfont\ttfamiliy 19。怎样定义一个命令或申明 ? 答:例如一个命令: \newcommand{\name}{1]{\textsc{#1}} 一个申明: \newcommand{\name}{1]{{\normalfont\scshape #1}} 20。怎样合并字体命令? 答: \textrm{...} {\rmfamily...} roman familiy \textsf{...} {\sffamliy...} sans serif family \texttt{...} {\ttfamily...} typewritter family \textmd{...} {\mdserier...} medium series \textbf{...} {\bfseries...} bold series \textup{...} {\upshape...} upright shape \textit{...} {\itshape...} italic shape \textsl{...} {\slshape...} slanted shape \textsc{...} {\scshape...} small caps shape size \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge \emph{...} {\em ...} emphasized \textnormal{...} {\normalfont...} document font 21。 怎样在页眉和页脚中划一道横线? 答:用 fancyhdr宏包。 22。怎样改变章节字体(section fonts)? 答:用titlesec宏包,例如 \usepackage[nops,sf,small,compact]{titlesec} 23。怎样做一个页面设置? 答: \usepackage{fancyhdr} \pagestyle{fancy} \fancyhead{} %clear all fields \fancyhead[RO, LE]{\bfseries \LaTeXe{} HOWTO} \fancyfoot[LE, RO]{\thepage\ of \pageref{LastPage}} \fancyfoot[LO, CE]{} \fancyfoot[CO, RE]{Techical Report} \renewcommand{\headrulewidth}{0.4pt} \renewcommand{\footrulewidth}{0.4pt} 24。怎样实现"page M of N"的形式? 答:用lastpage宏包,任何时候你都可在文本中用 \pageref{LastPage},只是须注意当 用了fancyhdr宏包时,lastpage宏包就须在它后面。 25。怎样实现下划线的标题? 答: \def\@evenhead{\makebox[0pt][l]{\rule[-0.15cm]{\textwidth}{0.1mm}}\hbox{}% \textbf\thepage\hfil\leftmark}% \def\@oddhead{\makebox[0pt][l]{\rule[-0.15cm]{\textwidth}{0.1mm}}\hbox{}% {\rightmark}\hfil\textbf\thepage}% 26。 怎样把一个浮动对象固定下来? 答:例如 \begin{figure}[h] ... \end{figure] 27。怎样定义一个新的浮动 "float" 形式? 答:用float宏包,用\newfloat就可定义新的浮动形式,它的语法是: \newfloat{type}{placement}{ext}{within} - type 是浮动新类型名 - placement 可以是 t, b, p, h 和 H - ext 是以章节列序的任何图表的后缀名 \floatstyle{style}, 其中 style 可以是 - plain, 空白 - boxed, 盒子 - ruled, \floatname{float}{floatname} 定义了浮动标题名,像图的 "Figure" 等等。 \restylefloat{float}用于改变图表的标准浮动形式,例如可以 \floatstyle{ruled} \restylefloat{table} 一个例子是: \documentclass{article} \usepackage{float, times} \thispagestyle{empty} \floatstyle{ruled} \newfloat{Program}{thp}{lop}[section] \floatstyle{boxed} \newfloat{algorithm}{thp}{loa} \floatname{algorithm}{Algorithm} \begin{document} \section{Let's begin} This document show some possibilities of \texttt{float.sty} for floating objects. \begin{Program} \begin{verbatim} #include <stdio.h> int main(int argc, char **argv) { int i; for (i = 0; i < argc; ++i) printf("argv[%d] = %s\n", i, argv[i]); return 0; } \end{verbatim} \caption{A simple C program} \end{Program} .... \end{document} 28。 怎样让文字在一个窄小的浮动图周围? 答:用floatfig宏包,其改进宏包是floatflt宏包。语法是 \begin{floatingfigure}[options]{width of figure} figure contents \end{floatingfigure} 一个例子是: \documentclass{article} \usepackage{floatfig, epsfig} ...bla bla bla \par \begin{floatingfigure}{6cm} ... anything possible in figure environment \end{floatingfigure} 后面的文本将会和浮动图形平行 ,可惜floatfig宏包不是Miktex自带的。 也可用 <wrapfigure> 宏包,语法为 \begin{wrapfigure}[nlines]{placement}{width}figure, caption, etc. \end{wrapfigure} - nlines定义了文本折行为,每一个方程占3行。 - placement水平位置(l,r) - width图形宽度 一个例子是 \begin{wrapfigure}{r}{3in} \begin{boxit} \begin{center} This is a "wrapfigure" \end{center} \caption{A wrapfigure example} \end{boxit} \end{wrapfigure} 注意, wrapfigure 是不浮动的,所以它可能和浮动图形的顺序就不一样了,并且它不能 在“列表list”中,详见王磊的插图指南。 也可用 picins 宏包,命令是 \parpic(width,height)(x-off,y-off)[Options][Position]{Picture} 段落文本 除了 Picture 以外所有的命令都是可选的,详见王磊的插图指南。 29。怎样使图形并列? 答:用subfigure宏包。 一个例子是 \begin{figure} \centering \mbox{ \subfigure[Big]{\includegraphics ...} \quad \subfigure[Small]{\includegraphics ...} \quad \subfigure[Medium]{\includegraphics ...} \quad } \caption{Three subfigures} \label{fig:subfigures} \end{figure} 30。把一幅 .eps 横向放置后,怎样使标题变为相应的形式? 答: \usepackage{rotating} 和 \begin{sidewaysfigure}\centering \includegraphics[width=?cm]{*.eps} \caption{...} \end{sidewaysfigure} +-------------+ |TeX 常见问题3| +-------------+ 压缩空间 1。页面设置 a4 会给你一个较小的页面,为了使用更多的控制,可用 geometry宏包和命令 \layout 。 2。改变长度 在latex里改变长度的命令是 \addtolength 和 \setlength。latex可认的是 cm, mm, in 和 pt. 变量可设为负数。一个例子是 \addtolength{\parindent}{-5mm} 一些有用的变量是: 页面设置 \columnsep: 列间距 \topmargin: 页眉到页边的距离 \topskip: 页眉与正文的距离 \textheight: 正文的高度 \textwidth: 文本的宽度 \oddsidemargin: 奇数页的左面页边距 \evensidemargin : 偶数页的左面页边距 段落 \parindent: 段落缩进距离 \parskip: 段落间的距离 浮动图表 \floatsep: 浮动对象之间的距离 \textfloatsep: 最后一个浮动对象顶端或第一个浮动对象底端与正文之间的距离 \intextsep : 文中浮动顶端与底端所留的距离 \dbltextfloatsep 是在双列输出时用 \textfloatsep 的数值 \dblfloatsep 是在双列输出时用 \floatsep 的数值 \abovecaptionskip: 标题上方的距离 \belowcaptionskip: 标题下方的距离 数学公式 \abovedisplayskip: 公式前的距离 \belowdisplayskip: 公式后面的距离 \arraycolsep: 在一个array中列之间的空白长度 列表 \topsep: 第一个item和前面版落间的距离 \partopsep: 当在一个新页开始时加到 \topsep 的额外空间 \itemsep: 连续items之间的距离。 3。环境 宏包 atbeginend.sty 提供了 \BeforeBegin{environment}{code-to-execute}, \AfterEnd 等等命令。这些命令可去掉环境外面和内部的空间。例如 \AfterBegin{itemize}{\addtolength{\itemsep}{-\baselineskip}} 就在环境内以重新 设置 \itemsep 来压缩items之间的距离 。 mdwlist 宏包有一个 itemize* 环境; paralist 宏包提供了一个item之间距离压缩环境 和一个使每个item不在新的一段开始的 inparaenum 环境。 4。图表 为了节约空间,可用 subfigure 宏包把多幅图形放在一人图形环境中,也可用 floatflt 宏包把图形用文本包围起来。 当有图表时, LaTeX 缺省值不会在超过 70% 的页中加文本。这个可有 \begin{document}加上 \renewcommand\floatpagefraction{.9} \renewcommand\topfraction{.9} \renewcommand\bottomfraction{.9} \renewcommand\textfraction{.1} \setcounter{totalnumber}{50} \setcounter{topnumber}{50} \setcounter{bottomnumber}{50} 即可。 另外,可用 caption宏包减少标题尺寸。 对于一个大的表格,可用 \setlength{\tabcolsep}{1pt}来减少表格的列间距离;也可用 \resizebox{!}{5cm}{\begin{tabular} ... \end{tabular}}把整个表格当作一个图形 5。标题 一个标题周围的距离是由 \parskip, \baselineskip等来决定的,要注意的是 LaTeX 宁 愿在一页中留下空白,也不愿把一个标题放在此页的底部。如果你要重新定义这些命令, 就应该仔细的读一下 titlesec 宏包。 6。文献里面的内容 宏包 mulitoc 可让在单列文本中有一个两列的表格内容存在。 可用 setspace 宏包来减少文献中的行间距离(在文本中也是一个道理) \begin{spacing}{0.9} \tableofcontents \end{spacing} ... \begin{spacing}{0.9} \bibliographystyle{plain} \bibliography{refs} \end{spacing} 如果选用了 natbib 宏包的话(推荐),就可以用 \bibsep 来控制items之间的距离。否 则就可在导言区里用下面的命令。 \let\oldthebibliography=\thebibliography \let\endoldthebibliography=\endthebibliography \renewenvironment{thebibliography}[1]{% \begin{oldthebibliography}{#1}% \setlength{\parskip}{0ex}% \setlength{\itemsep}{0ex}% }% {% \end{oldthebibliography}% } +-------------+ |TeX 常见问题4| +-------------+ 2003年4月15日更新! 本期主题是《运筹学—线性系统优化》的实战篇,关于本书的各种模版和一些TeX的实例( 包括幻灯片的源文件)请到运筹学书的模版和PDF文件下载;一些排版原则请到书的一些专 业排版原则中讨论。而下面只是使用技巧,这本书可是自己排的版,但完全达到了出版社 的要求,应该很有用吧。本使用技巧对初学者非常有用,对于论坛上的高手们只是起了一 个参考作用而已。预计一个月后就能完全更新完全,因为我的论文还没写啊。 1、模版的种类 (1)包括了书的两种类型,两种书的类型的章节标题形式为 第1章 第一章 1 第一节标题 一 第一节标题 1.1 第一小节标题 一 第一小节标题 1.1.1第一小小节标题 (一) 第一小小节标题 (1) 再下一小节标题 1 再下一小节标题 ① 还小一层次的标题 (1) 还小一层次的标题 (i)再小一层次的标题 ① 还小一层次的标题 (a)还小一层次的标题 (i)再小一层次的标题 本书是采用的最左边的格式;右边的格式是对一些出版社而定的,但还没完全达到要求, 特别是目录还需要大家来测试出来。ORmain1与ORmain2就是用手工输入确定参考文献顺序 的模版,DEmain1与DEmain2就是据此修改而得的用Bibtex自动确定参考文献的模版。由上 面的说明,ORmain2与DEmain2还不成熟。当用了Bibtex来得到参考文献时,因为我用了 \usepackage{ulem,CJKulem}宏包命令,所以修改了plainat.bst和unsrtnat.bst文件。 (2)据此书模版修改而得到的幻灯片模版ORslidem.tex是用PDFslide来实现的,这有几 个好处可见模版的抬头说明。这个模版的最大好处是可以用任何.pdf文件来做为它的背景 ,我就选择了pdfscreen下的一个.pdf背景文件。 (3)据此书模版修改而成的文章模版myjournal.tex适合于中英文的文章。 2、版面问题 每一种书内有B5、16开、A4三种页面设置,这是出版社给的标准设置,建议只采用定义版 面和版心大小的方面来进行设置,而不是像word那样定义页边距来实现页面设置!下面对 问题进行分类说明。 首先,在每一级标题中,字体应该一粗一细,但不要使用加粗命令来得到这个效果。在本 书中,出版社采用了正文为11pt的宋体类型,由此有 第1章 隶书居中Huge 1 第一节标题 楷书居中Large 1.1 第一小节标题 幼园齐左large 1.1.1第一小小节标题 仿宋空两字normalsize (1) 小小小节标题 宋体空两字normalsize ① 还小一层次的标题 宋体空两字normalsize (i)再小一层次的标题 宋体空两字normalsize (a)还小一层次的标题 宋体空两字normalsize 要注意的是:如果只到“ 小小小节标题”的命令时,要尽可能地用“(1) 小小小节标题 ”,如果这时表示的是列举,就不用断行。但是,如果这儿表示是标题时,特别是“ 小 小小节标题”下面还有小标题“①”时,即这儿表示分类叙述,则标题后的内容要另起一 行(或者说是标题要独立成行!);并且这时要注意不要背题,即至少下面应有一行正文 内容,这是很重要的!!!所以重新定义了\paragraph命令,这个命令可以实现标题形式 为(1)...(2)...等,并且这时能自动为避免背题现象,推荐!!! 其次,书眉要采用footnotesize的楷体才对,这时也没有大家原来讨论过的overfull的警 告信息了;页码要放在切口。 第三,图表标题的字号应和正文一样,而其内容可以采用small和footenotesize两类,由 于书中有大量的分数,所以采用了small这一类的选项。这里要注意的是,图表标题采用 了楷体,而内容全部采用了宋体,即使是定理结构类型中的图表内容也应和正文中的形式 一致! 3、公式问题 (1)自动调整大小的括号用符号 左右括号,左右中括号等等的符号,常常会因为方程式内容的关系,需要动态的依内容改 变大 小,在LaTeX 中要达到这样的效果,可以在这些符号之前加上\left和\right来达成这样 的效果, 在左边的括号,前面就加上\left,而在右边的括号就加上\right。这两个命令,一定要 成对使用 ,也就是,在一个数学模式中,有一个\left就要有一个\right。如果你只需要其中一个 ,(如在作 条件列示的时候)那么可以用\left\{而右边则是用\right.用句号来表示一个空的符号。 可以使用这 两个命令的符号有 ( ) [ ] \{ \} | \|(||符号) / \backslash(反斜线) \lfloor \rfloor \lceil \rceil \langle \rangle \uparrow \Uparrow \downarrow \Downarrow \updownarrow \Updownarrow (2) 本书的一些特殊设置 当采用标准的\frac{}{}命令时,基本上不做特殊的改动。由于出版社要求行中的公式里 面的分子分母不改变字号,所以定义了一个myfrac命令: \newcommand{\myfrac}[2]{\frac{\displaystyle #1}{\displaystyle\vphantom{\between}#2}}%显示公式的标准尺寸 \newcommand{\myfracnovm}[2]{\frac{\displaystyle #1}{\displaystyle#2}}% %\newcommand{\myfrac}[2]{\genfrac{}{}{}{0}{#1}{#2}}%根据ams宏包做的定义,不推荐 这个 %增加公式和表格环境中公式上下的间距,特别是能避免上下分数粘在一起和表格内分数压 线的问题 \setlength{\extrarowheight}{3pt} %以下两命令可以用来增加表格中行内公式的上下间距以免压线,这个公式不会显示出来 \newcommand{\myvphantom}{\vphantom{\frac{\sum}{\sum}}} \newcommand{\mybigvphantom}{\vphantom{\frac{\frac{\sum}{\sum}}{\frac{\sum}{\sum}}}} 注意上面的\vphantom的特殊效果,由此以下的宏包就非常重要了!!! \usepackage{delarray}%使array环境的[t]或者[b]选项生效;并可解决表格中的文字上 下位置不对的问题 另外,不得不提的分块矩阵的问题,特别推荐pmat宏包,这个的兼容性非常强,模版中有 说明。 而我们平时没注意的是用了\leq和\geq命令,但应该为\leqslant和\geqslant命令。 在公式中,如果表示分类条件,则前面要用“,”号,否则后面要用括号,比如: $$\begin{cases}0,&\mbox{如果为否}\\ 1,&\mbox{如果为是}\end{cases} $$\begin{cases}0&(i=1)\\ 1&(i=1,2,\cdots,n)\end{cases} 顺便于说一下,全文均用了\cdots命令,而没有用\ldots命令,这也省了很多麻烦。在上 面的右边公式中,因为1,2,\cdots,n要经常使用,所以可以定义一个 \newcommand{\myn}{1,2,\cdots,n}来表示它。这应该是一个良好的习惯,因为可以按出 版社的要求进行统改。 而经常是因为公式作为一个整体的原因导致不能很好分页,所以在该用 \allowdisplaybreaks ... \displaybreak[0]的地方一定要用这一组命令。但要注意的是 这一组命令最好要在局部环境下应用,因为eqnarray环境对他是比较敏感的。 4、三线表、列表、文献格式 模版中有详细的说明,特别是本书里面的设置很有用。 首先,要注意的是,图表混排时的小表格不能放在订口,而应该放在切口才行,我用的是 floatflt宏包,当选用[p]选项时就行了。 其次,表格的宽度应该长于标题的长度。当出现多个了图形时,只需要一个标题就行了, 这个可参见动态规划章节中的前面几个标题,所以只需要caption一个宏包就行了,不推 荐subfigure宏包。 第三,参考文献排列有两种方式,一是依正文中出现的顺序排列,这时正文中可以用“参 见文献{6-8]”的形式;二是文献用拼音方式排列,而在正文中就应该用作者-年代的方式 引用。由于拼音排序还没有解决,所以本书采用了第一种方式。 5、特殊字符 包括了罗马数字、度、破折号等字符的输入。其中,破折号、不存在符号、连字符、半字 符是各不相同的,其分别的输入应该为---\!---、--\!--、--、-,因为出版社认为它们 有点靠下,书中都把它们定义了。例如 两阶段法---\!---阶段一,时间--资源的优化,$\alpha$-方法,而不存在符号是用于矩 阵内的。 要注意的是在正文的英文单词的首字符要大写,比如基变量(Basic Variable)。外文名字 方面应该用R. Bellman,而不是R·Bellman的格式。并且外文名字要统一,比如拉格朗日 等人名,要么全用中文,要么全用外文原文。 6、定理结构 当有鱼尾号作为定理结构的开始时,就可以不空两字符了,但如果没有的话,定理结构的 开始就应该空两字符。本书的“【】”型的定理结构是老船长给出的,其他的要求可以再 麻烦他。 其他的排版技巧就要到论坛里面讨论了,那里有很多老大。再一次感谢各位网友的帮助, 没有大家,这本书是排不出来的。出版社的编辑老师说可以和他们的专业LaTeX排版相比 了,这可是大家的功劳,我对程序是一点都不懂的。对于本期主题有什么建议和问题,请 到论坛实战篇讨论。 +-------------+ | 疑难解析 | +-------------+ 问题不多,但是有代表性。 问题: 如何生成ps(PostScript)文件? 回答: 方法有二 1,用dvips这个工具,自己琢磨去吧,很麻烦,很麻烦的; 2,如果使用windows系统的话,在打印机中安装HP LaserJet 4/4M PostScript 的驱动程序。在浏览DVI文件的时候,打印到文件就可以了。文件是保存为*.prn的 , 您只要改他为*.ps就可以了。 问题: 为什么在浏览dvi文件时,告诉我没有makepk这个程序? 回答: 看看您的emtex是完全的吗?如果不全,没有makepk.exe,那么请到“编译器”中 去下 载一个完全的版本,并安装。 最好把cctwin32拷贝到emtex的目录中去。在运行的时候,修改一下路径设置。 最好把emtex下的setenv.bat加入到autoexec.bat中,系统在启动的时候就可以执 行路 径设置。 问题: 如何插入图象? 回答: 我知道的方法有, 1,使用emtex下的img2cct.exe工具。 首先将图象改变为单色BMP,用画笔就可以做这件事情,提醒在保存的时候一定要 存为 单色图。 例如有单色BMP文件test.bmp 然后执行命令:img2cct test.bmp -t3 -c0 具体img2cct的参数,可以直接执行"img2cct.exe"来查看 最后将img2cct.exe生成的test.tex文件的代码拷贝到您的大作中,适当调整位置 ,就 可以了。 您可以下载test.zip(4K),看看是如何emtex是如何嵌入图象的。 2,使用 Scientific WorkPlace(Word) 的用户,只要菜单上File/Import Picture 功能就行。 问题: 为什么cct&emtexsetup无法安装? 回答: 由于Windows系统中的环境变量太多,install程序无法顺利安装。 因此把autoexec.bat中所有的语句前面都加上"rem",然后重新启动计算机,再安 装一 次。安装完毕之后,改回到以前的autoexec.bat,就万事OK了! 注:下面的内容都是从水木清华,南大小百合、笑书亭等BBS下载的。 问题: 现在很多文章的定理, 定义, 推论, 例子都采用统一编号, 不再是 独立编号, 如定义1.1, 接下来可能是定理1.2, 然后推论1.3... 怎么做一个总的框架环境, 实现这种自动的编号吗? 回答: \newtheorem{athm}{\heiti \t}[section] \newenvironment{thm} [1] {\def\t{#1} \begin{athm} \fangsong \rm} {\end {athm}} 正文中如下使用即可: \begin{thm}{定义} ... \end{thm} 或 \begin{thm}{定理} ... \end{thm} 等等. 问题: 在教科书中出现一种字体, 用于实数域R或复数域C等的表示. 象这种非常用字体怎么使用? 还有向量我们常用黑体表示, 而\bf是正体的黑体, 公式中习 惯用斜体, 有斜体的黑体么? 回答: 使用 \font\aaa=msbm10 scaled \magstep 0 或 \newfont {\aaa} {msbm10 scaled \megstep 0} 定义新的字体\aaa 正文中如下使用: $..... \aaa \mbox{R} ...$ 注1: 以上字体msbm10你可参看tfm目录下的有关文件, 多是有 趣的字体, 你可以逐一的试试. 如果想用斜体的黑体, 把上述字体库名改为cmbxsl10即可. 注2: \megstep 0的数字0是放大参数, 改为0-5(?)的数可以得 到不同大小(数字大字就大)的字, 当然msbm9就比msbm10字 问题: 在使用某些字体时, (有.TFM文件) 在编译时没出错, 但在显示时就发现找不到.PK的字库, 怎么办? 要到哪 里去搞这些字库? 回答: 您大可不必去找字库, CCT EMTEX提供了字库生成程序. 你只需如下操作即可: (假设你生成的文件是test.dvi) makepk -r300 test.dvi > temp.bat temp.bat 这样就生成了.DVI中用到的字体的字库文件了(.PK) 问题: 如果公式不独立一行, 而是和文字同处一行, 这时怎么能让 公式显示得大一些: 在有求和或分数时? 在矩阵中, 也发现矩阵的元素如果有分子分母, 也显得特小, 很不合适, 有什么办法么? 回答: 大眼睛也是很笨笨的说. 一开始就是不会, 后来用了一种很不怎样的方法, 把需要加大 显示的一堆括起来, 再放大: $ .... \mbox{\Large $ <要放大的公式> $} ... $ 后来才发现很简单的说, 只要在需要显示大一点的公式前加: \displaystyle 即可. (在丁卫星 的书后面的例子中用到 过, 可惜一直没发现) 如: \displaystyle \frac{\partial F}{\partial x_1} 不过, 大眼睛还解嘲道: 我前面用的那种字体用得很方便呀, 把\Large 改成 \LARGE还能再大呢! 嘿嘿... 问题: 在公式或定理, 定义编号上, 我不想按原来的格式, 如 定理4.2, 而想用定理4.1.2. 或者就直接定理123, 怎么 作修改? 回答: 用\renewcommand重新定义一下标号就可以了. \renewcommand {\theequation} {\arabic{chapter}. \arabic{section}.\arabic{eqation} 后标号就成了 4.1.2这样的了. (在article风格中是section和subsection) 注: 那些变量\the*也可以用于自己定义的环境中, 如 \newtheorem {mythm}{\hskip 2 \ccwd \heiti定理} 后, 就可以 \renewcommand {\themythm} {\arabic{mythm}} 问题: 怎么使用不同的字号和字体?(中英文) 怎么使用双页?(就象书那样) \documentstyle后面的选项和格式都有什么? 回答: 1.关于字号, 你如果是想改通篇文章的字号. 最简单的方法是 将第一句 \documentstyle[选项]{格式} (选项有...,9pt,10pt(默认),11pt,...; twoside,twocolumn,proc,oneside(默认); leqno(默认),fleqn,epsf. 格式有book,report,article,letter; cbook,carticle,...) 的选项选你需要的大小. 2.如想选用双页, 就用twoside, (cbook默认就是twoside, 页码在上面, 章的首页页码在下) 3.在正文某处想改字号大小, 英文用 \tiny, \scriptsize, \footnotesize, \small, \normalize, \large, \Large, \LARGE, \huge, \Huge 中文用 \zihao{n} 此处n可取值: 0(初号),1(一号),2(二号),3(三号), 4(四号),-4(小四),5,-5,6,7 4.关于字体, 英文常用的: \bf黑体, \rm罗马, \sl斜体, \cal花体 \sc, \it公式缺省, \sf 不常用的详见前文所述. 中文常用: \songti, \kaishu, \heiti, \fangsong, \biaosong, 问题: 中文章节如何排版(自动生成)?目前我只能得到英文风格的 “Chapter 10”字样。能够生成中文的么? 回答: 我是这样做的, 加个*号, 不让"chapter 10"出来: \chapter*{\centerline{\heiti 第十章 \quad 多变量函数的微分学}} \setcounter{chapter}{10} %后面的一句是修正该章定理定义等的章的编号 如果你想爽一点, 那么改 \EMTEX\TEXINPUT\CLaTeX\CBOOK.STY (如果你用的cbook格式) 把\def\@chapapp{Chapter}改为\def\@chapapp{} 然后再在你的.CTX中加上 \renewcommand {\thechapter} {第\arabic{chapter}章} 然后你就可以用 \chapter{章题} 了. 注: 在你用爽一点的方法时, 定理定义等的编号就出问题了 (可能是 "定理第10章.4"之类), 那是因为 \thechapter和\arabic{chapter} 不太一样的原因, 你只需重定义一下编号, 用后者替换前者即可. 问题: 如何在CCT EMTEX的文章中插入图象文件? 在插入图象文件时, 我发现它是左对齐的, 能让它居中么? 回答: 在CCT EMTEX提供的软件环境下, 你可以将一个黑白双色的图象 文件插入到文章中, 具体步骤是: 1. 先得到一个黑白双色的.PCX格式的图象文件. 可能你是用画笔画的一个.BMP文件, 那么它可能就是16色或 256色或更多色(虽然你可能只使用了黑白两色作图), 那么 你首先必须把它转成2色.PCX文件. 在使用中, 我发现wingif 最好用(用alchemy.exe转化好象后面一步无法通过): 你先把 图在wingif中读入, 再点Edit菜单下的Monochrome Dither, 然后File/Save, 在对话框中点Format>>, 然后选PCX, 存盘 即可. (wingif在.141 /incoming/tools/wingif.rar) 2. 使用CCT自带的工具img2cct.exe转化, 自动生成一个.tex文 件和.bmf文件(img2cct的参数使用请打img2cct回车) 3. 你将生成的.tex文件插入到你文章的正文中. 也可用 \input fig1.tex %假设该图名为fig1.bmf 4. 编译即可. (可参看CCT自带的使用手册) 注: 1. 你会发现图形并不在一行的中间, 这可能使你很不满意, 不要紧, 你只要稍加修改即可. 我们看一个例子, 这是fig1.tex \vbox{\hsize7.556 true cm \vskip4.9389 true cm \relax\hbox to\hsize{\hbox to0pt{\special{BMF=FIG1.BMF}}\hss}\hss} 我们只需将{\special{BMF=FIG1.BMF}}用\centerline括起来即可. 即改为 {\centerline{\special{BMF=FIG1.BMF}}} 2. 这只是点阵图, 所以分辨率有限, 为了使图象效果好些, 你可能要 把图画得大一些, 如上的图是按-r180的参数生成的, 原图是500X350. 大家自己算算要画多大生成的图才不至于太小. 3. 有一个网友以前提供给我一个.pcx到.bmf的文件, 可惜后来我找不到 了, 因为我打的书, 插图有专人画, 不用我管, 所以我也没再麻烦他要了. 使用该文件会简单很多, 不一定要求是2色的图象了. 就用不着麻烦地使 用wingif了. 问题: 我打矩阵时, 发现矩阵(使用array环境)的行距特别小, 显得很挤, 有什么办法么? 回答: 最简单的方法是来个空行, 多打个\\. 另外, 大家都知道修改行间距可以改: \baselineskip <距离> 或\renewcommand{\baselinestretch}{<实数>}来达到目的. 而修改array的行距也有相应于后者的语句: \renewcommand{\arraystretch}{<实数>} 该数是1.0时, 是缺省情况; 如果是1.5, 则间距为原来的1.5倍. 注: 1.不过我试了一下, 发现对一般的array很有效, 但对于复杂的array, 比如说矩阵每一项都有分子分母, 然后用的\displaystyle的, 就 显得效果不大. 2.array中, 列间的间距是\arraycolsep, 这个我没试过. 问题: LaTeX的连字符, 连数符, 破折号; 单引号, 双引号. 回答: LaTeX的连字符, 用 - , 如"X-ray"; 连数符, 用 -- , 如"1--2"; 破折号, 用 --- ; 这三者分别从短到长. 这些符号前后一般都无空格. 单引号: 用 ` 和 ' 表示两个方向的单引号. 双引号: 用 `` 和 '' (两个单引号连在一起)表示. " 只产生一个方向的双引号. 注: 在数学环境中, 任何 - 都表示减号. 问题:LaTeX 如何生成目录 回答:1.最好自己定义目录形式,美观方便,下面是偶定义的几个,你不妨试试 \def\mlA#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm} {\protect\hspace*{-1 true cm}{#1}\quad{#2}~\dotfill~} \hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}} \def\mlB#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm} {\protect\hspace*{-1 true cm}{#1}~\dotfill~\hbox{#2}} \hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}} \def\mlC#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm} {\protect\hspace*{-1 true cm}\quad{#1}~\dotfill~} \hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}} \def\mlD#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm} {\protect\hspace*{-1 true cm}\quad{#1}~\hfill~} \hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}} 2.使用方法如下: \mlA{title}{author}{page no.} 效果: title author ......................... (page no.) \mlB{title}{author}{page no.} 效果: title .......................... author (page no.) \mlC{title}{page no.} 效果: title ......................... (page no.) \mlD{title}{page no.} 效果: title (page no.) 问题: 如何把某种图形文件(如jpg,gif等)插到tex或ctx文件中? 图形文件(如jpg,gif等)转成ps文件后如何插到tex或ctx文件中? 回答:最好先转为ps文件. pdftex和dvipdfm支持jpeg, gif不行. \usepackage{graphicx} \begin{document} ... \includegraphics{your.ps} ... \end{document} 问题:LaTeX中如何使公式编号具有(1.2)这种格式? 回答:It is default style in book. In article style, use the following command \documentclass{article} \usepackage{amsmath} \numberwithin{equation}{section} \begin{document} \section{my section} \begin{equation} x^2+y^2=1 \bend{equation} .... \end[document} 问题:TeX问题:如何自定义数学函数 回答:Try \def\myfun#1#2#3#4% {\mathrel{\mathop{\mathrm #1}\limits_{#2}^{#3}#4}} \begin{document} ... $\myfun{simfun}{x<0}{y>0}{x^2+y^2}$ ... \end{document} 问题:tex中花体字母N怎么输入? 回答:不是花体字母N, 是标准的 $N$. 要用花体的话, $\mathcal {N}$ 问题:在LaTeX中怎样生成双线的方括号?哪儿有stmaryrd 回答:ftp://159.226.47.19/pub/TeX/Package/latex/contrib/other/misc/ 问题:请问如何把word文档转换成latex的格式? 回答:用mathtype4.0, 双击公式可打开公式编辑器, 设定菜单Preferences->Translaters Translate to another launguage: 选latex2.09 and later uncheck 'include translater name' and 'include mathtype data' 选中整个公式,^c, 到notepad里面^V就行了 我现在就这么干的。 不过熟悉之后,直接敲tex公式也不慢。 |
|