跳轉到內容

ETD 指南/學生/從 LaTeX

來自華夏公益教科書,開放的書籍,為開放的世界

一般來說,從 LaTeX 文件生成 PDF 文件有幾種可能性。

使用 Postscript 和可伸縮字型生成 PDF

[編輯 | 編輯原始碼]

"Postscript 和 PDF 中最令人困惑的問題之一是處理不同型別的字型。生成 PDF 的應用程式可以透過三種方式處理字型:首先它可以獲取整個字型並將其嵌入到檔案中;其次它可以製作一個子集;第三,它可以簡單地嵌入一些關於字型的摘要資訊(例如其名稱、度量、編碼、型別 - 無襯線、符號等 - 以及關於其設計的線索),並依靠顯示應用程式來顯示一些合理的東西。對於要在網上釋出的文件,最後一種策略是首選,因為它會建立最小的檔案。顯示應用程式可以透過多種方式再次工作。它可以嘗試在本地系統上查詢命名的字型;它可以簡單地儘可能智慧地替換字型;或者它可以使用 Multiple Master 字型來模仿原始字型的外觀。"(來自 Goosens;Rahtz:LaTeX 網頁伴侶,第 29 頁)

dvips 的預設安裝使用編碼為 300dpi(每英寸點數)點陣圖的固定解析度字型(.pk 字型)。對於列印來說,這是不明顯的;但是,生成的 PDF 檔案在縮放到當今的螢幕解析度(通常為 72dpi)時幾乎不可讀。這些字型作為 Type 3 字型嵌入到 Postscript 輸出中。Acrobat Distiller 無法處理這些字型,因為沒有可用的字型描述符。它將它們嵌入到 PDF 檔案中並以非常糟糕的方式渲染它們,儘管列印這些文件不會有太大的區別,如果原始解析度足夠高。

因此,有必要為 dvips 程式安裝 Postscript Type 1 字型(True Type)。許多常用的字型已轉換為 Type 1 字型,例如:所有 Computer Modern 系列字型,所有來自美國數學學會的字型,St. Mary's Road 符號字型,RSFS 指令碼字型,TIPA 音標字型和 XY-pic 字型。

Type 1 Computer Modern 字型由弗吉尼亞理工大學提供,並且是本指南的一部分(cmps.tgz / cmps.tar.gz)。這些檔案大約 5 MB。要安裝這些字型,您必須……

在標準 LINUX 系統上,它們已經安裝

1. 將 gz 存檔下的所有檔案複製到 pfb 目錄中,dvips 在其中查詢字型,例如 /usr/local/teTex/texmf/fonts。

2. 在目錄中,例如 /usr/local/teTex/texmf/dvips/misc 中有一個檔案 psfonts.map。請將 cmfonts.map、cyrfonts.map、eufonts.map 和 lafonts.map 檔案的內容新增到該檔案中。它們與 cmps.tgz 存檔一起提供。

3. config.ps 檔案通常用於定義解析度。這無關緊要,因為 dvips 現在使用可伸縮字型而不是點陣圖 pk 字型。

4. 存檔中的 afm 和 pfm 目錄不被 dvips 使用。

要獲得使用 Postscript 字型並且可以轉換為 PDF 的 ps 檔案,您必須執行以下命令序列

1. latex mydissertation.tex。

2. 如果使用 bibtex,則 bibtex mydissertation.aux。

3. latex mydissertation.tex。

4. dvips -P cmz mydissertation.dvi:這會生成一個可以在印表機上列印或轉換為 PDF 的檔案 dissertation.ps。

5. 如果系統上安裝了 Acrobat Distiller,則“distill mydissertation.ps”會生成一個 PDF 檔案:mydissertation.pdf。

生成富文字 PDF

[編輯 | 編輯原始碼]

生成一個可讀的 WWW-readable PDF 只是 PDF 生產的第一部分。生成利用 PDF 的超文字功能並將連結和交叉引用新增到 PDF 檔案的 PDF 檔案更為複雜。

您可以使用 Windows/Macintosh 下的 Adobe Exchange 軟體將連結等新增到已生成的 PDF 檔案中,或者您可以使用 Hyperref 包直接從 LaTeX 中生成這些功能。該包由 Sebastian Rahtz 開發,並使用了 Hypertex 專案的結果。

該包擴充套件了 LaTeX 交叉引用命令(TOC、參考文獻等)的功能,以生成驅動程式可以將其轉換為超文字連結的 \special 命令。它還為 LaTeX 定義了新命令。

為了使用 hyperref,可以在 LaTeX 檔案中使用全域性選項

\documentclass[dvips]{article}

\usepackage{hyperref}

為了生成 PDF 資訊,可以插入標題和作者資訊,這些資訊隨後在 PDF 檔案中顯示如下

在 LaTeX 中

\documentclass[dvips]{article}

\usepackage[

pdfauthor={Susanne Dobratz},

pdftitle={ Test of the pdftex Package },

pdfcreator={pdftex},

pdfsubject={electronic publishing in LaTeX},

pdfkeywords={keyword1,keyword2}

]{hyperref}

這在 PDF 中看起來像這樣

%PDF-1.2

%âãÏÓ

1 0 obj

<<

/CreationDate (D:191010522170228)

/Keywords (keyword1,keyword2)

/Creator (pdftex)

/Title (Test of the pdftex Package)

/Producer (dvips + Distiller)

/Author (Susanne Dobratz)

/Subject (electronic publishing in LaTeX)

>>

通常的 \label 和 \autoref 命令用於生成超連結。因此,\autoref 命令在 LaTeX 中替換了通常的 \ref 命令。因此,如果應用了 \label,則以下文件結構會自動引用。如果使用了 LaTeX 命令 \tableofcontents,這也將自動生成 Adobe-PDF 書籤和指向章節、部分等的超連結。

在 LaTeX 檔案中,有一些額外的使用者宏可用於生成超連結

\href{url}{text} 文字用作指向 url 的超連結。此 URL 必須是完整的 URL(例如 http://www.cybertheses.org)
\hyperbaseurl{url} 建立一個基本 URL,將其附加到其他指定的 URL,以便更容易地編寫 PDF 文件。
\hyperimage{image url} 插入由 image url 引用的影像。
\hyperdef{category}

{name}{text}

標記文件的目標區域(文字)並賦予其名稱 category.name
\hyperref{url}{category}

{name}{text}

文字被製成指向 url#category.name 的連結
\hyperref[label]{text} 文字成為指向使用 \label 命令建立的點的連結點(使用符號名稱 label)。

甚至可以使用 Acrobat 特定的命令,例如選單選項進行導航等,例如 Sebastian Rahtz 的示例

\usepackage{fancyhdr}

\pagestyle{fancy}

\cfoot{\NavigationBar}

\newcommand{\Navigationbar}{%

\Acrobatmenu{PrevPage}{previous}~

\Acrobatmenu{NextPage}{next}~

\Acrobatmenu{FirstPage}{first}~

\Acrobatmenu{LastPage}{last}~

\Acrobatmenu{GoBack}{back}~

\Acrobatmenu{Quit}{quit}%}

有關更多資訊和幫助,我們推薦 Goosens/Rahtz 的著作:LaTeX 網頁伴侶。

使用 LaTeX 宏新增的 \special 命令必須由 DVI 驅動程式或檢視器解釋才能生成 PDF 連結。

以下 DVI 驅動程式受 hyperref 包支援

  • hypertex
  • dvips - 將 \special 命令寫入適合 dvips 的 Postscript
  • dvipsone - 將 \special 命令寫入適合 dvipsone 的 Postscript
  • pdftex - 為 pdftex 編寫命令,並直接生成 PDF
  • dvipdfm - 將 \special 命令寫入用於 Mark Wicks 的 DVI 到 PDF 驅動程式 dvipdfm
  • dviwindo - 將 \special 命令寫入用於 Y&Y 的 Windows 預覽器。它將它們解釋為預覽器內的跳轉
  • vtex - 編寫 \special 命令,這些命令被解釋為 MicroPress 的 HTML 和 PDF 生成 TeX 變體的超文字跳轉

使用 PDFTeX

[編輯 | 編輯原始碼]

PDFTex 是 Tex 的一個變體,它直接生成 PDF 輸出。通常,Latex 或 Tex 系統會生成 DVI 輸出。PDFTex 也可以生成 DVI 輸出。

您可以使用 pdfTex 而不是 LaTex,使用宏包(如 context 或 hyperref 或其他)來編寫實際文件。

"當生成 DVI 輸出(也可以使用 pdfTex 以及任何其他 Tex 生成)時,部分工作會委託給 DVI 後處理器,要麼透過直接向該程式提供命令,要麼透過 \specials。由於 pdfTex 直接生成最終格式,因此它必須自己完成所有事情,從處理顏色、圖形、超連結支援、字型包含,到頁面排版和頁面操作。直接的結果是,當使用高階宏包時,用於處理這些功能的宏必須正確設定。

目前所有主流宏包都以某種方式提供 pdfTex 支援。當使用這樣的包時,以適當的方式開啟此支援是有意義的,否則不能確定是否設定正確。"(來自 pdfTex 使用者手冊 http://www.tug.org/applications/pdftex/pdftexman.pdf)。

以下主要宏包支援 pdfTex:對於 LaTeX 使用者,Sebastian Rahtz 的 hyperref 包標準 LaTeX 圖形和顏色包具有 pdfTex 選項Hans Hagen 的 ConTeXt 宏包對 pdfTex 提供了擴充套件支援

文獻和來源:http://www.tug.org/applications/pdftex/ Michael Goosens; Sebastian Rahtz:LaTeX 網頁伴侶,Addison-Wesley,1999:ISBN 0-201- 43311-7


下一節:準備轉換為 SGML/XML

華夏公益教科書