0%

latex示例

Latex是一种文档排版系统,对比与markdown和html,其优势在于:排版的精准、复杂不同于html和markdown对于渲染方式的不同可能发生变化,latex可以生产pdf矢量化文件,保证了精准。Latex可以让人从繁杂的排版工作中解脱出来,专注于内容创作,但由于其学习曲线比较陡峭,因而造成了多数人的望而却步,建议开始学习的时候可以找到一个合适的模板直接套用,感受其强大之处。下面给出一个简单的例子

1
2
3
4
5
6
7
8
9
10
% 注释
% 中文支持可用ctex
\documentclass[UTF8]{ctexart} % 支持中文
\begin{document} % 开始正文
\section{Title1} % 一级标题
some text 巴拉巴拉
\[ % 数学公式
a^2 + b^2 = c^2
]\
\end{document}

列表

列表可分为有序列表和无序列表,他们可以嵌套使用

无序列表

1
2
3
4
\begin{itemize}
\item item1
\item item2
\end{itemize}

有序列表

1
2
3
4
5
\begin{enumerate}
\item item
\item[1a.] item2 % 可选参数手动设置编号
\item item\theenumi % 获取编号 \theenumiii 通过调节获取不同嵌套层编号
\end{enumerate}

效果如图

image-20200226181946917

编号详细参照下图

image-20200226162632312

代码

首先在导言区添加

1
\usepackage{listings}

然后在正文中

1
2
3
4
5
6
7
8
\lstset{numbers=left} % 添加设置
\begin{lstlisting}[language=c]
/* hello.c */
#include <stdio.h>
main() {
printf("Hello, world!\n");
}
\end{lstlisting}

效果如图

image-20200226181643858

行内代码

1
2
\lstset{language=C}
表达式 \lstinline!i++!

对汉字课添加逃逸字符,这样之间的文字会被当做普通latex代码处理

1
2
3
4
\lstset{escapechar=’} % 设置逃逸字符
\begin{lstlisting}[language=c]
int n; // ‘一个整数’
\end{lstlisting}