LaTeX簡單使用

前言

因爲離散要求寫一篇算法的小文章,實在無法忍受word的數學公式輸入之後,我自(ctrl)學(c)了一下LaTeX的寫法,這裏簡單介紹我寫文章時用到的代碼,時隔多日,若有偏差歡迎指出


中文LaTeX

百度上輸出中文的方法各種各樣,在嘗試n多種方法無果後(CJK什麼的),使用了XeLaTeX,只需使用如下文檔類型,中括號內爲可選參數,UTF8表示使用utf8編碼,花括號內爲文檔類型,ctexart表示其文檔類型爲中文article
\documentclass[UTF8]{ctexart}

正文區

形如\begin{環境名}...\end{環境名}稱爲環境,而\begin{document}...\end{document}則是正文區,裏面的內容就是文章的內容,而這之前的部分則是用來導入各種宏包

標題摘要

下面代碼較爲易懂,\maketitle也即打印標題

\title{Notes On LaTeX Typesetting}
\author{Some One}
\date{November 13, 2011}
\maketitle

當然還可以寫摘要

\begin{abstract}
some abstract...
\end{abstract}

章節目錄

代碼如下,其中\chapter在article中不能使用

\part{部分標題}
\chapter{章標題}這一章我們介紹這些內容。
\section{節標題}這一節我們介紹這些內容。
\subsection{小節標題}這一小節我們介紹這些內容。
\subsubsection{子節標題}這一子節我們介紹這些內容。
\paragraph{段標題}這一段我們介紹這些內容。
\subparagraph{小段標題}這一小段我們介紹這些內容。

使用\tableofcontents 可以生成目錄,而輸入形如

\renewcommand\thesection{§\arabic{section}}

則可以自定義某一類章節標題的格式,在此不作示範

列表環境

這裏列舉三種列表,分別爲無序列表,有序列表,描述列表

\begin{itemize} %無序列表
\item 無編號的列表
\item 帶編號的列表
\item 帶標籤的列表
\end{itemize}
\begin{enumerate} %有序列表
\item 無編號的列表
\item 帶編號的列表
\item 帶標籤的列表
\end{enumerate}
\begin{description} %描述列表
\item[無序列表] 無編號的列表。%中括號內爲描述內容(相當於一種“序號”)
\item[有序列表] 帶編號的列表。
\item[描述列表] 帶標籤的列表。
\end{description}

插入圖片

插入已有圖片需要導入宏包graphicx,即\usepackage{graphicx},使用如下

\includegraphics[選項]{圖形文件} %與文字並行的圖片

%將圖片單獨居中插入
\begin{center}
\includegraphics[選項]{圖形文件}
\end{center}

%插入浮動圖片
\begin{figure}[htbp!]
\centering
\includegraphics[選項]{圖形文件}
\caption{圖片} %可以在圖片下方加標註並自動編號
\end{figure}

輸入數學公式

此處即makedown寫法即可,$a=1$行內公式$$a=1$$塊級公式,具體寫法參考常用數學符號的 LaTeX 表示方法

插入僞代碼

這裏需要導入宏包

\usepackage{caption}
\usepackage{algorithm}
\usepackage{algorithmicx}  
\usepackage{algpseudocode}

插入時則

\begin{algorithm}  
\caption{算法名字}
\begin{algorithmic}
\Require 輸入
\Ensure 輸出
\end{algorithmic}
\State ...
\For{...}
	\State ...
\EndFor
\If
...
\EndIf
\While
...
\EndWhile
\end{algorithm}

其中還可以對格式進行定製

\floatname{algorithm}{算法}  
\renewcommand{\algorithmicrequire}{\textbf{輸入:}}  
\renewcommand{\algorithmicensure}{\textbf{輸出:}}  

插入代碼

這裏需要導入宏包

\usepackage{listings}

還可以對代碼進行定製

\usepackage{xcolor}
\lstset{
    frame=none,                                          % 不顯示背景邊框
    backgroundcolor=\color[RGB]{245,245,244},            % 設定背景顏色
    keywordstyle=\color[RGB]{116,0,0},                   % 設定關鍵字顏色
    commentstyle=\it\color[RGB]{0,96,96},                % 設置代碼註釋的格式
    stringstyle=\rmfamily\slshape\color[RGB]{255,153,18},   % 設置字符串格式
    showstringspaces=false,                              % 不顯示字符串中的空格
    language=c++,                                        % 設置語言
}

插入代碼時使用lstlisting環境即可

\begin{lstlisting}

#include <iostream>
using namespace std;
int main() {
  cout << "hello" << endl;
  return 0;
}

\end{lstlisting}

參考文獻

\begin{thebibliography}{123456}
\bibitem[Knuth1]{DK1} D. Knuth, T.A.O.C.P. , Vol. 1, Addison-Wesley, 1997.
\bibitem[Knuth2]{DK2} D. Knuth, T.A.O.C.P. , Vol. 2, Addison-Wesley, 1997.
\bibitem[Knuth3]{DK3} D. Knuth, T.A.O.C.P. , Vol. 3, Addison-Wesley, 1998.
\end{thebibliography}

中括號內爲文獻記號,花括號內爲引用名稱,至於那個123456表示我也看不懂。

字體環境

\textrm{Roman Family}
\textsf{Sans Serif Family}
\texttt{Typewriter Family}

花括號內爲字體內容


感謝

本文內容及示例參考LaTeX 排版學習筆記以及 LaTeX實戰經驗:如何插入程序代碼,寫文章時也參考諸多博客,感謝這些博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章