[knownledge][latex] LaTex入門

 

 

序言php

最近須要寫一份文檔, 時間也不是特別緊.html

以前一直用markdown寫文檔. 始終想學一下LaTex, 畢竟是學術論文界的工具.linux

 

在說起LaTex的內容以前. 事必是必定要首先說起高德納的.git

他用十五年寫了半本書,而後發現印刷出來很差看,便又花八年時間寫了Tex軟件來排版,而後回去繼續寫書,到如今還沒寫完。github

 

正文express

 

先來一本書: api

掃描版PDF: https://github.com/wuzhouhui/misc/blob/master/LaTeX%E5%85%A5%E9%97%A8%20%E5%88%98%E6%B5%B7%E6%B4%8B.pdfmarkdown

 

先選了工具套裝 texliveapp

https://wiki.archlinux.org/index.php/TeX_Live編輯器

安裝:

┬─[tong@T7:~]─[04:53:20 PM] ╰─>$ sudo pacman -S texlive-most :: There are 12 members in group texlive-most: :: Repository extra 1) texlive-bibtexextra  2) texlive-core  3) texlive-fontsextra  4) texlive-formatsextra  5) texlive-games  6) texlive-humanities  7) texlive-latexextra  8) texlive-music 9) texlive-pictures  10) texlive-pstricks  11) texlive-publishers  12) texlive-science Enter a selection (default=all):
The TeX Live packages are arranged into two groups in the official repositories: texlive-most includes TeX Live applications. texlive-lang provides various character sets and non-English features.

 

支持中文:

┬─[tong@T7:~/Temp]─[05:27:26 PM] ╰─>$ pacman -S extra/texlive-langchinese

 

官方手冊:https://en.wikibooks.org/wiki/LaTeX/Introduction

前文安裝的TexLive只有解釋器沒有編輯器, 還須要選一個編輯器

https://en.wikibooks.org/wiki/LaTeX/Installation#Editors

A. 我選了kile, 由於是KDE組件...

B. 還有一個聽說比較好用的 texworks

┬─[tong@T7:~/Temp]─[06:11:08 PM] ╰─>$ yaourt -Ss texworks aur/texworks 0.6.2-3 (84) (0.17) A TeX IDE inspired by TeXShop.

 

語法摘錄:

1.  空格與換行

a. 空格或tab都會識別成空白字符.

b. 多個連續的空白字符會被識別爲一個空白字符.

c. 一個或多個空行會被識別爲換行.

 

2.  保留字

# $ % ^ & _ { } ~ \

斜槓\ 爲轉意字符, 如

\# \$ \% \^{} \& \_ \{ \} \~{} \textbackslash{}

有時 [ 和 ] 也是保留字, 當用做可選參數時, 如:

\command [text]

 

3. 組

用於限定做用域, 使用命令 \bgroup 和 \egroup, 如:

\documentclass{article} \begin{document} normal text {\itshape walzing \bfseries Wombat} more normal text normal text \bgroup\itshape walzing \bfseries Wombat\egroup{} more normal text \end{document}

 

4. 環境

Anything in LaTeX can be expressed in terms of commands and environments.

\begin{environmentname} text to be influenced \end{environmentname}

 

5. 命令

\commandname[option1,option2,...]{argument1}{argument2}...

 

cmmand VS switch (不太理解)

 

6. 註釋 

When LaTeX encounters a % character while processing an input file, it ignores the rest of the current line, the line break, and all whitespace at the beginning of the next line.

例子

┬─[tong@T7:~/Temp]─[11:46:59 AM] ╰─>$ cat tex_test.tex % hello.tex - Our first LaTeX example! \documentclass{article} \begin{document} Hello world! \end{document}

 

編譯文檔, 並查看

┬─[tong@T7:~/Temp]─[11:56:41 AM] ╰─>$ xelatex tex_test.tex This is XeTeX, Version 3.14159265-2.6-0.99998 (TeX Live 2017/Arch Linux) (preloaded format=xelatex) restricted \write18 enabled. entering extended mode (./tex_test.tex LaTeX2e <2017-04-15> Babel <3.15> and hyphenation patterns for 84 language(s) loaded. (/usr/share/texmf-dist/tex/latex/base/article.cls Document Class: article 2014/09/29 v1.4h Standard LaTeX document class (/usr/share/texmf-dist/tex/latex/base/size10.clo)) No file tex_test.aux. [1] (./tex_test.aux) ) Output written on tex_test.pdf (1 page). Transcript written on tex_test.log. ┬─[tong@T7:~/Temp]─[11:56:52 AM] ╰─>$ ls tex_test.aux tex_test.log tex_test.pdf tex_test.tex ┬─[tong@T7:~/Temp]─[11:56:53 AM] ╰─>$ okular tex_test.pdf

 

 

到此, 就算入門了. 接着換一箇中文文檔, 作一些進階學習

https://liam0205.me/2014/09/08/latex-introduction/

咱們使用texworks試一下.

上圖這個demo, 雖然很好. 可是並不能正常顯示中文.

 

中文:

CTeX宏包

 

運行報錯:

 

這個奧祕是把輸出引擎選擇爲XeTeX. 爲何要這樣作呢? 

參考上文文檔的家族章節: https://liam0205.me/2014/09/08/latex-introduction/#TeX_%E5%AE%B6%E6%97%8F

以後有兩種方法顯示, 以下所示:

 

一個稍複雜的例子

%顯示中文的第一種方法 \documentclass[UTF8]{ctexart} % 顯示中文的第二種方法 %\documentclass{article} %\usepackage{xeCJK} \title{你好, world!} \author{Tong} \date{\today} \begin{document} \maketitle \tableofcontents \section{你好中國} 中國在East Asia. \subsection{Hello Beijing} 北京是Capital of China. \subsubsection{Hello Dongcheng district} \paragraph{Tian'anmen Square}
is in the center of Beijing \subparagraph{Chairman Mao} is in the center of 天安門廣場。 \subsection{Hello 山東} \paragraph{山東大學} is one of the best university in 山東。 Hello World! 你好LaTeX的世界! \end{document}
例子

 

一個效果圖。。。。

 

如你所見, 上邊那個圖實在是太醜了。

因而我又去了解了一下pandoc,又試圖對比了一下markdown,詳見:

[daily] pandoc

而後再回到latex的話題, 其實醜不醜的還在於我的設置。好比,不用CTex而換成Xelatex以後。以下圖:

其實也還好吧,細緻的調整一下相信也不會醜。

因而要提到的是, 到底XeLaTex是什麼?

http://blog.jqian.net/post/xelatex.html

中文問題仍是很複雜的,詳細內容,推薦閱讀下面這個章節:

https://en.wikibooks.org/wiki/LaTeX/Internationalization

https://en.wikibooks.org/wiki/LaTeX/Internationalization#Chinese

 

跟排版,頁面,頁邊距等有關的內容:

https://en.wikibooks.org/wiki/LaTeX/Page_Layout

 

簡歷文檔類:https://www.xiangsun.org/tex/notes-on-moderncv

 

至此,讀文檔,知識之類的工做基本差很少了。

接下來就是一邊實踐一邊繼續深刻學習了。

 

語法那麼多。因此實踐學習階段,須要一份速查手冊。

TeXLive是自帶的,一個命令texdoc。可是因爲個人TeXlive不是經過官方工具安裝的,而是經過arch源。目前源裏面尚未texdoc的文檔內容。

索性找到了online的texdoc:http://texdoc.net/

texdoc裏面有好多文檔,其中一份做爲平常的簡明速查手冊已經足夠

http://texdoc.net/texmf-dist/doc/latex/latex2e-help-texinfo/latex2e.pdf

另外還有一個,內容應該是同樣的:

https://latex.org/know-how/latex/55-latex-general/424-latex-reference-manual

 

TODO:

https://en.wikibooks.org/wiki/LaTeX/Counters

 

------------------------------------- update @ 2018-03-12 -------------------------------

生產PDF時候連接顏色巨醜,怎麼破?

 

 很簡單,加入下面一行。。。。

\usepackage[colorlinks,urlcolor=blue]{hyperref}

而後,漂亮多了。。。。

--------------------------------------------------------------------------------------------------------

如何設置首行縮進?

在導言區加入宏包首行 \usepackage{indentfirst} 就能夠了. 使用命令 設置 縮進的距離 \setlength{\parindent}{2em},

http://blog.sina.com.cn/s/blog_5e16f1770100fve2.html

 

-------------------------------------------------------------------------------------------------------

如何設置行間距

http://blog.csdn.net/u010297791/article/details/54232542

\usepackage{setspace} \setlength{\baselineskip}{20pt}

不知道是否是由於我用來\clearpage,第二行須要寫到正文裏才能生效。

 

---------------------------------------------------------------------------------------------------------

默認生成目錄的標題是 「contents」, 我要把它修改成中文的「目錄」, 如何作?

\renewcommand{\contentsname}{目錄}

須要寫在 tableofcontents 以前。

須要注意的是,\renewcommand{\contentsname}{...} 不能寫在導言區,要寫在 \tableofcontents 以前。 其它預設名以下 \abstractname Abstract \alsoname see also (makeidx package) \appendixname Appendix \bibname Bibliography (report,book) \ccname cc (letter) \chaptername Chapter (report,book) \contentsname Contents \enclname encl (letter) \figurename Figure (for captions) \headtoname To (letter) \indexname Index \listfigurename List of Figures \listtablename List of Tables \pagename Page (letter) \partname Part \refname References (article) \seename see (makeidx package) \tablename Table (for caption) 如: \renewcommand{\contentsname}{\small Contents} \tableofcontents

 

---------------------------------------------------------------------------------

設置了行間距以後,itemize之間的距離就變大了。那麼如何控制itemize直接的距離呢?

 

兩個方法,一個在導言區全局設置:

\usepackage{enumitem} \setenumerate[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} \setitemize[1]{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt} \setdescription{itemsep=0pt,partopsep=0pt,parsep=\parskip,topsep=5pt}

一個是針對單個item,單獨設置:

begin{itemize} \setlength{\itemsep}{0pt} \setlength{\parsep}{0pt} \setlength{\parskip}{0pt} \item ... \item ... \end{itemize}

 

見:http://www.voidcn.com/article/p-sdcrpatl-re.html

相關文章
相關標籤/搜索