| | 整理: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,例如 \[0 \xleftarrow[\zeta]{\alpha} F\times\triangle[n-1] \xrightarrow{\partial_0\alpha(b)} E^{\partial_0b} \] 21.如何在公式中表示上下堆积关系? 答:在latex有一个命令\stackre{上部符号}{下部符号},但更好的一个是用宏包amslatex中命令\overset和\underset。一个例子是 \[ \overset{*}{X} \qquad \underset{*}{X} \qquad \overset{a}{\underset{b}{X}} \] |
|
| | | 翻译/ 整理:happytex
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} #i nclude <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} #i nclude <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} |
|
| | | 翻译/ 整理:happytex
压缩空间 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}% } |
|
| | | 翻译/ 整理:happytex2003年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公式也不慢。 |
|
|
|