LaTeX/長度
在 TeX 中,長度是
- 一個浮點數,後面跟著一個單位,可選地跟著一個伸縮值;
3.5pt plus 1pt minus 2pt
|
- 一個浮點因子,後面跟著一個宏,它擴充套件到一個長度。
1.7\textwidth
|
首先,我們介紹 LaTeX 測量單位。所有 LaTeX 單位都是兩位字母縮寫。您可以從各種單位中進行選擇。以下是最常見的單位。[1]
| 縮寫 | 定義 | 點 (pt) 值 | 微米 (µm) 值 |
|---|---|---|---|
| pt | 一個點是 1/72.27 英寸,這意味著大約 0.0138 英寸。 | 1 | 351.46 |
| mm | 一毫米 | 2.84 = 7227/2540 | 1000 |
| cm | 一釐米 | 28.4 = 7227/254 | 10000 |
| in | 英寸 | 72.27 | 25400 |
| ex | 大約是 'x' 的高度,在當前字型中 | 未定義,取決於使用的字型 | |
| em | 大約是 'M'(大寫)的寬度,在當前字型中 | 未定義,取決於使用的字型 | |
點是預設單位,1pt 是預設長度。所有其他單位都透過固定比率轉換為點。
以下是一些不太常見的單位。[2]
| 縮寫 | 定義 | 點 (pt) 值 | 微米 (µm) 值 |
|---|---|---|---|
| bp | 一個大點是 1/72 英寸,這意味著大約 0.0139 英寸。 | 1.00375 = 803/800 | 352 7/9 |
| pc | 排 | 12 | 4218 |
| dd | 迪多 | 1.070 = 1238/1157 | 376 |
| cc | 西塞羅 (12 迪多) | 12.84 = 14856/1157 | 4512 |
| nd | 新迪多 | 1.067 = 685/642 | 375 |
| nc | 新西塞羅 (12 新迪多) | 12.80 = 1370/107 | 4500 |
| sp | 縮放點 | 0.000015 = 1/65536 | 0.00536 |
TeX 中的框體由三個長度表徵
- 深度
- 高度
- 寬度
參見 框體.
您可以使用兩個命令更改定義頁面佈局的變數的值。使用此命令,您可以為現有長度變數設定新值
\setlength{\mylength}{length}
|
使用另一個命令,您可以向現有值新增一個值
\addtolength{\mylength}{length}
|
您可以使用命令建立自己的長度,並且必須在嘗試設定長度之前建立新的長度
\newlength{\mylength}
|
您還可以使用以下命令之一從文字大小設定長度
\settowidth{\mylength}{some text}
\settoheight{\mylength}{some text}
\settodepth{\mylength}{some text}
|
該calc包還提供了函式 \settototalheight{\mylength}{some text}
使用這些命令時,如果您打算也顯示參考文字,您可以複製要用作參考的文字。但是 LaTeX 還提供 \savebox 來避免此重複。您可能想看看下面的示例,瞭解如何使用它們。有關更多詳細資訊,請參閱 框體。
您還可以定義拉伸值。拉伸值是在前面加了 plus 或 minus 的長度,用於指定tex被授權更改長度。例如
\setlength{\parskip}{10pt plus 5pt minus 3pt}
|
這意味著tex將嘗試使用 10pt 的長度;如果不足,它會將長度增加到最大 15pt;如果超載,它會將長度降低到最小 7pt。
請注意,指定 plus 和 minus 值不是強制性的,但如果您要指定,則 plus 必須放在 minus 之前。
要列印長度,您可以使用 \the 命令
\the\textwidth
|
要建立新長度
\newdimen\mylength
|
要設定長度
\mylength=1.5in
|
要檢視,與 LaTeX 相同,使用命令 \the。
常見的長度宏是
- \baselineskip
- 段落中行之間的正常垂直距離。
- \baselinestretch
- 一個乘以 \baselineskip 的因子。必須使用
\renewcommand{\baselinestretch}{factor}設定 - \columnsep
- 列之間的距離。
- \columnwidth
- 列的寬度。
- \evensidemargin
- “偶數”頁的頁邊距(想想一本印刷的小冊子)。
- \linewidth
- 區域性環境中行的寬度。
- \oddsidemargin
- “奇數”頁的頁邊距(想想一本印刷的小冊子)。
- \paperwidth
- 頁面的寬度。
- \paperheight
- 頁面的高度。
- \parindent
- 正常的段落縮排。
- \parskip
- 段落之間的額外垂直空間。
- \tabcolsep
- 表格環境中列之間的預設間距。
- \textheight
- 頁面上文字的高度。
- \textwidth
- 頁面上文字的寬度。
- \topmargin
- 頂部頁邊距的大小。
- \unitlength
- picture 環境中的長度單位。
要插入固定長度空格,請使用
\hspace{length}
\vspace{length}
|
\hspace 代表水平空格,\vspace 代表垂直空格。
如果這樣的空格即使落在行尾或行首也要保留,請使用 \hspace* 代替。
如果空格應該在頁面頂部或底部保留,請使用命令的星號版本,\vspace*,而不是 \vspace。如果您想在文件開頭新增空格,在其他內容之前沒有任何內容,那麼您可以使用
{ \vspace*{length} }
|
使用 \vspace* 命令代替 \vspace 命令很重要,否則 LaTeX 可能會靜默忽略額外的空格。
TeX 提供了一些用於固定長度間距的宏。
\smallskip- 在垂直模式下插入一個小空格(兩個段落之間)。
\medskip- 在垂直模式下插入一箇中等空格(兩個段落之間)。
\bigskip- 在垂直模式下插入一個大空格(兩個段落之間)。
垂直模式是在垂直組裝盒子(例如,將段落組裝成頁面)的過程中進行的。水平模式是在水平組裝盒子(例如,將字母組裝成單詞,將單片語裝成段落)的過程中進行的。
它們是垂直模式命令的事實意味著它們將在水平模式下被忽略(或失敗),例如在一個段落的中間。如果第一個與雙行分隔符相鄰的標記沒有擴充套件到字元,則它仍然處於垂直模式。
% WRONG!
Some words.
\bigskip
Let's continue.
%% CORRECT!
Some words.
\bigskip
Let's continue.
|
橡膠/拉伸長度
[edit | edit source]命令
\stretch{factor}
|
生成一個特殊的橡膠空間,其中 factor 是一個數字,可能是浮點數。它會一直拉伸,直到填滿一行中剩餘的所有空間。如果在同一行上發出兩個 \hspace{\stretch{factor}} 命令,它們將根據拉伸因子增長。
x \hspace{ \stretch{1} } x \hspace{ \stretch{3} } x
|
x x x |
同樣的方式,你可以垂直拉伸
\maketitle
\vspace{ \stretch{1} }
Some comments.
\vspace{ \stretch{1} }
\tableofcontents
|
你也可以使用 \fill 代替 \stretch{1}。
\stretch 命令與 \pagebreak 命令結合使用,可以用於將文字排版在頁面的最後一行,或將文字垂直居中在頁面上。
對於因子為 1(即使用 \stretch{1} 或 \fill)的拉伸,有“快捷命令”:\hfill 和 \vfill。
示例
\maketitle
\vfill
Some comments.
\vfill
\tableofcontents
|
填滿剩餘的行
[edit | edit source]幾個宏允許以不同的方式填滿剩餘的行(或拉伸行的一部分)。
\hfill將產生空白。\dotfill將產生點。\hrulefill將產生一條規則。
示例
[edit | edit source]將影像大小調整為文字寬度的一半
\includegraphics[width=0.5\textwidth]{mygraphic}
|
使專案之間的距離更大(在一個 itemize 環境中)
\addtolength{\itemsep}{0.5\baselineskip}
|
使用 \savebox 將影像大小調整為文字高度
% Create the holders we will need for our work
\newlength{\mytitleheight}
\newsavebox{\mytitletext}
% Create the reference text for measures
\savebox{\mytitletext}{%
\Large\bfseries This is our title%
}
\settoheight{\mytitleheight}{ \usebox{\mytitletext} }
% Now creates the actual object in our document
\framebox[\textwidth][l]{%
\includegraphics[height=\mytitleheight]{my_image}%
\hspace{2mm}%
\usebox{\mytitletext}%
}
|
參考文獻
[edit | edit source]- ↑ http://www.giss.nasa.gov/tools/latex/ltx-86.html
- ↑ http://anonscm.debian.org/cgit/debian-tex/texlive-bin.git/tree/texk/web2c/pdftexdir/pdftex.web?h=debian/2015.20150524.37493-5#n10460
另見
[edit | edit source]
