LaTeX學習筆記II:數學公式與代碼排版(附源碼)
簡介:利用LaTeX可以生成很多具有書籍質量的印刷品。特別是用於生成複雜表格和數學公式,非常適用於生成高印刷質量的科技和數學類文檔。在上一篇文章的基礎上,本文將主要介紹LaTeX中數學公式和代碼的排版。
標籤:計算機技術,LaTeX
本文的主要內容:
1. 插入頁碼
2. 高亮顯示Matlab代碼3. 一些公式的輸入4. 圖片位置的補充說明
1. 插入頁碼
首先設置頁碼:在正文中調用頁碼命令pagenumbering{數字形式}
。其中數字形式可取值如下:
arabic, 阿拉伯數字
roman, 小寫羅馬數字 Roman,大寫羅馬數字 alpha, 小寫拉丁字母 Alpha, 大寫拉丁字母
2. 高亮顯示Matlab代碼
使用如下宏包:
usepackage{listings} % 插入代碼塊 usepackage{xcolor} % 高亮代碼 usepackage{textcomp} usepackage[framed,numbered,autolinebreaks,useliterate]{mcode} % 高亮matlab代碼
其中,mcode宏包可以從 Matlab論壇 上下載,並載入到CTEX宏包中。
顯示中文:
採用usepackage{mcode}
高亮Matlab代碼的時候,由於usepackage{lisitings}
宏包只支持英文,所以無法對中文內容進行高亮顯示。我查閱了很多資料,也沒有找到很好的解決方案。最後我採用了比較「笨」的一種方法:
- 用escapeinside設置代碼塊中用
``
跳過中文部分:lstset{numbers=left, numberstylex= iny, escapeinside=``}
- 在導言區定義兩種顏色:
definecolor{anno}{RGB}{33, 138, 33}
,definecolor{disp}{RGB}{159, 32, 239}
。這兩個RGB顏色分別對應於Matlab代碼中注釋的顏色和文本的顏色。 - 正文中的中文部分(如注釋),將其變成
color{anno}{首先,繪製出龍格函數的標準圖示}
當然,最簡單的方法就是。。。Matlab代碼中不要出現中文 Orz
附:如何載入自定義宏包:
- 將網上下載的 .sty 文件放在CTEX的目錄下。根據每個人安裝的位置不同會有小許區別,我的目錄地址為 D:CTEXMiKTeX exlatex ;
- 在該目錄下新建一個文件夾,文件夾名稱一般寫sty文件名就可以(不要使用中文!)。
- 將sty文件放在這個文件夾里;
- 進入MikTeX的設置頁面:開始 -> CTEX -> Settings(Admin),刷新FNDB,然後點確定就可以了!(操作過程中最好關閉MikTeX編輯器)。
3. 一些公式的輸入
插入空心字元:
mathbb{R}
需要用到的宏包:usepackagae{amsfonts}
代碼舉例:
設$m{Ax}=m{b}$,其中$m{A}in mathbb{R} ^ {n imes n}$。
實現效果:
插入方程組和求和式:
代碼實現如下
egin{equation}label{2} egin{cases} x_n=b_n^{(n)}/a_{nn}^{(n)},\\ x_i=(b_i^{(i)}-sumlimits_{j=i+1}^n{a_{ij}^{(i)}x_j})/a_{ii}^{(i)} end{cases} end{equation}
egin{cases}
插入一個帶花括弧的方程組。第一行結束後的\是為了強制換行。在sum
limits
是為了強制讓求和的上下限位於求和符號的上下方。實現效果如下:公式換行:
有時候,公式過長,或者需要表示公式推導的過程時,需要對公式進行換行操作。這時候就需要用到egin{aligned}
環境。實現的效果如下:
在aligned
環境中,公式換行和對齊的命令類似於表格。在需要換行的地方需要加兩個反斜杠「\」。在每段對齊的地方(我的例子中需要在等號處對齊)加一個「&」。上圖的代碼實現如下:
egin{equation} egin{aligned} f(x)& =f(x_0)+f[x_0,x_1](x-x_0)+f[x_0,x_1,x_2](x-x_0)(x-x_1)+cdotcdotcdot \ & +f[x_0,x_1cdotcdotcdot,x_n](x-x_0)cdotcdotcdot(x-x_{n-1}) \ & +f[x,x_0cdotcdotcdot,x_n]omega_{n+1}(x) \ & =P_n(x)+R_n(x) end{aligned} end{equation}
公式不標序號:
公式不標序號只需要在公式環境聲明時在「equation」後加一個星號「 * 」即可:
egin{equation*} end{equation*}
矩 陣:
如果矩陣元素太多,可以使用cdots ? ddots ? vdots ? 等省略符號來定義矩陣。
如果想表達如下圖這樣的矩陣運算,可以用 [
和 ]
將幾個矩陣括在一起即可:
LaTeX代碼如下:
\[ egin{bmatrix} 3.01 & 6.03 & 1.99 \ 1.27 & 4.16 & -1.23 \ 0.987 & -4.81 & 9.34 end{bmatrix} egin{bmatrix} x_1 \ x_2 \ x_3 end{bmatrix} = egin{bmatrix} 1 \ 1 \ 1 end{bmatrix} \]
4. 關於圖片位置
在 上篇LaTeX學習筆記 中我說了一種解決圖片位置的方法。但是其實說的有一定問題。這裡我摘抄一段網上的介紹:
常用選項[htbp]是浮動格式:
『h』當前位置。將圖形放置在正文文本中給出該圖形環境的地方。如果本頁所剩的頁面不夠,這一參數將不起作用。 『t』頂部。將圖形放置在頁面的頂部。 『b』底部。將圖形放置在頁面的底部。『p』浮動頁。將圖形放置在一隻允許有浮動對象的頁面上。
一般使用[htb]這樣的組合,只用[h]是沒有用的。這樣組合的意思就是latex會盡量滿足排在前面的浮動格式,就是h-t-b這個順序,讓排版的效果盡量好。 !h 只是試圖放在當前位置。如果頁面剩下的部分放不下,還是會跑到下一頁的。一般頁言,用 [!h] 選項經常會出現不能正確放置的問題,所以常用 [ht]、[htbp] 等。如果你確實需要把圖片放在當前位置,不容改變,可以用float宏包的[H]選項。不過如果這樣做,出現放不下的問題時需要手工調整。
上述參考資料的引用源(侵刪):
Latex強製圖片位置 - CSDN博客我實際使用過程使用的代碼如下:
usepackage{float} egin{figure}[H] % Requires usepackage{float} centering includegraphics[width_=120mm]{flowfig}\ caption{列主元消去法的演算法流程圖}label{fig.1} end{figure}
源碼及PDF文件的百度雲鏈接:
http://pan.baidu.com/s/1jH6c9Ps推薦閱讀:
TAG:LaTeX |