作者vvbird (vv)
看板tutor
标题[分享] 利用 TeX 编考卷 -- 放图片(三)
时间Thu Mar 29 00:48:19 2007
原文出处:
http://irenepcc.dyndns.org/~mt/archives/dunst/06_tex/001844.php
缩网址:
http://tinyurl.com/yp83gf
这是放图系列的最後一篇,所以希望透过这一篇,能让我们把图和题目紧密接合,
也就是说,我希望能出现那种图就摆在题目的右边,而题目里可以一开始就写"如
右图..."。
不过要做到这件事,我不想解释太多指令的用法,而是提供一个范例模板,你只
要去适当的修改里面的参数,就能达到所要的目的。所以那就开始吧。
那个模板有点复杂,不过不用太害怕,因为要了解的只是怎麽用而已。那个模板
长这个样子。
\parbox[t][题目的高度]{左侧文字栏位的宽度}{
左侧文字题目的内容
}\begin{tabular}{c}
\multirow{2}{左侧文字栏位的宽度}{\parbox[t][题目的高度]{右侧图片栏位的宽度
}{\includegraphics[scale=1]{图档的档名}}}\end{tabular}
吓到了吗?很复杂吧。其实你要了解的东西并不多,接下来我就就一一说明。
1. 题目的高度
简单的说就是题目在垂直方向要留多高
2. 左侧文字栏位的宽度
把题目分成左右两块,左边放文字部份,这就是文字部份的宽度。
3. 右侧图片栏位的宽度
这则是用以描述右边放图片部份的宽度。
想像把一个"日"字型的隐型方格放倒,左边的空间放文字,右边的空间放图片。
同样的我们来看看实际的例子。
\parbox[t][3cm]{10cm}{
这里是文字的部份
}\begin{tabular}{c}
\multirow{2}{10cm}{\parbox[t][3cm]{5cm}{\includegraphics[scale=1]{test.eps}}}
\end{tabular}
这个例子里,我们为题目前预留了 3 公分的高度,而左边的文字留了 10 公分,
右边的图留了 5 公分。
而在使用时,我们为了要能够调整下一题不要去盖到上一题,我会习惯在题目的
最後面加上 \rule{18cm}{2ex} 画出一个长条,来检测题目或是图是否有不小心
越界。当然,最後完稿後,我会把那一行去除。在 TeX 里,如果你用这种方式放
图,就表示你自己要去注意图和文的相关位置。
另外,为了使用这个模板,你要记得引入 multirow 这个 package。还记得指令吗?
\usepackage{multirow}
最後,这次要对 \\ 做一点小补充,让他的功能再强一点,你可以在 \\ 後面加
上 [高度] 用以告诉 TeX,你不止要换行,而且下一行要在特定高度後再出现,
例如 \\[2cm]、\\[4ex]。
最後,还是以一个 TeX 文稿来当成范例,设得把他存到 test.tex 再利用
"bg5latex test.tex" 与 "dvipdfm test.dvi"
把他变成 pdf 档。
以下是 TeX 文稿的内容
\documentclass{article}
\usepackage{enumerate}
\usepackage{graphicx}
\usepackage{multirow}
\usepackage{CJK}
\begin{document}
\begin{CJK}{Bg5}{akai}
\noindent 接下来就是范例 \\
\parbox[t][3cm]{12cm}{
如右图,右图是陪着我们学习如何放图的最佳伙伴,如今他要功成身退罗。这个
例子是右边留 12 公分,右边留 5 公分放图。下面的那条长条可以让我们检验有
没有放过头。目前预留的高度是 3 公分。
}\begin{tabular}{c}\multirow{2}{12cm}{\parbox[t][3cm]{5cm}
{\includegraphics[scale=0.6]{test.eps}}}\end{tabular} \\
\rule{18cm}{2ex} \\[2cm]
\parbox[t][1cm]{6cm}{
很明显的 1 公分的高度是绝对不够的,不过这次左边的宽度我只留 6 公分。这
种状况下,你就会发现长条是会盖到图和文字部份,换句话说,如果没有长条,
那就表示下一题就会和这一条叠在一起,那麻烦就大了。
}\begin{tabular}{c}\multirow{2}{6cm}{\parbox[t][1cm]{5cm}
{\includegraphics[scale=0.6]{test.eps}}}\end{tabular} \\
\rule{18cm}{2ex} \\[2cm]
\noindent 而利用 enumerate 的话,可以像下面的用法
\begin{enumerate}[1.]
\item \parbox[t][2.5cm]{10cm}{
已知文字留 10 公分的宽度,图留 5 公分的宽度,那高度呢? \\
(A) 1.5 公分 \qquad (B) 2.5 公分 \qquad (C) 3.5 公分 \qquad (D) 4.5 公分
}\begin{tabular}{c}\multirow{2}{10cm}{\parbox[t][2.5cm]{5cm}
{\includegraphics[scale=0.6]{test.eps}}}\end{tabular} \\
\rule{18cm}{2ex}
\item \parbox[t][3cm]{10cm}{
已知文字留 10 公分的宽度,图留 5 公分的宽度,那高度呢?
\begin{enumerate}[(A)]
\item 1 公分
\item 3 公分
\item 5 公分
\item 7 公分
\end{enumerate}
}\begin{tabular}{c}\multirow{2}{10cm}{\parbox[t][3cm]{5cm}
{\includegraphics[scale=0.6]{test.eps}}}\end{tabular} \\
\rule{18cm}{2ex}
\end{enumerate}
\end{CJK}
\end{document}
--
家教经验谈
http://irenepcc.dyndns.org/~mt/archives/dunst/07_tutor/index.php
要转录文章的人请注意三件事
1. 请注明出处, 2. 请保留签名档, 3. 请发个 mail 让我知道
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.81.21