1. 程式人生 > 其它 >latex 特殊符號_latex學習筆記2

latex 特殊符號_latex學習筆記2

技術標籤:latex 特殊符號latex 空行latex特殊符號latex空行

昨天學習有限元的一維線性元去了,今天繼續學習latex排版,但一看學習內容感覺蠻枯燥且混亂的。現在就要看自己的語言和結構組織能力了~

本來第一個學習內容是特殊字元的,但是我想了想覺得應該用的少甚至用不上?所以打算從第二個學習內容開始。

標點符號學習目錄

  • 單雙引號
  • 連字元、破折號等
  • 省略號
  • 鍵盤無法直接輸入編譯得到的特殊符號
  • 空格和換行
  • 保持正確間距和換行的方式

無特別說明都是英文狀態下的標點符號!

1.引號-----單引號和雙引號

  • 單引號:使用一次單引號 ' ;
  • 雙引號:使用兩次單引號 ' 或者shift+鍵盤上有單雙引號的按鈕;
  • 同時使用單引號和雙引號:用 , 隔開(編譯之後雙引號和單引號之間會有一個小空格);

程式碼:【以後的程式碼就只放核心了,開頭和結束的文件說明就不加了】

documentclass{article}
begin{document}
teshuteshu,teshu,teshu, teshu, teshu. ``,`A' or `B?','' he asked.

 ``It's Knuth's book.''
 
``It's Knuth's book.''
end{document}

067cb382da39f2b7b05b0f32d3e3310d.png
圖1 引號效果圖

比較一下中文狀態和英文狀態下的引號的區別:先把文件型別換成可輸入中文的狀態【把article換稱ctexart】,再測試;

程式碼:

teshuteshu,teshu,teshu, teshu, teshu. ``,`A' or `B?','' he asked.

 ``It's Knuth's book.''(1)
 
``It's Knuth's book.''(2)

``這是Knuth's的書。''(3)

“這是Knuth's的書。”(4)

“這是knuth’s的書。”(5)

teshuteshu,teshu,teshu, teshu, teshu. “,‘A’ or ‘B?’” he asked.(6)

09903ac85923e3423a67cd8f0f12ae99.png
圖2 效果對比圖

(1)-英文雙引號+英文單引號;(2)-英文兩次單引號得到雙引號+英文狀態單引號;(3)-英文雙引號,即shift+單雙引號鍵+英單引號;(4)-英雙引號前半部分+中文雙引號後半部分+英文單引號;(5)-中文雙引號+英文單引號;(6)-中文雙引號+中文單引號;(7)-中文狀態雙引號+單引號;

結論:

英文狀態下兩次單引號和一次雙引號效果一致;中文狀態引號比英文狀態引號間隔稍大一丟丟;

所以採用如下方式:寫中文文件時,編寫TEX文件用中文狀態下的引號;寫英文文件時,編寫TEX文件用英文狀態下的引號。

2.破折號/減號?

  • 連字元:-
  • 範圍:方式1:--;方式2:$sim$(數學模式);
  • 破折號:---

程式碼:

An inter-word dash or, hyphen, as in X-ray.(1)

A medium dash for number ranges, like 1--2.(2)

A medium dash for number ranges, like 1$sim$2.(3)

A punctuation dash---like this.(4)

0d643853edcbdcc1ef5c9b37a0a1ed8b.png
圖3 減號用法比較圖

3.省略號

用法:ldots和dots效果一致。

程式碼:

Good: One, two, threeldots(1)

Good: One, two, three ldots(2)

Good: One, two, three...(3)

Good: One, two, three。。。(4)

She $ldots$ she got it.(5)

在句中一般都要在ldots或dots的前後加上空格,如果在句末使用省略號,則會有4個點。

3d88eaf56eb6efcb17dec18175f1a043.png
圖4 省略號效果對比圖

4.部分鍵盤上無法直接得到的符號

這些都是直接在符號前面加可編譯得到結果;另外quad表示空格。

# quad $ quad % quad & quad { quad } quad _ quad textbackslash

b96fe1b91b149388eb53e5b54ee64227.png
圖5

5.空格和換行

  • 空格編譯之後是一個空格;
  • 多個空格編譯之後仍舊是一個空格;
  • 換行編譯之後也是一個空格的效果;
  • 字母命名的巨集後面的空格會被忽略,如果需要空格,採用以下方式:

方式一:在後面加上空格;

方式二:在後面加上{}空格;

方式三:直接用{字母命名的巨集}空格可以與後面單詞分隔開;

6.保持正確間距和換行的方式

  • 空格:一般在標點符號的後面都要加個空格再開始下一句話(這樣是為了方便換行)。

latex會預設把大寫字母后面的點看作是縮寫標記,把小寫字母后面的點看作是句子結束,因而會使用不同間距。

特殊情況:如果出現大寫字母.表示結束的句子或者是小寫字母.表示縮寫,則需要用命令修改預設形式:空格(表明是普通間的空格) 或者 @.(表明是大寫字母后的句末)。

至於具體區別就不解釋了,自己看程式碼和效果就能意會到了。

A sentence. And another.

U. S. A. means United States Army?

Tinker et al.  made the double play.

Tinker et al. made the double play.

Roman number XII @. Yes.

Roman number XII. Yes.

616ca89eb96bcb474fc32fb0b4f7c809.png
圖6 效果圖
  • 中文的空格會被自動忽略掉。

但是如果採用XeLaTeX編譯,則中文和英文之間會自動加上空格。

程式碼:

中文和English的混排效果並不依賴於 space 的有無。

中文和English的混排效果並不依賴於space的有無。

中文和English的 混排 效果並不依賴於 space 的有無。

XeLaTeX編譯的結果:

be93f86a0920f7041fb978ecd784f40d.png
圖7 XeLatex編譯效果圖

pdfLaTeX編譯的結果:

49156bf8b2ff923677cf152282f57e20.png
圖8 pdfLaTeX編譯效果圖
  • 如果要取消XeLaTeX這種自動產生空格的效果:使用mbox{}

程式碼:

條目a不同於條目b

mbox{條目}a不同於條目b

881334512c58650b84651494d10d3ad0.png
圖9 空格取消效果圖
  • XeLaTeX編譯下禁用全文的中文與其他內容之間的空格:CJKsetecglue{}

程式碼:

%CJKsetecglue{}

中文和English的混排效果並不依賴於 space 的有無。

中文和English的混排效果並不依賴於space的有無。

中文和English的 混排 效果並不依賴於 space 的有無。

條目a不同於條目b

mbox{條目}a不同於條目b

沒加命令之前:

3d76b4399de9d7d33b64b84d773c15e1.png
圖10 沒加命令之前的效果圖

加入命令之後:

d3d659c41f5f1cdf4b9443851dcb879c.png
圖11 加入命令之後的效果圖
  • 空行:表示分段
  • 直接另起一而不分段:或者linebreak(指定一行的斷點,上一行按照完整的一行分散對齊)。但其實這兩個命令都用的比較少,除非是需要非常精細的排版。還有一些具體的情況就不說了。

程式碼:

這是一行文字另一行

這是一行文字linebreak 另一行

d68de92f8dfe87d97093c49a3b95444b.png
圖11 使用linebreak效果圖