繼上回工具已經(jīng)準(zhǔn)備好囤热,接下來就應(yīng)該是正式開始制作了吧猎提?
但在開始之前我們先了解一下基本語法知識(shí)吧hhh
TeX文檔由導(dǎo)言區(qū)和正文區(qū)組成,
\documentclass{article}
\usepackage{graphicx} % 圖形拓展庫旁蔼,導(dǎo)入它才能顯示圖片
\usepackage[a4paper]{geometry} % 調(diào)整紙張大小和頁邊距的包锨苏,中括號(hào)中規(guī)定了紙張大小
\geometry{left=2.0cm,right=2.0cm,top=2.0cm,bottom=2.0cm} % 頁邊距設(shè)置
% 導(dǎo)言區(qū)的其他內(nèi)容
\begin{document}
Hello LaTeX
% 正文部分的其他內(nèi)容
\end{document}
第一行的\documentclass{article}
,用來標(biāo)注文檔類型棺聊,包括article,book,report等等伞租。
從第二行開始到\begin{document}
之前,都是導(dǎo)言區(qū)的內(nèi)容限佩,一般用來導(dǎo)入拓展包(就和C語言里的#include<xxx>
差不多作用)肯夏,定義一些全局屬性什么的。例如這里導(dǎo)入了圖形拓展包和geometry
拓展包犀暑,然后設(shè)置了頁邊距什么的驯击。
從\begin{document}
到\end{document}
里面包圍的則是正文,文檔的所有內(nèi)容都在這里耐亏。
TeX主要有兩種類型的語句(姑且叫它語句吧)
第一種叫做命令徊都,像\usepackage{graphicx}
和\documentclass{article}
這樣的叫就是命令,只占一行广辰,它的標(biāo)準(zhǔn)格式如下:
\commandname[arg1]{arg2}
也存在多個(gè)中括號(hào)和大括號(hào)的情況暇矫,具體我也不是很清楚
第二種叫環(huán)境主之,環(huán)境有三部分,分別是開始的\begin{environmentname}
,中間的文本以及結(jié)束的\end{environmentname}
李根,支持多級(jí)嵌套槽奕。
然后你會(huì)發(fā)現(xiàn)寫中文會(huì)編譯錯(cuò)誤或者編譯成功了也無法顯示。前面我說了原本TeX的設(shè)計(jì)者壓根就沒考慮亞洲國家的語言房轿,所以難怪不支持中文粤攒,不過還好我們國人很強(qiáng)大,將中文已經(jīng)適配好了囱持。
只要在導(dǎo)言區(qū)加一個(gè)\uscpackage{ctex}
就可以完美的支持中文夯接,或者直接用\documentclass{ctexart}
代替原來的\documentclass{article}
也可以。
基礎(chǔ)知識(shí)介紹完畢纷妆,接下來開始正式制作吧盔几!
我要做的實(shí)驗(yàn)封面大致上長這樣首先遇到的難題就是修改字體大小,根據(jù)網(wǎng)上所查掩幢,改字體大小有下面的一系列命令:
\tiny
\scriptsize
\footnotesize
\small
\normalsize
\large
\Large
\LARGE
\huge
\Huge
字體大小依次從小變大逊拍。
但我試了之后發(fā)現(xiàn)最大的 \Huge
依然不夠大,
后來我又想起了ctex自帶的字體大小命令:\zihao{-5}
际邻,里面的數(shù)字對(duì)應(yīng)中文里的字體大小芯丧,例如5就是五號(hào)字體,-5就是小五號(hào)字體枯怖,而0則是初號(hào)注整。但我嘗試之后發(fā)現(xiàn)最大的初號(hào)還是不夠大。emmm度硝,只能繼續(xù)百度了肿轨。
搜尋一整子之后發(fā)現(xiàn)了這個(gè)命令\fontsize{24pt}{24pt}
,它可以任意設(shè)置字體大小蕊程,前面的數(shù)字代表字體的大小椒袍,這里的單位pt和我們word上的字體單位一樣,后面的數(shù)字百度上說是行距藻茂,但我改了以后沒什么變化驹暑,改成0也沒事,它的作用我還不清楚辨赐,這里存疑优俘。
需要注意的是上面說的這些改變字體大小的命令,只要在某個(gè)位置有這個(gè)命令掀序,接下來所有的文字的字體都會(huì)變成同樣的大小帆焕。
如果只想臨時(shí)改變字體大小的話可以這樣 {\Huge 最大字體}
,這樣就不會(huì)影響后面文字的大小了不恭。我估計(jì)這些命令的作用域(照抄C語言里面的概念hhh)都是在當(dāng)前大括號(hào)內(nèi)部叶雹。
字體的問題解決之后又遇到了新問題财饥,“南華大學(xué)”和“實(shí)驗(yàn)報(bào)告”之間隔得距離太近,要拉開一點(diǎn)折晦,要用到\vspace*{24pt}
钥星,里面的數(shù)字就是垂直間隔的距離。還有類似的命令\hspace*{24pt}
是控制水平間隔的满着。
\documentclass[UTF8]{ctexart}
\usepackage[a4paper]{geometry} % 調(diào)整紙張大小和頁邊距的包谦炒,中括號(hào)中規(guī)定了紙張大小
\geometry{left=2.0cm,right=2.0cm,top=2.0cm,bottom=2.0cm} % 頁邊距設(shè)置
\begin{document}
\begin{titlepage}
\heiti
\vspace*{64pt}
\begin{center}
\fontsize{72pt}{0} 南華大學(xué)\\
\vspace*{36pt}
\fontsize{48pt}{0}{實(shí)\quad 驗(yàn)\quad 報(bào)\quad 告}\\
\vspace*{48pt}
\LARGE(20\quad\~{}20\quad 學(xué)年度\qquad 第\quad 學(xué)期)\\
\vspace*{48pt}
\end{center}
\end{titlepage}
\end{document}
這里面還有需要解釋的地方就是TeX里面~
符號(hào)不能直接寫,要改成\~{}
漓滔,還有中文里面空格也不能直接寫编饺,要在前面加一個(gè)\
,與此類似的標(biāo)點(diǎn)還有:
# 用在宏定義中
$ 數(shù)學(xué)模式符號(hào)
% 注釋符號(hào)
^ 上標(biāo)符號(hào)
& 表格對(duì)齊符號(hào)
{ } 分組符號(hào)
_ 數(shù)學(xué)模式的下標(biāo)符號(hào)
\ 宏命令符號(hào)
它們都因?yàn)橛刑厥夂x不能直接使用乖篷,基本上都是通過在前面加一個(gè)\
來輸入响驴,除了 \
符號(hào)是\textbackslash
,^
符號(hào)是\^{}
center環(huán)境中的文字會(huì)居中撕蔼,與此類似地還有flushleft和flushright環(huán)境豁鲤,分別是左對(duì)齊和右對(duì)齊。至于那個(gè)titlepage環(huán)境鲸沮,本來多頁的文檔會(huì)在右上角默認(rèn)顯示當(dāng)前的頁數(shù)琳骡,封面肯定不需要頁數(shù)嘛,在titlepage環(huán)境中就不會(huì)占據(jù)頁數(shù)了讼溺,還有自動(dòng)分頁的功能楣号。
至于那個(gè) \heiti
嘛,顧名思義怒坯,之后的字體都變成黑體炫狱,是CTeX宏包提供的命令,與此類似的還有\fangsong \kaishu \songti
剔猿,意思大家肯定也可以猜出來视译。
關(guān)于空格和換行
在latex里多個(gè)空格與一個(gè)空格效果是一樣的,而且在中文之間普通的空格也沒用归敬,得在前面加一個(gè)\
酷含,直接這樣說說不明白,干脆上例子吧:
你好 哈哈哈哈hello world
上面的代碼生成后的文字是這樣的:你好哈哈哈哈hello world
汪茧,這下就明白了吧椅亚。英文中無論多少個(gè)空格都只算一個(gè)空格,而在中文中emmm無論多少個(gè)空格都相當(dāng)于沒有空格......不知道ctex的設(shè)計(jì)者怎么想的舱污。
于是想用空格的話得用命令寫呀舔,除了前面講的在空格前加\
代表一個(gè)空格之外,匯總一下有這些命令:
a\qquad b %四個(gè)正郴疟眨空格
a\quad b %兩個(gè)正潮鹜空格
a\ b %正城颍空格,也就是我們按下空格鍵所產(chǎn)生的空格
a\;b %小空格
a\,b %超小的空格
a\!b %a和b之間完全緊貼在一起省古,需要反向縮進(jìn)
至于這個(gè)小和超小具體有多小就自己嘗試一下吧粥庄,畢竟實(shí)踐出真知hhhhh
關(guān)于回車的話,TeX里面直接回車是不能換行的豺妓,得用\newline
來換行惜互,或者直接打兩個(gè)斜杠\\
也是一樣的效果。
接下來便是下面的填空部分
本以為很簡單琳拭,只要用下劃線命令
\underline{}
然后在里面瘋狂加空格就好了训堆,這樣確實(shí)可以實(shí)現(xiàn)功能,但有一個(gè)問題白嘁,就是我后期是要把它做成模板的坑鱼,讓用戶可以像\documentclass{report}
這樣使用它。那我肯定不能讓用戶自己決定放多少空格絮缅,而且單純用空格的話里面的文字改了的話還得修改空格的數(shù)量與位置鲁沥,非常麻煩。
于是我上網(wǎng)尋找耕魄,找到了一個(gè)非常好的命令:
\makebox[寬度]{文本}
這個(gè)命令可以創(chuàng)造一個(gè)看不見的矩形画恰,將文本包圍在里面,里面的文本默認(rèn)是居中吸奴,如果不想居中的話可以這樣:\makebox[寬度][位置]{文本}
允扇,位置那里可以輸入的值有l(wèi):左端;r:右端则奥;s:兩端考润。
這個(gè)命令就很舒服了,還可以精準(zhǔn)控制下劃線的寬度逞度,豈不美哉额划?
還有類似的命令叫framebox,區(qū)別是會(huì)有一個(gè)黑色的框框?qū)⑽谋景鼑饋怼?/p>
經(jīng)過多次努力档泽,封面完成了
代碼如下:
\documentclass[UTF8]{ctexart}
\usepackage[a4paper]{geometry} % 調(diào)整紙張大小和頁邊距的包俊戳,中括號(hào)中規(guī)定了紙張大小
\geometry{left=2.0cm,right=2.0cm,top=2.0cm,bottom=2.0cm} % 頁邊距設(shè)置
\begin{document}
\begin{titlepage}
\heiti
\vspace*{64pt}
\begin{center}
\fontsize{72pt}{0} 南華大學(xué)\\
\vspace*{36pt}
\fontsize{48pt}{0}{實(shí)\quad 驗(yàn)\quad 報(bào)\quad 告}\\
\vspace*{48pt}
\LARGE(20\quad\~{}20\quad 學(xué)年度\qquad 第\quad 學(xué)期)\\
\vspace*{48pt}
\LARGE 課程名稱\ \ \underline{\makebox[200pt]{C程序設(shè)計(jì)}}\\
\LARGE 實(shí)驗(yàn)名稱\ \ \underline{\makebox[200pt]{成績管理系統(tǒng) V2.0}}\\
\vspace*{72pt}
\Large 姓名\ \ \underline{\makebox[108pt]{}}\ \ 學(xué)號(hào)\ \ \underline{\makebox[108pt]{}}\\
\Large 學(xué)院\ \ \underline{\makebox[108pt]{}}\ \ 班級(jí)\ \ \underline{\makebox[108pt]{}}\\
\Large 地點(diǎn)\ \ \underline{\makebox[108pt]{}}\ \ 教師\ \ \underline{\makebox[108pt]{}}\\
\end{center}
\end{titlepage}
\end{document}
生成后的pdf是這樣的:哇,簡直是太完美了馆匿。
總結(jié)
由于本期新學(xué)了很多東西抑胎,在這里總結(jié)一下
首先TeX有兩種語句:\commandname[arg1]{arg2}
和\begin{environmentname}中間文本\end{environmentname}
,分別叫命令和環(huán)境
然后一個(gè)TeX文檔有兩部分渐北,分別是導(dǎo)言區(qū)和正文區(qū)阿逃,它們各有各的作用
接著是不能直接輸入,而是要轉(zhuǎn)義的符號(hào):~#$%^&{}_\
最后是一堆命令:
\documentclass{article} %定義文檔類型
\uscpackage{ctex} %導(dǎo)入拓展包,這里是中文支持包
%從小到大的各種字體大小
\tiny \scriptsize \footnotesize \small \normalsize
\large \Large \LARGE \huge \Huge
\zihao{-5} %設(shè)置中文字號(hào)
\fontsize{24pt}{24pt} %設(shè)置具體的字體大小恃锉,第二個(gè)參數(shù)作用不明
\vspace*{24pt} \hspace*{24pt} %設(shè)置垂直和水平間距
\\ \newline %換行
\qquad \quad \ a\; \, \! %從大到小的各種空格
\underline{文本} %給文本加下劃線
\makebox[寬度][位置]{文本} %在文本外面包圍一個(gè)虛擬的矩形搀菩,默認(rèn)為居中
\framebox[寬度][位置]{文本} %周圍有黑色的邊框,其他與上面一致
\heiti \fangsong \kaishu \songti %各種中文字體
還有兩種環(huán)境
\begin{titlepage} 封面內(nèi)容 \end{titlepage} %設(shè)置里面的內(nèi)容為封面破托,不占據(jù)一個(gè)頁數(shù)
\begin{center|flushleft|flushright} %居中肪跋,左對(duì)齊和右對(duì)齊