標籤:

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}宏包只支持英文,所以無法對中文內容進行高亮顯示。我查閱了很多資料,也沒有找到很好的解決方案。最後我採用了比較「笨」的一種方法:

  1. 用escapeinside設置代碼塊中用``跳過中文部分: lstset{numbers=left, numberstylex= iny, escapeinside=``}
  2. 在導言區定義兩種顏色: definecolor{anno}{RGB}{33, 138, 33}definecolor{disp}{RGB}{159, 32, 239}。這兩個RGB顏色分別對應於Matlab代碼中注釋的顏色和文本的顏色。
  3. 正文中的中文部分(如注釋),將其變成 color{anno}{首先,繪製出龍格函數的標準圖示}

當然,最簡單的方法就是。。。Matlab代碼中不要出現中文 Orz

附:如何載入自定義宏包:

  1. 將網上下載的 .sty 文件放在CTEX的目錄下。根據每個人安裝的位置不同會有小許區別,我的目錄地址為 D:CTEXMiKTeX exlatex ;
  2. 在該目錄下新建一個文件夾,文件夾名稱一般寫sty文件名就可以(不要使用中文!)。
  3. 將sty文件放在這個文件夾里;
  4. 進入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博客blog.csdn.net

我實際使用過程使用的代碼如下:

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/1jH6c9Pspan.baidu.com


推薦閱讀:

矩陣轉置的記號怎麼寫?

TAG:LaTeX |