231 lines
8.3 KiB
TeX
231 lines
8.3 KiB
TeX
|
|
%!TEX program = xelatex
|
|||
|
|
|
|||
|
|
%表示用xelatex编译文件
|
|||
|
|
\documentclass[a4paper]{ctexart}
|
|||
|
|
\usepackage{array}
|
|||
|
|
\begin{document}
|
|||
|
|
\title{标题页}
|
|||
|
|
\author{Ryan\thanks{注脚}%
|
|||
|
|
\and Fan\thanks{注脚}%
|
|||
|
|
}
|
|||
|
|
\date{\today}
|
|||
|
|
\maketitle
|
|||
|
|
\abstract
|
|||
|
|
一般用于紧跟\textbackslash maketitle 命令之后介绍文档的摘要\par
|
|||
|
|
中文\LaTeX{}排版。
|
|||
|
|
\section{用\LaTeX 排版文字}
|
|||
|
|
{}分段\\换行\textbackslash\par
|
|||
|
|
冒号``please press the `x' key.''\par
|
|||
|
|
连字符-用来组成复合词,\\%
|
|||
|
|
短破折号--用来连接数字表示范围,\\%
|
|||
|
|
长破折号---用来连接单词\par
|
|||
|
|
省略号\dots{}和\ldots\par
|
|||
|
|
波浪号~\par
|
|||
|
|
强调\underline{文字,但是无法换行,}%
|
|||
|
|
\uline{ulem 宏包解决了这一问题,它提供的 uline 命令能够轻松生成自动换行的下划线。}%
|
|||
|
|
\emph{emph 命令用来将文字变为斜体以示强调。%
|
|||
|
|
\emph{如果在本身已经用 emph 命令强调的文字内部嵌套使用 emph 命令,}%
|
|||
|
|
内部则使用直立体文字。%
|
|||
|
|
}\par
|
|||
|
|
在合适的位置插入一个不会断行的空格Fig.~1, Ryan~Fan\par
|
|||
|
|
断行\\[15pt]可以带可选参数 ⟨length⟩,用于在换行处向下增加垂直间距%
|
|||
|
|
\newline{}或者newline命令,不用带参数\par
|
|||
|
|
\newpage 断页,在在双栏排版中只起到另起一栏的作用\par
|
|||
|
|
断词 I think this is: supercalifragil\-isticexpialidocious. %
|
|||
|
|
And I think this is: supercalifragilisticexpialidocious.\par
|
|||
|
|
\newpage
|
|||
|
|
\tableofcontents
|
|||
|
|
\section[目录和页眉页脚]{章节}
|
|||
|
|
\subsection{子章节}
|
|||
|
|
\subsubsection{子子章节}
|
|||
|
|
\paragraph{段落}
|
|||
|
|
\subparagraph{子段落}
|
|||
|
|
\section*{标题不带编号}
|
|||
|
|
\addcontentsline{toc}{section}{标题不带编号}
|
|||
|
|
\part{分块}
|
|||
|
|
\section{交叉引用}
|
|||
|
|
A reference to this subsection\label{sec:this} looks like: %
|
|||
|
|
``see section~\ref{sec:this} on page~\pageref{sec:this}.''
|
|||
|
|
\section{脚注和边注}
|
|||
|
|
“天地玄黄,宇宙洪荒。日月盈昃,辰宿列张。”\footnote{出自《千字文》。}\par
|
|||
|
|
\begin{tabular}{l}
|
|||
|
|
\hline
|
|||
|
|
有些情况下(比如在表格环境、各种盒子\\
|
|||
|
|
内)使用 footnote 并不能正确生成脚\\
|
|||
|
|
注。我们以分两步进行,先使用 \\
|
|||
|
|
footnotemark 为脚注计数,再在合适\\
|
|||
|
|
的位置用 footnotetext 生成脚注。\footnotemark\\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}
|
|||
|
|
\footnotetext{出自《千字文》。}
|
|||
|
|
\marginpar{\footnotesize 边注较窄,不要写过多文字,最好设置较小的字号。}
|
|||
|
|
\section{特殊环境}
|
|||
|
|
\subsection{列表}
|
|||
|
|
有序列表
|
|||
|
|
\begin{enumerate}
|
|||
|
|
\item An item.
|
|||
|
|
\begin{enumerate}
|
|||
|
|
\item A nested item.\label{itref}
|
|||
|
|
\item[*] A starred item.
|
|||
|
|
\end{enumerate}
|
|||
|
|
\item Reference(\ref{itref}).
|
|||
|
|
\end{enumerate}
|
|||
|
|
无序列表
|
|||
|
|
\begin{itemize}
|
|||
|
|
\item An item.
|
|||
|
|
\begin{itemize}
|
|||
|
|
\item A nested item.
|
|||
|
|
\item[+] A `plus' item. + A ‘plus’ item.
|
|||
|
|
\item Another item. – Another item.
|
|||
|
|
\end{itemize}
|
|||
|
|
\item Go back to upper level.
|
|||
|
|
\end{itemize}
|
|||
|
|
关键字环境
|
|||
|
|
\begin{description}
|
|||
|
|
\item[Enumerate] Numbered list.
|
|||
|
|
\item[Itemize] Non-numbered list.
|
|||
|
|
\end{description}
|
|||
|
|
重定义无序列表的符号
|
|||
|
|
\renewcommand{\labelitemi}{\dag}
|
|||
|
|
\renewcommand{\labelitemii}{\ddag}
|
|||
|
|
\begin{itemize}
|
|||
|
|
\item First item
|
|||
|
|
\begin{itemize}
|
|||
|
|
\item Subitem
|
|||
|
|
\item Subitem
|
|||
|
|
\end{itemize}
|
|||
|
|
\item Second item
|
|||
|
|
\end{itemize}
|
|||
|
|
重定义有序列表的符号
|
|||
|
|
\renewcommand{\labelenumi}{\Alph{enumi}>}
|
|||
|
|
\begin{enumerate}
|
|||
|
|
\item First item
|
|||
|
|
\item Second item
|
|||
|
|
\end{enumerate}
|
|||
|
|
\subsection{对齐环境}
|
|||
|
|
center、flushleft 和 flushright 环境分别用于生成%
|
|||
|
|
居中、左对齐和右对齐的文本环境。
|
|||
|
|
\begin{center}
|
|||
|
|
Centered text using a
|
|||
|
|
\verb|center| environment.
|
|||
|
|
\end{center}
|
|||
|
|
\begin{flushleft}
|
|||
|
|
Left-aligned text using a
|
|||
|
|
\verb|flushleft| environment.
|
|||
|
|
\end{flushleft}
|
|||
|
|
\begin{flushright}
|
|||
|
|
Right-aligned text using a
|
|||
|
|
\verb|flushright| environment.
|
|||
|
|
\end{flushright}
|
|||
|
|
还可以用以下命令直接改变文字的对齐方式:
|
|||
|
|
\centering
|
|||
|
|
Centered text paragraph.\par
|
|||
|
|
\raggedright
|
|||
|
|
Left-aligned text paragraph.\par
|
|||
|
|
\raggedleft
|
|||
|
|
Right-aligned text paragraph.\par
|
|||
|
|
\begin{flushleft}
|
|||
|
|
center 等环境会在上下文产生一个额外间距,%
|
|||
|
|
而 \textbackslash centering 等命令不产生,只是改变对齐方式。%
|
|||
|
|
\end{flushleft}
|
|||
|
|
\raggedright
|
|||
|
|
比如在浮动体环境 table 或 figure 内实现居中对齐,%
|
|||
|
|
用 \textbackslash centering 命令即可,没必要再用 center 环境。
|
|||
|
|
\subsection{引用环境}
|
|||
|
|
\begin{description}
|
|||
|
|
\item[quote] 用于引用较短的文字,首行不缩进\\
|
|||
|
|
Francis Bacon says:
|
|||
|
|
\begin{quote}
|
|||
|
|
Knowledge is power.
|
|||
|
|
\end{quote}
|
|||
|
|
\item[quotation] 用于引用若干段文字,首行缩进\\
|
|||
|
|
《木兰诗》:
|
|||
|
|
\begin{quotation}
|
|||
|
|
万里赴戎机,关山度若飞。
|
|||
|
|
朔气传金柝,寒光照铁衣。
|
|||
|
|
将军百战死,壮士十年归。
|
|||
|
|
|
|||
|
|
归来见天子,天子坐明堂。
|
|||
|
|
策勋十二转,赏赐百千强。......
|
|||
|
|
\end{quotation}
|
|||
|
|
\end{description}
|
|||
|
|
\subsection{代码环境}
|
|||
|
|
\begin{verbatim}
|
|||
|
|
#include <iostream>
|
|||
|
|
int main()
|
|||
|
|
{
|
|||
|
|
std::cout << "Hello, world!"
|
|||
|
|
<< std::endl;
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
\end{verbatim}
|
|||
|
|
\begin{verbatim*}
|
|||
|
|
for (int i=0; i<4; ++i)
|
|||
|
|
printf("Number %d\n",i);
|
|||
|
|
\end{verbatim*}
|
|||
|
|
要排版简短的代码或关键字\textbackslash verb ⟨delim⟩⟨code⟩⟨delim⟩\par
|
|||
|
|
⟨delim⟩ 标明代码的分界位置,前后必须一致,除字母、空格或星号外,%
|
|||
|
|
可任意选择使得不与代码本身冲突,习惯上使用 | 符号。\par
|
|||
|
|
\verb|\LaTeX| \\
|
|||
|
|
\verb+(a || b)+ \verb*+(a || b)+
|
|||
|
|
\subsection{表格}
|
|||
|
|
\subsubsection{列表格}
|
|||
|
|
tabular 环境使用 ⟨column-spec⟩ 参数指定表格的列数以及每列的格式。\par
|
|||
|
|
\begin{tabular}{lcr|p{6em}}
|
|||
|
|
\hline
|
|||
|
|
left & center & right & par box with fixed width\\
|
|||
|
|
L & C & R & P\\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}\par
|
|||
|
|
@ 格式可在单元格前后插入任意的文本,%
|
|||
|
|
但同时它也消除了单元格前后额外添加的间距。\par
|
|||
|
|
\begin{tabular}{@{} r@{:}lr @{}}
|
|||
|
|
\hline
|
|||
|
|
1 & 1 & one\\
|
|||
|
|
11 & 3 & eleven\\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}\par
|
|||
|
|
格式参数重复\par
|
|||
|
|
\begin{tabular}{|*{5}{c|}*{2}{p{3em}|}}
|
|||
|
|
\hline
|
|||
|
|
one & two & three & four & five & Hello! \LaTeX & Hello!\\
|
|||
|
|
1 & 2 & 3 & 4 & 5 & hello! & \LaTeX\\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}\par
|
|||
|
|
辅助格式 > 和 <,用于给列格式前后加上修饰命令\par
|
|||
|
|
\begin{tabular}{>{\itshape}r<{*}l}
|
|||
|
|
%需要使用array宏包
|
|||
|
|
\hline
|
|||
|
|
italic & normal \\
|
|||
|
|
column & column \\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}\par
|
|||
|
|
\begin{tabular}{>{\centering\arraybackslash}p{16em}}
|
|||
|
|
\hline
|
|||
|
|
辅助格式甚至支持插入 \textbackslash centering 等%
|
|||
|
|
命令改变 p 列格式的对齐方式,一般还要加额外的命令 %
|
|||
|
|
\textbackslash arraybackslash 以免出错。\\
|
|||
|
|
\hline
|
|||
|
|
\textbackslash centering 等对齐命令会破坏表格环境里 %
|
|||
|
|
\textbackslash\textbackslash 换行命令的定义,%
|
|||
|
|
\textbackslash arraybackslash 用来恢复之。%
|
|||
|
|
如果不加 \textbackslash arraybackslash 命令,%
|
|||
|
|
也可以用 \textbackslash tabularnewline 命令%
|
|||
|
|
代替原来的 \textbackslash\textbackslash 实现表格换行。\\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular}
|
|||
|
|
\LaTeX 本身提供了 tabular* 环境用来排版定宽表格,但是不太方便使用,%
|
|||
|
|
比如要用到 @ 格式插入额外命令,令单元格之间的间距为 \textbackslash fill,%
|
|||
|
|
但即使这样仍然有瑕疵:
|
|||
|
|
\begin{tabular*}{14em}{@{\extracolsep{\fill}}|c|c|c|c|}
|
|||
|
|
\hline
|
|||
|
|
A & B & C & D \\
|
|||
|
|
\hline
|
|||
|
|
a & b & c & d \\
|
|||
|
|
\hline
|
|||
|
|
\end{tabular*}
|
|||
|
|
is this… a test
|
|||
|
|
\appendix
|
|||
|
|
\section{附录}
|
|||
|
|
\end{document}
|