標籤:
這裡說的不是用LaTeX畫圖,而是插入已經畫好的圖片。。想看畫圖可以把捲軸拉到底。前情回顧【LaTeX】E喵的LaTeX新手入門教程(1)準備篇
【LaTeX】E喵的LaTeX新手入門教程(2)基礎排版
【LaTeX】E喵的LaTeX新手入門教程(3)數學公式圖片的插入A picture says more than a thousand words. — Shakespeare
沒圖你說個××。 ——莎士比亞LaTeX支援的圖片格式由於在前面的教程中建議大家使用XeLaTeX,因此在圖形格式的支援上相比於其他引擎有著一些天然的優勢。XeLaTeX所支援的圖形格式有:bmp、jpeg、png、eps、pdf。如果你是使用Mac的壕,那麼XeLaTeX還會支援GIF、PICT、PSD、SGA、TGA、TIFF等格式。。。這裡主要說一下eps和pdf兩種格式。eps是一種在TeX中很常用的向量繪圖格式,主流的科技繪圖軟體基本上都支援eps格式的匯出。比如MATLAB在圖形視窗中可以直接把圖形儲存成eps格式。pdf格式嘛。。(誰告訴你pdf只有A4那麼大的。。)就是一個小塊大小的pdf文檔,裡面到底有啥誰也管不著了。。向量繪圖格式的好處在於,放大多少倍都不會失真,列印在紙上也不會出現坑坑窪窪的鋸齒什麼的,是寫作科技論文、書籍的必備佳品。支援匯出eps格式的繪圖軟體包括:MS Visio、OOO Draw、MATLAB、Mathematica、GNUPlot、Asymptote等。必備宏包之graphicx插圖就用它。。為啥?大家都用。。→_→\usepackage{graphicx}插入圖片在本文當中插入一張圖片很簡單,使用\includegraphics{檔案名稱}就可以了。A picture like
\includegraphics{hit300.png}我們可以看到圖片就被插入到本文當中了。有的時候插入的圖片比較大。。比如現在這種情況。。我們就可以為\includegraphics添加一些選項來對圖片進行縮放。A picture like
\includegraphics[height=15pt]{hit300.png}\includegraphics的常用選項有:
- height,指定插入圖片的高度
- width,指定插入圖片的寬度
- scale,指定插入圖片的放大倍數
- angle,指定插入圖片的旋轉角度,順時針方向為正
- draft,變為草稿模式,此時不讀取圖片,最終的輸出結果只有一個和圖片大小一樣的框框,可以加快編譯速度。可以在終稿之前使用\usepackage[draft]{graphicx}來加快編譯速度,終稿時去掉這個選項。
height和width如果指定其一,則另一個則按比例縮放。如果都指定了就變形了→_→至於長度單位,可以用mm/cm/pt/em/ex/in等長度單位。(em指當前字型大小下大寫字母M的寬度,ex指當前字型大小下小寫字母x的寬度。大家可以直接用cm。。。)圖形環境單純使用\includegraphics插入的圖形沒有編號,也沒有辦法引用什麼的,比較麻煩。因此LaTeX提供了figure環境,使用它插入的圖會自動編號,並且可以被交叉引用。figure環境的用法如下:\begin{figure}[選項]
\centering % 使後面的內容置中
\includegraphics{..}
\caption{表徵圖題}
\label{供引用的標籤}
\end{figure}figure環境會產生一個浮動的繪圖物件,LaTeX會自動地將它放置到美觀的位置上。在選項中可以指定LaTeX放置浮動圖片的位置優先次序。其中h表示here,表示放置在插入處。t表示top,頁面的頂端。b表示bottom,頁面的底端。p表示page,單獨的圖片頁。預設的選項是[tbp],不過大家寫文章的時候都比較願意用[htbp]。meowmeow meow..
\begin{figure}[htbp]
\centering
\includegraphics[width=.8\textwidth]{hit300.png}
\caption{A 300 Hit!}
\label{fig:300}
\end{figure}
figure \ref{fig:300} will show when you make an accurate hit in osu!.由於以上代碼存在交叉引用,所以需要編譯兩遍。這裡用到了一個比較有意思的長度,就是\textwidth,它指的是頁面中本文的總寬度,前面還可以乘一個係數,當然不用寫乘號。。。。這樣當你改變版面設定時,圖片會自動隨著頁面寬度縮放,這效果很炫喲。怎麼樣。。插圖很簡單吧。。其實figure環境就是個架構,你在裡面用兩個\includegraphics也沒問題的。。。但是要分別為它們寫標題的話。。大家可以去看宏包subfig的文檔,這裡就不詳細說明了。表格的插入簡單表格LaTeX內建了tabular表格環境,用法和array環境很類似。\begin{tabular}{對齊}
第一行。。\\
第二行。。\\
....
最後一行。。。
\end{tabular}舉個栗子。\begin{tabular}{|r||l|}
\hline
$x$ & $x^2$ \\
\hline \hline
1 & 1 \\ \hline
2 & 4 \\ \cline{1-1}
3 & 9 \\ \hline
4 & 16 \\ \hline
\end{tabular}除了\hline可以插入一條水平線之外,\cline{起始列-結束列}可以插入僅包含部分儲存格的水平線。浮動表格環境浮動表格環境跟浮動圖形環境類似,也是自動編號並且自動排版的表格環境。它的用法也跟浮動圖形環境類似,把figure換成table,\includegraphics換成tabular環境就可以了。\begin{table}[htbp]
\centering
\begin{tabular}{|r||l|}
\hline
$x$ & $x^2$ \\
\hline \hline
1 & 1 \\ \hline
2 & 4 \\ \cline{1-1}
3 & 9 \\ \hline
4 & 16 \\ \hline
\end{tabular}
\caption{Value of $x^2$}
\label{tbl:square}
\end{table}
Table \ref{tbl:square} is of nonsense....跨行、跨列表格跨列表格使用\multicolumn可以產生一個跨列儲存格。用法如下:\multicolumn{列數}{對齊}{儲存格內容}
\begin{tabular}{|r||l|}
\hline
$x$ & $x^2$ \\
\hline \hline
1 & 1 \\ \hline
2 & 4 \\ \cline{1-1}
3 & 9 \\ \hline
4 & 16 \\ \hline
\multicolumn{2}{|c|}{...}\\ \hline
\end{tabular}跨行表格要做出跨行表格,需要使用multirow宏包。\usepakcage{multirow}multirow宏包提供了\multirow產生跨行儲存格。\multirow{列數}{寬度}{文本}寬度可以寫成*使得自動適應,也可指定長度使其中文本得以折行。\begin{tabular}{|r||l|}
\hline
$x$ & $x^2$ \\
\hline \hline
$-1$ & \multirow{2}{*}{1} \\ \cline{1-1}
1 & \\ \hline
2 & 4 \\ \cline{1-1}
3 & 9 \\ \hline
4 & 16 \\ \hline
\multicolumn{2}{|c|}{...}\\ \hline
\end{tabular}此外multirow還有相當多的選項,讀者可以自己查閱這個宏包的文檔。又跨行又跨列的表格。。你有完沒完。。結合著用上面的東西就可以了。但是,只能是\multirow放在\multicolumn裡面,放反了會出錯。定寬表格前面提到的表格環境中,儲存格的寬度都是根據其中內容的寬度而改變的。如果想讓表格整體指定寬度或某一列指定寬度的話。。大家可以去讀讀tabularx宏包的文檔。本喵偷了個懶。。。。跨頁表格使用tabular環境產生的表格是一個不可分割的整體,要弄出長長的跨頁表格用它肯定是不行的了。因此這裡再介紹一下longtable宏包。\usepackage{longtable}它提供了longtable環境,在使用長表的時候代替tabular環境。用法比較複雜:\begin{longtable}{對齊}
\caption{標題}\label{標籤}\\ % ←愛寫不寫
表頭\\
可有可無的分隔線\hline什麼的。。。
\endfirsthead
續表表頭\\
可有可無的分隔線\hline什麼的。。。
\endhead
表格末尾的分隔線什麼的。。。
\endfoot
長長的表格內容。。
\end{longtable}具體效果如何。。那麼長還截個毛線圖。。大家回去試好了0w0科技文獻三線表使用booktabs宏包,可以產生三線表所需的線。\toprule、\midrule、\bottomrule看名字就知道該放哪兒了。斜線表頭使用diagbox宏包可以繪製表格左上方帶有斜線的表頭儲存格,用法巨簡單。\diagbox{左下角的東西}{右上方的東西}
\diagbox{左下角的東西}{左上方的東西}{右上方的東西}想要修改斜線方向等進階選項,參閱diagbox宏包文檔。用LaTeX畫圖。。比較好用的畫圖包是TikZ。去看tikz宏包的文檔吧,實在是太厚了。但是畫圖效果真不是蓋的。註:使用XeLaTeX引擎可能會使TikZ的一些填充效果變得很糟糕。建議的方法是使用pdfLaTeX進行繪圖,使用standalone文檔類產生一個pdf圖片供XeLaTeX插入。下期預告參考文獻的引用和自動產生參考文獻列表
from: http://blog.renren.com/share/382776374/15233443854
【LaTeX】E喵的LaTeX新手入門教程(4)圖表