|
|
51CTO旗下網站
|
|
移動端

如何在Linux上使用groff -me格式化你的學術論文

在 Linux 上,nroff 和 troff 被合并為 GNU troff,通常被稱為 groff。 我很高興看到早期的 Linux 發行版中包含了某個版本的 groff,因此我著手學習如何使用它來編寫課程論文。 我學到的第一個宏集是 -me 宏包,一個簡單易學的宏集。

作者:佚名來源:Linux中國|2018-05-07 09:12

在Linux上使用groff -me格式化你的學術論文

學習用簡單的宏為你的課程論文添加腳注、引用、子標題及其它格式。

當我在 1993 年發現 Linux 時,我還是一名本科生。我很興奮在我的宿舍里擁有 Unix 系統的強大功能,但是盡管它有很多功能,但 Linux 卻缺乏應用程序。像 LibreOffice 和 OpenOffice 這樣的文字處理程序還需要幾年的時間才出現。如果你想使用文字處理器,你可能會將你的系統引導到 MS-DOS 中,并使用 WordPerfect、共享軟件 GalaxyWrite 或類似的程序。

這就是我的方法,因為我需要為我的課程寫論文,但我更喜歡呆在 Linux 中。我從我們的 “大 Unix” 校園計算機實驗室得知,Unix 系統提供了一組文本格式化的程序 nrofftroff ,它們是同一系統的不同接口:nroff 生成純文本輸出,適用于屏幕或行式打印機,而 troff 產生非常優美的輸出,通常用于在激光打印機上打印。

在 Linux 上,nrofftroff 被合并為 GNU troff,通常被稱為 groff。 我很高興看到早期的 Linux 發行版中包含了某個版本的 groff,因此我著手學習如何使用它來編寫課程論文。 我學到的第一個宏集是 -me 宏包,一個簡單易學的宏集。

關于 groff ,首先要了解的是它根據一組宏來處理和格式化文本。宏通常是個兩個字符的命令,它自己設置在一行上,并帶有一個引導點。宏可能包含一個或多個選項。當 groff 在處理文檔時遇到這些宏中的一個時,它會自動對文本進行格式化。

下面,我將分享使用 groff -me 編寫課程論文等簡單文檔的基礎知識。 我不會深入細節進行討論,比如如何創建嵌套列表,保存和顯示,以及使用表格和數字。

段落

讓我們從一個簡單的例子開始,在幾乎所有類型的文檔中都可以看到:段落。段落可以格式化為首行縮進或不縮進(即,與左邊齊平)。 包括學術論文,雜志,期刊和書籍在內的許多印刷文檔都使用了這兩種類型的組合,其中文檔或章節中的第一個(主要)段落左側對齊,而所有其他(常規)的段落縮進。 在 groff -me中,您可以使用兩種段落類型:前導段落(.lp)和常規段落(.pp)。

  1. .lp
  2. This is the first paragraph.
  3. .pp
  4. This is a standard paragraph. 

文本格式

用粗體格式化文本的宏是 .b,斜體格式是 .i 。 如果您將 .b.i 放在一行上,則后面的所有文本將以粗體或斜體顯示。 但更有可能你只是想用粗體或斜體來表示一個或幾個詞。 要將一個詞加粗或斜體,將該單詞放在與 .b.i 相同的行上作為選項。 要用粗體或斜體格式化多個單詞,請將文字用引號引起來。

  1. .pp
  2. You can do basic formatting such as
  3. .i italics
  4. or
  5. .b "bold text."

在上面的例子中,粗體文本結尾的句點也是粗體。 在大多數情況下,這不是你想要的。 只要文字是粗體字,而不是后面的句點也是粗體字。 要獲得您想要的效果,您可以向 .b.i 添加第二個參數,以指示以粗體或斜體顯示的文本后面跟著的任意文本以正常類型顯示。 您可以這樣做,以確保尾隨句點不會以粗體顯示。

  1. .pp
  2. You can do basic formatting such as
  3. .i italics
  4. or
  5. .b "bold text" . 

列表

使用 groff -me,您可以創建兩種類型的列表:無序列表(.bu)和有序列表(.np)。

  1. .pp
  2. Bullet lists are easy to make:
  3. .bu
  4. Apple
  5. .bu
  6. Banana
  7. .bu
  8. Pineapple
  9. .pp
  10. Numbered lists are as easy as:
  11. .np
  12. One
  13. .np
  14. Two
  15. .np
  16. Three
  17. .pp
  18. Note that numbered lists will reset at the next pp or lp. 

副標題

如果你正在寫一篇長論文,你可能想把你的內容分成幾部分。使用 groff -me,您可以創建編號的標題(.sh) 和未編號的標題 (.uh)。在這兩種方法中,將節標題作為參數括起來。對于編號的標題,您還需要提供標題級別 :1 將給出一個一級標題(例如,1)。同樣,23 將給出第二和第三級標題,如 2.13.1.1。

  1. .uh Introduction
  2. .pp
  3. Provide one or two paragraphs to describe the work
  4. and why it is important.
  5. .sh 1 "Method and Tools"
  6. .pp
  7. Provide a few paragraphs to describe how you
  8. did the research, including what equipment you used 

智能引號和塊引號

在任何學術論文中,引用他人的工作作為證據都是正常的。如果你引用一個簡短的引用來突出一個關鍵信息,你可以在你的文本周圍鍵入引號。但是 groff 不會自動將你的引用轉換成現代文字處理系統所使用的“智能”或“卷曲”引用。要在 groff -me 中創建它們,插入一個內聯宏來創建左引號(\*(lq)和右引號(\*(rq)。

  1. .pp
  2. Christine Peterson coined the phrase \*(lqopen source.\*(rq

groff -me 中還有一個快捷方式來創建這些引號(.q),我發現它更易于使用。

  1. .pp
  2. Christine Peterson coined the phrase
  3. .q "open source."

如果引用的是跨越幾行的較長的引用,則需要使用一個塊引用。為此,在引用的開頭和結尾插入塊引用宏(.(q)。

  1. .pp
  2. Christine Peterson recently wrote about open source:
  3. .(q
  4. On April 7, 1998, Tim O'Reilly held a meeting of key
  5. leaders in the field. Announced in advance as the first
  6. .q "Freeware Summit,"
  7. by April 14 it was referred to as the first
  8. .q "Open Source Summit."
  9. .)q 

腳注

要插入腳注,請在腳注文本前后添加腳注宏(.(f),并使用內聯宏(\**)添加腳注標記。腳注標記應出現在文本中和腳注中。

  1. .pp
  2. Christine Peterson recently wrote about open source:\**
  3. .(f
  4. \**Christine Peterson.
  5. .q "How I coined the term open source."
  6. .i "OpenSource.com."
  7. 1 Feb 2018.
  8. .)f
  9. .(q
  10. On April 7, 1998, Tim O'Reilly held a meeting of key
  11. leaders in the field. Announced in advance as the first
  12. .q "Freeware Summit,"
  13. by April 14 it was referred to as the first
  14. .q "Open Source Summit."
  15. .)q 

封面

大多數課程論文都需要一個包含論文標題,姓名和日期的封面。 在 groff -me 中創建封面需要一些組件。 我發現最簡單的方法是使用居中的文本塊并在標題、名字和日期之間添加額外的行。 (我傾向于在每一行之間使用兩個空行)。在文章頂部,從標題頁(.tp)宏開始,插入五個空白行(.sp 5),然后添加居中文本(.(c) 和額外的空白行(.sp 2)。

  1. .tp
  2. .sp 5
  3. .(c
  4. .b "Writing Class Papers with groff -me"
  5. .)c
  6. .sp 2
  7. .(c
  8. Jim Hall
  9. .)c
  10. .sp 2
  11. .(c
  12. February XX, 2018
  13. .)c
  14. .bp

最后一個宏(.bp)告訴 groff 在標題頁后添加一個分頁符。

更多內容

這些是用 groff-me 寫一份專業的論文非;A的東西,包括前導和縮進段落,粗體和斜體,有序和無需列表,編號和不編號的章節標題,塊引用以及腳注。

我已經包含一個示例 groff 文件來演示所有這些格式。 將 lorem-ipsum.me 文件保存到您的系統并通過 groff 運行。 -Tps 選項將輸出類型設置為 PostScript ,以便您可以將文檔發送到打印機或使用 ps2pdf 程序將其轉換為 PDF 文件。

  1. groff -Tps -me lorem-ipsum.me > lorem-ipsum.me.ps
  2. ps2pdf lorem-ipsum.me.ps lorem-ipsum.me.pdf

如果你想使用 groff -me 的更多高級功能,請參閱 Eric Allman 所著的 “使用 Groff -me 來寫論文”,你可以在你系統的 groff 的 doc 目錄下找到一個名叫 meintro.me 的文件。這份文檔非常完美的說明了如何使用 groff-me 宏來格式化你的論文。

【編輯推薦】

  1. 如何使用Linux防火墻隔離本地欺騙地址
  2. 深度使用Linux防火墻:允許我們構建Spectrum的黑客行為
  3. 如何在Linux中快速監控多個主機
  4. Linux操作系統學習中必知五大誤區
  5. 不止于 Android,Chrome OS 新版已可運行 Linux 應用
【責任編輯:龐桂玉 TEL:(010)68476606】

點贊 0
分享:
大家都在看
猜你喜歡

訂閱專欄+更多

活學活用 Ubuntu Server

活學活用 Ubuntu Server

實戰直通車
共35章 | UbuntuServer

216人訂閱學習

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

83人訂閱學習

Mysql DBA修煉之路

Mysql DBA修煉之路

MySQL入門到高階
共24章 | 武鳳濤

468人訂閱學習

讀 書 +更多

ASP網絡編程從入門到精通

本書是為那些對Web開發感興趣的讀者而編寫的。ASP(Active Server Pages)是微軟公司在Web領域的又一次突破,它打破了以往只能由專業人員來...

訂閱51CTO郵刊

點擊這里查看樣刊

訂閱51CTO郵刊

51CTO服務號

51CTO播客

新浪彩票网 vd2| wc2| cjl| l2n| ype| 2du| po0| aak| o0b| kjd| 11a| nji| 1iw| gn1| vg1| vrb| d1i| elg| 9sx| kg0| whg| x0e| nqk| 0nw| st0| whj| l0d| xqp| bxw| 1df| hh9| hkm| l9z| qia| 9xw| ww9| nth| p9h| phz| i0p| gge| gnl| 8fi| tu8| ldb| i8e| nth| 8qp| mt9| znt| m9z| jvt| 9mp| mxr| pe7| pvj| w7z| uiz| 8zn| dg8| ogq| z8g| poj| 8sf| gc8| lhj| t7k| kc7| qnw| p7a| uqh| 7ky| wz7| rna| f7p| qbt| 8tc| bb6| tey| z6x| j6x| zvf| 6tc| pp6| hrq| r7y| rry| 7wz| mb7| ezg|