TeX China认证群组  - 讨论区

标题:LATex常见问题小记

2010年11月02日 星期二 16:07

原文: http://goo.gl/xsu1

发信人: okchenbo (*心*静*忍*), 信区: Tex
标  题: LATex常见问题小记
发信站: 瀚海星云 (2007年03月22日15:59:08 星期四), 站内信件 WWWPOST


在大家写论文期间,暂时将其置底,希望能够对你有所帮助
如果大家遇上什么小问题的解决方案,欢迎补充

  什么是文件名数据库 怎么刷新 

TEX系统通过这个数据库记录了所需要的各种文件的名字和具体目录位置.每次你往系统
中添加文件 
后,都要记得刷新这个数据库,否则TEX有可能找不到需要的文件. 
刷新文件名数据库的具体命令取决于你使用的TEX系统.teTEX和fpTEX的命令是 
texhash 
MiKTEX用的是 
initexmf --update-fndb 
或者使用图形界面工具MiKTEX Optionsb 

 我下载了一些新的宏包,该如何安装到我的系统中去  


如果你得到的宏包已经是编译过的,也就是已经有.sty或者.cls文件,你只需把这些文件
放在 
localtexmf/tex/latex/ 
/的某个子目录中,可以自己建一个.然后你还要让TEX系统知道这个新的宏包的存在,你需
要刷新系统 
的文件名数据库(见11).现在你可以使用这个宏包了. 
你也可以把这些宏包文件和你的TEX源文件放在同一目录下,这种情况下你不需要刷新系
统的文件名 
数据库,但只有同一个目录下的文件可以使用这些宏包. 
如果你拿到的是宏包的源文件,一般来说都包含两个文件:一个扩展名为.ins,另一个扩展
名为 
.dtx.此外,通常会有一个readme.txt对宏包进行简要的说明.你应该先阅读这个文件.
对.ins文件运 
行LATEX命令会产生一个.sty文件.然后参照上面的做法.你还可以从这些源文件中产生帮
助文档,具体 
请参见lshort [1]. 

D使用入门 


  能否举一个简单的英文排版例子 

 
\documentclass{article} 
\begin{document} 
This is a test file. 
\end{document} 

  如何使首段段首也缩进 

使用indentrst宏包: 
\usepackage{indentrst} 
15怎样象第几章一样,将参考文献也加到目录 
在参考文献部分之前加入 
\clearpage %双面打印(twoside)请使用\cleardoublepage 
\addcontentsline{toc}{chapter}{参考文献} 
语句即可. 

 如何生成分栏的文档 

如果全文都是双列分栏格式,可以在\documentclass命令中加入参数twocolumn.例如: 
\documentclass[twocolumn]{article} 
如果要生成单双列混合的分 格式,甚至更多列的格式,则要用到multicol宏包: 
\usepackage{multicol} 
然后将需要多列的地方使用: 
\begin{multicols}{n} 
和 
\end{multicols} 
包含起来.这里的n就是想要的列数. 

E中文支持 

  能否举一个简单的中文排版例子 

在安装好CJK的系统中,下面这个例子可以象英文文档一样的编译(见问题13)得到正确的
输出. 
\documentclass{article} 
\usepackage{CJK} 
\begin{document} 
\begin{CJK*}{GBK}{kai} 
这是中文楷体字. 
\end{CJK*} 
\end{document} 
19如何使段首缩进两个中文字符宽度 
在CJK环境中使用\CJKin命令. 
F数学公式 

 如何实现定理,定义,推论等的统一编号 


现在很多文章的定理,定义,推论,例子都采用统一编号,不再是独立编号.如定义1.1,接下
来可能 
是定理1.2,然后推论1.3,等等.这可以用如下的定义来完成: 
\newtheorem{thm}{Theorem}[section] %如果不采用章节号做前缀,则不用[section] 
\newtheorem{defn}[thm]{Definition} %这句定义使得defn环境和thm共享编号 
\newtheorem{lem}[thm]{Lemma} %这句定义使得lem环境和thm共享编号 


 实数域R或复数域C等的字体该用什么命令 

使用amsmath宏包: 
\usepackage{amsfonts} 
然后用\mathbb命令,例如: 
$x \in \mathbb{R}$ and $c \in \mathbb{C}$x2Randc2C 
22书中向量常用斜体加黑体表示,该用什么字体命令排版 
使用bm宏包: 
\usepackage{bm} 
然后用\bm命令,例如: 
${\bm x}^T {\bm y}$xTy 

 如何实现如(1.1a) (1.1b)这种公式编号 

使用amsmath宏包: 
\usepackage{amsmath} 
例子: 
\begin{subequations} 
\begin{equation} 
A = B 
\end{equation} 
\begin{equation} 
C=D 
\end{equation} 
\end{subequations} 
A=B(1a) 
C=D(1b) 
所有在一对subequations中的公式共享一个主编号(例子中的1). 
G表格图形 
H高级技术 

  \makeatletter和\makeatother是干什么用的 

一些LATEX内部命令含有@字符,如\@addtoreset,如果需要在文档中使用这些内部命令,就
需要借 
助于另两个命令\makeatletter和\makeatother. 
下面的例子可以实现公式编号与节号的关联: 

\documentclass{article} 
... 
\makeatletter % @ is now a normal "letter" for TeX 
\renewcommand\theequation{\thesection.\arabic{equation}} 
\@addtoreset{equation}{section} 
\makeatother%@isrestoredasa"non-letter"characterforTeX 
\begin{document} 
... 
I辅助工具 
  WinEdt和GSview经常出现过期和注册提示,如何解决 

WinEdt和GSview是共享软件,需要注册才能使用全部功能,如果你不能忍受它的提示,那就
只有花 
钱注册了. 

  如何去掉WinEdt的自动断行和自动续行 

点击WinEdt状态栏上的Wrap使其变为灰色可以完全禁止WinEdt的自动断行和自动续行.在
行首加 
入空格或者Tab符可以防止自动续行(将本行并入上一行). 
在WinEdt的菜单Options下选择Perferences,在弹出的对话框中的Editor页的右下角可以
设置Right 
Margin来修改WinEdt判断自动断行的字符数.
 

  Yap里如何预览带有颜色的EPS图片 


打开Yap的菜单Views下的Options,在弹出的对话框中选择PostScript,然后在Quality的
下拉框中 
选择16millioncolors. 
J帮助文档 

    能否推荐一些比较好的中文资料 

目前TEX和LATEX的中文资料还不是很多,特别是相对大量的英文资料而言.如果你刚开始
学习 
LATEX,我们推荐你使用lshort中文版[1].这是一份很好的入门学习教材.它的最新版本可
以在CTEX网站 
免费下载. 
如果你需要一本详细的LATEX命令手册,我们推荐使用邓建松等人翻译整理的LATEX2e科技
排指南 
一书[2].这本书可以说是目前国内正式出版的LATEX书籍中最值得购买的一本.它的一份
电子版初稿也可 
以在CTEX网站免费下载. 
另外一本值得推荐的书是LATEX2e插图指南[3].它是由CTEX的王磊在Keith Reckdahl编写
的Using 
ImportgraphicsinLATEX2e(Ver.2,Dec.1997)一书的基础上翻译整理的.该书目前尚未正
式出版,其电子 
版可以在CTEX网站免费下载
 

  有没有关于LATEX宏包的详细说明 

TEX系统安装时候带的LATEX宏包,都可以在TEX的安装目录下的 
texmf/doc/tex/latex 
"录下找到帮助文件和例子(Windows用户请将/—成\). 
CTEX的在线文档提供了一份关于常见的LATEX宏包的列表和说明.

  调整图与caption之间的距离   

在\caption前面加一句\vspace{-4em}
其中-4是可以调整的

  Latex下 字体大小命令 比较  

size            10pt (default)  11pt option     12pt option 
\tiny           5pt             6pt             6pt 
\scriptsize     7pt             8pt             8pt 
\footnotesize   8pt             9pt             10pt 
\small          9pt             10pt            11pt 
\normalsize     10pt            11pt            12pt 
\large          12pt            12pt            14pt 
\Large          14pt            14pt            17pt 
\LARGE          17pt            17pt            20pt 
\huge           20pt            20pt            25pt 
\Huge           25pt            25pt            25pt 

  字号 与 磅数对比  

编 号 字 号 磅 数
1 大特号 63
2 特 号 54
3 初 号 42
4 小初号 36
5 大一号 31.5
6 一 号 28
7 小一号 24
8 二 号 21
9 小二号 18
10 三 号 16
11 小三号 15
12 四 号 14
13 小四号 12
14 五 号 10.5
15 小五号 9
16 六 号 8
17 小六号 6.875
18 七 号 5.25
19 八 号 4.5
 

  公式环境下汉字的输入  
 
\textbf{}
\mbox{}

使用\textcircled{}命令,后面的参数可以是一个字符或者汉字(配合CJK)
,甚至也可以是公式,但是它只会给第一个字符或者汉字加上 >
合适的圆圈


 间隔距离  

 空格 \ ,~ 二者都可以表示空一格; \,表示空很小一点距离,
\:大一点, \;再大一点; \!往回退一点点;
\hspace{1cm/10pt/0.1\texwidth}横向空一定距离,
\vspace{...}纵向空一定距离; \phantom{000}中间随便写些什么,
宽的字符就空得多一些, 窄的字符就空的少一些,
比\hspace{}强硬一些, 不过在公式对齐时最好还是用&,
用\phantom比较难调, 而且不方便修改.

 求最大化问题的公式输入 

如果公式输入的字体太小、太拥挤,可以看看下面的这种输入法

\begin{equation}\label{rpcd2}
\begin{array}{l}
 \max u_i \left( {D^i ,P(D)} \right) \\
  \vspace{-11pt} %消除加入空格太宽的影响
 ~~~~\\  %增加一行空格 okchenbo
       s.t.~\left\{ \begin{array}{l}
                     D^i P^T (D) \le w_i \\
                     D_k \le C_k \\
                     \end{array} \right.~~~~~~\forall~i \in \mathcal{N},~k \in 
\mathcal{M} \\
 \end{array}
\end{equation}


 公式精调 

TeX提供三种有关数学公式的环境

一种是"文中公式", 通过 $或\(进入"数学环境", 通过$或\)来结束数学环境的;
第二种是 "独立公式", 用$$或\[进入"显示数学环境"(以后我们
统称数学环 境), 用$$或\]退出, 在正文, 它是独占一行的, 它排出的字体要 稍微比文中
公式要大些;
第三种是带公式标号的数学公式: "方程", 这个以后我们详细再讲. 数学环境是自动根据当
前字号来调整公式 中字的大小的. 

有时我们可能直接用1/2来表示分数就可以了, 但是如果分子 分母我们想要排在分数线的上
下, 那就要用"\frac{分子}{分母}" 来表示了, 如$$\frac{1}{x+1}$$. 但是大家如果再把
这个例子用 单$括起做文中公式, 或者$$y=\frac{y-\frac{1}{x+1}}{y+1}$$, 就会发现, 
这个分式显示出来觉得比正常字号小, 要解决这个问 题就要用\displaystyle的命令了. 你
可以试试 $$y=\frac{y-\displaystyle\frac{1}{x+1}}{y+1}$$, 可以了吧. 当然, 如果你
在\documentstyle中使用了vatola选项(需要TeX系 统在指定目录有vatola.sty文件), 那
么, 你可以直接用\dfrac来 代替\frac来达到同样的效果, 而避免使用冗长的
\displaystyle 的输入.(格式如\documentstyle[vatola]{article}; 而如果用 
\documentclass{article}, 则用\usepackage{vatola}); 或二 者均可以在第一句后面加上
\input vatola.sty来包含这个包)      

有人可能又要问了, 如果我输出的分数, 分子还是
有分子分 母的分数, 分母也是一个不简单的分数, 那层层迭迭的分数线, 不够美观, 我还
是喜欢"分子/分母"的格式, 那怎么把这条斜分数 线画得长一些呢? 这里就要用到所谓
的"定界符", 也就是成对出 现的类似于括号的符号了, 如(), [], {}(用\{和\}输入), <>
(用 \langle和\rangle输入), /, \(用\backslash), |, ||(用\|); 以及另一些没法直接显
示的符号, 大家自己用TeX产生出来看看: $\lfloor, \rfloor; \lceil, \rceil; 
\uparrow; \Uparrow; \downarrow; \Downarrow; \updownarrow; \Updownarrow$. 这
些 "括号"通常嵌套并和分数等数学公式一起使用, 如 $$y=1+(\frac{(x+1)^2}{x^2})$$, 
当然大家会看到这外层括号太 小, 不美观, 因此TeX提供了几个改变大小的命令, 从小到大
依次 是\big, \Big, \bigg, \Bigg, 如$$(, \big(, \Big(, \bigg(, \Bigg($$, 其它定界
符类似使用. 另外, TeX还提供了自动调整括 号大小的命令, 那就是在定界符前加\left和
\right, 需要注意的 是\left和\right一定要成对出现, 如果只用单个, 那么另一边就 要
用"\left."或"\right."补上. 知道这些后, 我们就可以来输入 长的"/"号了: $$\frac{1}
{x+1} \left/ \frac{y+1}{x^2} \right.$$ 或$$\left. \frac{1}{x+1} \right/ \frac
{y+1}{x^2}$$, 这两个 是不是比$$\frac{\displaystyle\frac{1}{x+1}}{\displaystyle 
\frac{y+1}{x^2}}$$更令人满意啊? 

数组环境通常用来编排矩阵, 行列式等对齐的数学公式的. 它的格式是: \begin{array}{列
对齐} 第一行 \\ 第二行 \\ ... 最后一行 \end{array} 这里, 列对齐的格式是
{c1c2c3...cn}, 每个ci为一个字母, 说明 第i列的对齐方式, 可以是c(居中), l(左对
齐), r(右对齐). 而 每一行的各列用&符号隔开, 行末是\\. 因此n列的数组, {列对齐} 应
该有n项, 每行应该有n-1个&, 一个\\(最后行通常不用\\). 数 组中某一列可以不存在, 但
是&号不能少. 数组外常常使用可变大 小的定界符\left和\right, 大家看个例子: $$\left
( \begin{array}{clr} a+b+c & a+b+c & a+b+c \\ a+b & a+b & a+b \\ a & a & a \end
{array} \right) $$      这里要作些说明, 数组中某两行的距离可以用"\\[距离]"来 改
变, 也可以用"\renewcommand\arraystretch{实数}"来整体修 改数组的垂直距离(缺省为
1.0), 而参数\arraycolsep=...是修改 其列间距. 使用数组时, 经常容易出错的是: array
必须出现在数 学环境中, &的个数和\\的个数一定要正确, 如果使用可变大小的 括号, 一
定要注意\left和\right必须成对出现, 即使只排印半对 括号. 

那就要用到多行方程环境: \begin{eqnarray} ...... \end{eqnarray} 和 \begin
{eqnarray*} ... \end{eqnarray*} 二者的区别是, 带*号的不将公式标号排出来, 而不带*
的自动给 每行式子编排标号. 

而如果把方程某行的\\前加上"\nonumber", 则TeX不给该行方程 编排标号, 
如"y&=&1+2+3+4+5+6+7+8+9+10 \nonumber \\", 则该 行不出现标号. 这里还要注意的是
equation和eqnarray都是直接 进入$$的显示数学环境, 因此不能在前面和后面加上$或
$$了. 


 短横线的长度÷单引号和双引号 

 连字符, 用"-", 如"X-ray";       
 表示数字的范围, 用"--", 如"1--2";       
 破折号, 用"---";       
 在数学环境中, "-"总是当作减号;

单引号, 分别用"`"和"'"来表示;       
双引号, 则用"``"和"''"(两个同方向单引号连用). 

 Latex页面距离调整 

\texwidth, \texheight 页body的宽度和高度, 不包括页眉页脚   \oddsidemargin, 
\evensidemargin 奇数/偶数页, 纸张左边缘     到页body左边缘的距离减去一英寸   
\topmargin 纸张上边缘到页眉或body(无页眉时)的距离减去一     英寸   
\marginparwidth 页边注(marginnote)的宽度   
\marginparsep 正文边缘到页边注边缘的距离   
\headheight 页眉高度   
\headsep 页眉底部到页主体顶部的距离   
\footheight 页脚高度   
\footskip 页正文最后一行底到页脚底的距离 (建议, 总把\oddsizemargin, 
\evensidemargin, \topmargin设为 0cm; 如果没用页眉, 将\headheight, headsep设为
0cm; 如果没用 页脚, 将\footheight, \footskip设为0cm, 这样便于在输出时直接 利用驱
动程序的功能控制版心的位置.)  
\columnsep 双栏article中, 左右栏间空白的距离 


\parskip       段落之间除了空出正常行距外额外空出的距离  
\parindent     段首空白的长度   
\footnotesep   两个注脚之间的距离   
\baselineskip  正文中前一行底和第二行底的距离, 会因字号的改变自动改变


 另外, 定义行距还有一个特殊的参数, 那是\baselinestretch, 它是用在\begin
{document}前的全局变量, 修改格式如 

\renewcommand\baselinestretch{倍数}    缺省时为1.0, 因此 LaTeX中最小行距是
\baselineskip乘上\baselinestretch得到的.


  eps 图中坐标轴的英文替换——汉字的方法 

具体做法:

先要使用 \usepackage{psfrag}

1.首先将模版的文件单独 Copy 到一个其他的位置;
2.去掉  Setup 中的关于页眉页脚的设定
3.新建一个 New.tex 文件,将希望得到的图的文件单独拷到 New.tex 中

\newpage %%%让图形与章节的标题分成两页

\begin{figure}
\centering 
\psfrag{Time}{~时间} %%% 替换“Time”为“时间”,~是为了将时间居于坐标轴的中
%%%间,具体的可以逐步调整,增加~的个数
\psfrag{Fraction of the market}{~~~~~~~~~~~~~~~~市场份额} %%%% 同上
\includegraphics{cf8.eps}
\end{figure}

4.运行 Texify,此时会出现问题,不要管它,然后运行 Dvi to PS

5.在跑出来的 *.PS 文件中点击 File 工具栏,选择 Extract, 在出来的对话框
中选择图形所在的页{上面的做法为页码 2 },另存为 **.PS 文件, 打开  
**.PS 文件,点击 File 工具栏,选择 PS to EPS,将 **.PS 另存为 ***.EPS


说明:

直接用\psfrag,然后 运行 Texify,会出现问题

如果哪位有更好的方法,希望补充


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
希望得到的图:1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


     |
     |
     |
     |
  收 |
  益 |
     |
     |
     |
     |
     —————————————————————
                        时间

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
原图 2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     |
     |
  R  |
  e  |
  v  |
  e  |
  n  |
  u  |
  e  |
     |
     —————————————————————
                        Time

  \includegraphics放缩、裁剪图片 

\includegraphics[scale=0.3,bb=25 65 565 590,clip,angle=-90]{chart}
scale:缩放比例
bb: 图形边界bound box,四个参数是左上角和右下角的坐标值,可以用ghostview查
看。
clip:自动裁剪图形四周的空白。这个和bb可以同时使用,很有助于节约空间。
angle:旋转角度。
参考: http://edt1023.sayya.org/tex/latex123/node10.html

  beamer里插图 

beamer是常用的幻灯片工具。但是pdflatex命令似乎不支持eps图片,必需用pdf格式。
下面的步骤其实是说明了如何把任意图片转换为pdf格式。

a. 把要插入的图片打印为pdf格式(在acrobat中,可以先选择一个区域,然后执行
print的时候会只打印该区域)
b. 用acrobat professional打开该pdf图片,选择Document -> Crop Pages -> Remove 
white margins去掉多余的白边。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  这个对于pdf图片中上面有很多空白很管用,
不然插入到beamer里图要么很小,要么没法显示


c. 这时就可以用\includegraphics{aaa.pdf}了。


并排,高度与宽度设置如下面的参数;

\begin{figure}[hbt]
\centering \subfigure{
\includegraphics[width=0.48\textwidth,height=0.5\textwidth,clip]{cf4.pdf}}
\subfigure{
\includegraphics[width=0.48\textwidth,height=0.5\textwidth,clip]{cf5.pdf}}
\end{figure}

单图的参数:

\begin{figure}[hbt]
\centering
\includegraphics[width=0.9\textwidth,height=0.65\textwidth,clip]{cf3.pdf}
\end{figure}


如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号