Y 分钟速成 latex

逆变苔原
• 阅读 696

源代码下载: learn-latex-cn.tex

% 所有的注释行以 % 开头
% 没有多行注释语法

% LaTeX 不是一个“所见即所得” 的文字处理软件
% 这与 MS Word,和 OpenOffice Writer 不同

% 每一个LaTeX命令由反斜线 (\) 开始

% LaTeX 文档以对编译对象文档的定义开始
% 这些文档包括书籍,报告,演示等
% 文档的选项出现在中括号里
% 下例中,我们设定文章字体为12pt
\documentclass[12pt]{article}

% 之后我们定义该文档所用的库
% 如果想要引入图片,彩色字,或是其他语言的源码在您的文档中
% 您需要增强 LaTeX 的功能。这将通过添加库来实现
% 下例中将要为展示数据引入 float 和 caption 库
% 为超链接引入 hyperref 库
\usepackage{caption}
\usepackage{float}
\usepackage{hyperref}

% 我们还可以定义其他文档属性!
\author{Chaitanya Krishna Ande, Colton Kohnke, Sricharan Chiruvolu \& \\
Svetlana Golubeva}
\date{\today}
\title{Learn \LaTeX \hspace{1pt} in Y Minutes!}

% 现在我们开始正文
% 这一行之前都是“序章”
\begin{document} 
% 如果想设定作者,时间,标题字段我们可使用 LaTeX 来建立标题页
\maketitle

% 分章节时,可以建立目录
% 我们需要编译文档两次来保证他们顺序正确
% 使用目录来分开文档是很好的做法
% 这里我们使用 \newpage 操作符
\newpage
\tableofcontents

\newpage

% 许多研究论文有摘要部分。这可以使用预定义的指令来实现
% 它应被放在逻辑上正确的位置,即顶部标题等的下面和文章主体的上面
% 该指令可以再报告和文章中使用
\begin{abstract}
 \LaTeX \hspace{1pt} documentation written as \LaTeX! How novel and totally not
 my idea!
\end{abstract}

% 章节指令非常直观
% 所有章节标题会自动地添加到目录中
\section{Introduction}
Hello, my name is Colton and together we're going to explore \LaTeX!

\section{Another section}
This is the text for another section. I think it needs a subsection.

\subsection{This is a subsection} % 子章节同样非常直观
I think we need another one

\subsubsection{Pythagoras}
Much better now.
\label{subsec:pythagoras}

% 使用型号我们可以借助 LaTeX 内置的编号功能
% 这一技巧也在其他指令中有效
\section*{This is an unnumbered section} 
然而并不是所有章节都要被标序号

\section{Some Text notes}
%\section{Spacing} % 需要增加有关空白间隔的信息
\LaTeX \hspace{1pt} is generally pretty good about placing text where it should
go. If 
a line \\ needs \\ to \\ break \\ you add \textbackslash\textbackslash 
\hspace{1pt} to the source code. \\ 

\section{Lists}
Lists are one of the easiest things to create in \LaTeX! I need to go shopping
tomorrow, so let's make a grocery list.
\begin{enumerate} % 此处创建了一个“枚举”环境
  % \item 使枚举增加一个单位
  \item Salad.
  \item 27 watermelon.
  \item A single jackrabbit.
  % 我们甚至可以通过使用 [] 覆盖美剧的数量
  \item[how many?] Medium sized squirt guns.

  Not a list item, but still part of the enumerate.

\end{enumerate} % 所有环境都有终止符

\section{Math}

使用 \LaTeX \hspace{1pt} 的一个最主要的方面是学术论文和技术文章
通常在数学和科学的领域 
因此我们需要在文章中插入特殊符号! \\

数学符号极多,远超出你能在键盘上找到的那些;
集合关系符,箭头,操作符,希腊字符等等 \\

集合与关系在数学文章中很重要
如声明所有 x 属于 X $\forall$ x $\in$ X. \\
% 注意我们需要在这些符号之前和之后增加 $ 符号
% 因为在编写时我们处于 text-mode,然而数学符号只在 math-mode 中存在
% text mode 进入 math-mode 使用 $ 操作符
% 反之亦然,变量同时会在 math-mode 中被渲染。
% 我们也可以使用 \[\] 来进入 math mode

\[a^2 + b^2 = c^2 \]

My favorite Greek letter is $\xi$. I also like $\beta$, $\gamma$ and $\sigma$.
I haven't found a Greek letter yet that \LaTeX \hspace{1pt} doesn't know
about! \\

常用函数操作符同样很重要: 
trigonometric functions ($\sin$, $\cos$, $\tan$), 
logarithms 和 exponentials ($\log$, $\exp$), 
limits ($\lim$), etc. 
在 LaTeX 指令中预定义 
让我们写一个等式看看发生了什么:
$\cos(2\theta) = \cos^{2}(\theta) - \sin^{2}(\theta)$ \\

分数可以写成以下形式:

% 10 / 7
$$ ^{10}/_{7} $$

% 相对比较复杂的分数可以写成
% \frac{numerator}{denominator}
$$ \frac{n!}{k!(n - k)!} $$ \\

我们同样可以插入公式(equations)在环境 ``equation environment'' 下。

% 展示数学相关时,使用方程式环境
\begin{equation} % 进入 math-mode
    c^2 = a^2 + b^2.
    \label{eq:pythagoras} % 为了下一步引用
\end{equation} % 所有 \begin 语句必须有end语句对应

引用我们的新等式!
Eqn.~\ref{eq:pythagoras} is also known as the Pythagoras Theorem which is also
the subject of Sec.~\ref{subsec:pythagoras}. A lot of things can be labeled: 
figures, equations, sections, etc.

求和(Summations)与整合(Integrals)写作 sum 和 int :

% 一些编译器会提醒在等式环境中的空行

\begin{equation} 
  \sum_{i=0}^{5} f_{i}
\end{equation} 
\begin{equation} 
  \int_{0}^{\infty} \mathrm{e}^{-x} \mathrm{d}x
\end{equation} 

\section{Figures}

让我们插入图片。图片的放置非常微妙。
我在每次使用时都会查找可用选项。

\begin{figure}[H] % H 是放置选项的符号
    \centering % 图片在本页居中
    % 宽度放缩为页面的0.8倍
    %\includegraphics[width=0.8\linewidth]{right-triangle.png} 
    % 需要使用想象力决定是否语句超出编译预期
    \caption{Right triangle with sides $a$, $b$, $c$}
    \label{fig:right-triangle}
\end{figure}

\subsection{Table}
插入表格与插入图片方式相同

\begin{table}[H]
  \caption{Caption for the Table.}
  % 下方的 {} 描述了表格中每一行的绘制方式
  % 同样,我在每次使用时都会查找可用选项。
  \begin{tabular}{c|cc} 
    Number &  Last Name & First Name \\ % 每一列被 & 分开
    \hline % 水平线
    1 & Biggus & Dickus \\
    2 & Monty & Python
  \end{tabular}
\end{table}

\section{Getting \LaTeX \hspace{1pt} to not compile something (i.e. Source Code)}
现在增加一些源代码在 \LaTeX \hspace{1pt} 文档中,
我们之后需要 \LaTeX \hspace{1pt} 不翻译这些内容而仅仅是把他们打印出来
这里使用 verbatim environment。 

% 也有其他库存在 (如. minty, lstlisting, 等)
% 但是 verbatim 是最基础和简单的一个
\begin{verbatim} 
  print("Hello World!")
  a%b; % 在这一环境下我们可以使用 %
  random = 4; #decided by fair random dice roll
\end{verbatim}

\section{Compiling} 

现在你大概想了解如何编译这个美妙的文档
然后得到饱受称赞的 \LaTeX \hspace{1pt} pdf文档
(这个文档确实被编译了)。 \\
得到最终文档,使用 \LaTeX \hspace{1pt} 组合步骤:
  \begin{enumerate}
    \item Write the document in plain text (the ``source code'').
    \item Compile source code to produce a pdf. 
     The compilation step looks like this (in Linux): \\
     \begin{verbatim} 
        > pdflatex learn-latex.tex
     \end{verbatim}
  \end{enumerate}

许多 \LaTeX \hspace{1pt}编译器把步骤1和2在同一个软件中进行了整合
所以你可以只看步骤1完全不看步骤2
步骤2同样在以下情境中使用情景 \footnote{以防万一,当你使用引用时
 (如 Eqn.~\ref{eq:pythagoras}),你将需要多次运行步骤2
来生成一个媒介文件 *.aux 。}.
% 同时这也是在文档中增加脚标的方式

在步骤1中,用普通文本写入格式化信息
步骤2的编译阶段则注意在步骤1 中定义的格式信息。

\section{Hyperlinks}
同样可以在文档中加入超链接
使用如下命令在序言中引入库:
\begin{verbatim} 
    \usepackage{hyperref}
\end{verbatim}

有两种主要的超链接方式 \\
\url{https://learnxinyminutes.com/docs/latex/}, 或  
\href{https://learnxinyminutes.com/docs/latex/}{shadowed by text}
% 你不可以增加特殊空格和符号,因为这将会造成编译错误

这个库同样在输出PDF文档时制造略缩的列表,或在目录中激活链接


\section{End}

这就是全部内容了!

% 通常,你会希望文章中有个引用部分
% 最简单的建立方式是使用书目提要章节
\begin{thebibliography}{1}
  % 与其他列表相同, \bibitem 命令被用来列出条目
  % 每个记录可以直接被文章主体引用
  \bibitem{latexwiki} The amazing \LaTeX \hspace{1pt} wikibook: {\em 
https://en.wikibooks.org/wiki/LaTeX}
  \bibitem{latextutorial} An actual tutorial: {\em http://www.latex-tutorial.com}
\end{thebibliography}

% 结束文档
\end{document}

LaTeX 进阶

有建议?或者发现什么错误?在Github上开一个issue,或者发起 pull request


原文由 Chaitanya Krishna Ande 编写,并由 3 个好心人 修改。
Translated by:Dp Leo
© 2022 Chaitanya Krishna Ande, Colton Kohnke, Sricharan Chiruvolu, Ramanan Balakrishnan, Svetlana Golubeva
本作品采用 CC BY-SA 3.0 协议进行许可。

点赞
收藏
评论区
推荐文章
blmius blmius
4年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Stella981 Stella981
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Easter79 Easter79
4年前
SpringBoot整合Redis乱码原因及解决方案
问题描述:springboot使用springdataredis存储数据时乱码rediskey/value出现\\xAC\\xED\\x00\\x05t\\x00\\x05问题分析:查看RedisTemplate类!(https://oscimg.oschina.net/oscnet/0a85565fa
Wesley13 Wesley13
4年前
Java日期时间API系列36
  十二时辰,古代劳动人民把一昼夜划分成十二个时段,每一个时段叫一个时辰。二十四小时和十二时辰对照表:时辰时间24时制子时深夜11:00凌晨01:0023:0001:00丑时上午01:00上午03:0001:0003:00寅时上午03:00上午0
Wesley13 Wesley13
4年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Python进阶者 Python进阶者
2年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这