VieTeX

Chương trình soạn thảo TeX

multind.sty làm nhiều tệp chỉ số

Posted by nhdien on 31/07/2011

I. Gói lệnh gói lệnh
Gói lệnh làm nhiều tệp chỉ số hơi cũ, nhưng vẫn làm việc tốt
http://www.ctan.org/tex-archive/macros/latex209/contrib/misc/
Gói lệnh multind của F.W. Long định nghia lại lệnh \makeindex, \index và
\printindex cho phép làm được nhiều bảng danh mục. Những lệnh trên có
thêm đối số
\makeindex{<tên tệp>} % <tên tệp> chứa một bảng danh mục
\index{<tên tệp>}{<từ khóa>} %<từ khóa> tên từ khóa cho vào danh mục
\printindex{<tên tệp>}{<đầu đề danh mục>} %<đầu đề > mỗi bảng.
II. Ví dụ sử dụng
1. Ta lấy ví dụ tệp viemultind.tex có nội dung áp dụng gói lệnh này.
\documentclass[12pt]{article}
\usepackage[utf8]{vietnam}
\usepackage{multind}
\makeindex{A}
\makeindex{B}
\begin{document}
\section{Tạo ra nhiều bảng danh mục}
\begin{enumerate}
\item Khoa học mà không có lương tâm chỉ
là sự bại hoại tâm hồn.
(RABELAIS) \index{A}{RABELAIS}
\item Bất cứ sự hiểu biết gì cung đều do quan sát
và kinh nghiệm mà biết.
(SAINT BEUVE)\index{A}{SAINT BEUVE}
\item Thì giờ người ta đã dùng để bàn chuyện phiếm,
đủ để đọc được một tác phẩm mỗi ngày.
(FRAGNET)\index{B}{FRAGNET}
\end{enumerate}
\section{Định nghia lại lệnh làm chỉ số}
\begin{enumerate}
\item Nếu tôi có quyền thế, tôi sẽ đem sách
mà gieo rắc khắp mặt địa cầu
như người ta gieo lúa trong luống cày vậy.
(HOROCE MANN)\index{A}{HOROCE MANN}
\item Tiền vốn đặt vào công việc gì cũng không có lợi bằng
đặt vào việc mua sách hữu ích.
(H.N. CARSON)\index{B}{CARSON}
\item đọc sách là nói chuyện với những người thành thật nhất
của những thế kỷ đã qua.
(DESCARTES)\index{B}{DESCARTES}
\end{enumerate}
\printindex{A}{Bảng danh mục thứ nhất}
\printindex{B}{Một bảng danh mục khác}
\end{document}
2. Dịch trong cửa số dưới 2 lần latex.exe
%VieTeX: latex.exe –src-specials C:\vietex\sty\M\multind\viemultind.tex
This is pdfTeX, Version 3.1415926-1.40.10 (MiKTeX 2.8)
entering extended mode
(C:/vietex/sty/M/multind/viemultind.tex
LaTeX2e <2009/09/24>
Babel <v3.8l> and hyphenation patterns for english, dumylang,
nohyphenation, german, ngerman, german-x-2009-06-19,
ngerman-x-2009-06-19, french, loaded.
(C:\vntex\tex\latex\vnfonts\article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX
document class
(“C:\Program Files\MiKTeX 2.8\tex\latex\base\size12.clo”))
(C:\vntex\tex\latex\vietnam\vietnam.sty
(“C:\Program Files\MiKTeX 2.8\tex\latex\base\ifthen.sty”)
(“C:\Program Files\MiKTeX 2.8\tex\latex\base\fontenc.sty”
(C:\vntex\tex\latex\vietnam\t5enc.def)
(C:\vntex\tex\latex\vietnam\t5cmr.fd))
(“C:\Program Files\MiKTeX 2.8\tex\latex\base\inputenc.sty”
(C:\vntex\tex\latex\vietnam\utf8.def))
(C:\vntex\tex\latex\vietnam\ucs.sty
(C:\vntex\tex\latex\vietnam\uni-global.def))
(C:\vntex\tex\latex\vietnam\vncaps.tex))
(C:\vietex\sty\M\multind\multind.sty)
Writing index file A.idx
Writing index file B.idx
(C:\vietex\sty\M\multind\viemultind.aux)
(C:\vntex\tex\latex\vietnam\ucsencs.def)
(C:\vntex\tex\latex\vietnam\uni-0.def)
(C:\vntex\tex\latex\vietnam\uni-1.def)
(C:\vntex\tex\latex\vietnam\uni-30.def)
[1]
No file A.ind.
[2]
No file B.ind.
[3] (C:\vietex\sty\M\multind\viemultind.aux) )
Output written on viemultind.dvi (3 pages, 1960 bytes).
Transcript written on viemultind.log.
% Executed successfuly

III. Dùng makeindex.exe để chuyển sang tệp ind dạng được:
Ta chuyển 2 tệp chỉ số A.idx và B.idx sang A.ind và B.ind nên phải làm thủ công
trên dòng lệnh như
>makeindex -o A.ind A.idx và >makeindex -o B.ind B.idx
Nếu bạn có VieTeX 3.0 thì việc này quá dễ:
Menu: tools–>Wizard Makeindex (Hình 1)

Hình 1: Giao diện dùng makeindex

Ta có thể xem tệp kết quả hình 2.

Hình 2: Xem kết quả tệp A.ind
Tương tự ta làm với tệp B.idx.
3. Cuối cùng biên dịch bình thường và cho kết quả (Hình 3)

Hình 3: Có nhiều bảng

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: