作者 | Jim Hall
譯者 | amwps290 ? ? 共計翻譯:10 篇 貢獻時間:51 天
學習用簡單的宏為你的課程論文新增腳註、取用、子標題及其它格式。
當我在 1993 年發現 Linux 時,我還是一名本科生。我很興奮在我的宿舍裡擁有 Unix 系統的強大功能,但是儘管它有很多功能,但 Linux 卻缺乏應用程式。像 LibreOffice 和 OpenOffice 這樣的文書處理程式還需要幾年的時間才出現。如果你想使用文書處理器,你可能會將你的系統引導到 MS-DOS 中,並使用 WordPerfect、共享軟體 GalaxyWrite 或類似的程式。
這就是我的方法,因為我需要為我的課程寫論文,但我更喜歡獃在 Linux 中。我從我們的 “大 Unix” 校園計算機實驗室得知,Unix 系統提供了一組文字格式化的程式 nroff
和 troff
,它們是同一系統的不同介面:nroff
生成純文字輸出,適用於螢幕或行式印表機,而 troff
產生非常優美的輸出,通常用於在鐳射印表機上列印。
在 Linux 上,nroff
和 troff
被合併為 GNU troff,通常被稱為 groff[1]。 我很高興看到早期的 Linux 發行版中包含了某個版本的 groff,因此我著手學習如何使用它來編寫課程論文。 我學到的第一個宏集是 -me
宏包,一個簡單易學的宏集。
關於 groff
,首先要瞭解的是它根據一組宏來處理和格式化文字。宏通常是個兩個字元的命令,它自己設定在一行上,並帶有一個引導點。宏可能包含一個或多個選項。當 groff
在處理檔案時遇到這些宏中的一個時,它會自動對文字進行格式化。
下麵,我將分享使用 groff -me
編寫課程論文等簡單檔案的基礎知識。 我不會深入細節進行討論,比如如何建立巢狀串列,儲存和顯示,以及使用表格和數字。
段落
讓我們從一個簡單的例子開始,在幾乎所有型別的檔案中都可以看到:段落。段落可以格式化為首行縮排或不縮排(即,與左邊齊平)。 包括學術論文,雜誌,期刊和書籍在內的許多印刷檔案都使用了這兩種型別的組合,其中檔案或章節中的第一個(主要)段落左側對齊,而所有其他(常規)的段落縮排。 在 groff -me
中,您可以使用兩種段落型別:前導段落(.lp
)和常規段落(.pp
)。
.lp
This is the first paragraph.
.pp
This is a standard paragraph.
文字格式
用粗體格式化文字的宏是 .b
,斜體格式是 .i
。 如果您將 .b
或 .i
放在一行上,則後面的所有文字將以粗體或斜體顯示。 但更有可能你只是想用粗體或斜體來表示一個或幾個詞。 要將一個詞加粗或斜體,將該單詞放在與 .b
或 .i
相同的行上作為選項。 要用粗體或斜體格式化多個單詞,請將文字用引號引起來。
.pp
You can do basic formatting such as
.i italics
or
.b "bold text."
在上面的例子中,粗體文字結尾的句點也是粗體。 在大多數情況下,這不是你想要的。 只要文字是粗體字,而不是後面的句點也是粗體字。 要獲得您想要的效果,您可以向 .b
或 .i
新增第二個引數,以指示以粗體或斜體顯示的文字後面跟著的任意文字以正常型別顯示。 您可以這樣做,以確保尾隨句點不會以粗體顯示。
.pp
You can do basic formatting such as
.i italics
or
.b "bold text" .
串列
使用 groff -me
,您可以建立兩種型別的串列:無序串列(.bu
)和有序串列(.np
)。
.pp
Bullet lists are easy to make:
.bu
Apple
.bu
Banana
.bu
Pineapple
.pp
Numbered lists are as easy as:
.np
One
.np
Two
.np
Three
.pp
Note that numbered lists will reset at the next pp or lp.
副標題
如果你正在寫一篇長論文,你可能想把你的內容分成幾部分。使用 groff -me
,您可以建立編號的標題(.sh
) 和未編號的標題 (.uh
)。在這兩種方法中,將節標題作為引數括起來。對於編號的標題,您還需要提供標題級別 :1
將給出一個一級標題(例如,1
)。同樣,2
和 3
將給出第二和第三級標題,如 2.1
或 3.1.1
。
.uh Introduction
.pp
Provide one or two paragraphs to describe the work
and why it is important.
.sh 1 "Method and Tools"
.pp
Provide a few paragraphs to describe how you
did the research, including what equipment you used
智慧引號和塊引號
在任何學術論文中,取用他人的工作作為證據都是正常的。如果你取用一個簡短的取用來突出一個關鍵資訊,你可以在你的文本週圍鍵入引號。但是 groff 不會自動將你的取用轉換成現代文書處理系統所使用的“智慧”或“捲曲”取用。要在 groff -me
中建立它們,插入一個行內宏來建立左引號(\*(lq
)和右引號(\*(rq
)。
.pp
Christine Peterson coined the phrase \*(lqopen source.\*(rq
groff -me
中還有一個快捷方式來建立這些引號(.q
),我發現它更易於使用。
.pp
Christine Peterson coined the phrase
.q "open source."
如果取用的是跨越幾行的較長的取用,則需要使用一個塊取用。為此,在取用的開頭和結尾插入塊取用宏(.(q
)。
.pp
Christine Peterson recently wrote about open source:
.(q
On April 7, 1998, Tim O'Reilly held a meeting of key
leaders in the field. Announced in advance as the first
.q "Freeware Summit,"
by April 14 it was referred to as the first
.q "Open Source Summit."
.)q
腳註
要插入腳註,請在腳註文字前後新增腳註宏(.(f
),並使用行內宏(\**
)新增腳註標記。腳註標記應出現在文字中和腳註中。
.pp
Christine Peterson recently wrote about open source:\**
.(f
\**Christine Peterson.
.q "How I coined the term open source."
.i "OpenSource.com."
1 Feb 2018.
.)f
.(q
On April 7, 1998, Tim O'Reilly held a meeting of key
leaders in the field. Announced in advance as the first
.q "Freeware Summit,"
by April 14 it was referred to as the first
.q "Open Source Summit."
.)q
封面
大多數課程論文都需要一個包含論文標題,姓名和日期的封面。 在 groff -me
中建立封面需要一些元件。 我發現最簡單的方法是使用居中的文字塊併在標題、名字和日期之間新增額外的行。 (我傾向於在每一行之間使用兩個空行)。在文章頂部,從標題頁(.tp
)宏開始,插入五個空白行(.sp 5
),然後新增居中文字(.(c
) 和額外的空白行(.sp 2
)。
.tp
.sp 5
.(c
.b "Writing Class Papers with groff -me"
.)c
.sp 2
.(c
Jim Hall
.)c
.sp 2
.(c
February XX, 2018
.)c
.bp
最後一個宏(.bp
)告訴 groff 在標題頁後新增一個分頁符。
更多內容
這些是用 groff-me
寫一份專業的論文非常基礎的東西,包括前導和縮排段落,粗體和斜體,有序和無需串列,編號和不編號的章節標題,塊取用以及腳註。
我已經包含一個示例 groff 檔案[2]來演示所有這些格式。 將 lorem-ipsum.me
檔案儲存到您的系統並透過 groff 執行。 -Tps
選項將輸出型別設定為 PostScript
,以便您可以將檔案傳送到印表機或使用 ps2pdf
程式將其轉換為 PDF 檔案[3]。
groff -Tps -me lorem-ipsum.me > lorem-ipsum.me.ps
ps2pdf lorem-ipsum.me.ps lorem-ipsum.me.pdf
如果你想使用 groff -me
的更多高階功能,請參閱 Eric Allman 所著的 “使用 Groff -me 來寫論文”,你可以在你係統的 groff 的 doc
目錄下找到一個名叫 meintro.me
的檔案。這份檔案非常完美的說明瞭如何使用 groff-me
宏來格式化你的論文。
via: https://opensource.com/article/18/2/how-format-academic-papers-linux-groff-me
作者:Jim Hall[5] 譯者:amwps290 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出