LaTex 小记

前前后后用 LaTex 正经写过两个小文章了,一路下来也走了不少,在此做个记录

初始包库的导入

我个人默认的文档开头是这样子的

\documentclass[12pt]{article}
\usepackage[UTF8]{ctex}
\usepackage{graphicx}
\usepackage{fontspec}
\usepackage[a4paper,left=.5in,right=.5in,top=.3in,bottom=0.3in]{geometry}
\setlength\parindent{0pt}
\setlength{\parskip}{\baselineskip}
\usepackage{hyperref}
\pagestyle{plain}
\usepackage{amsmath}

对于文章复杂的,开头免不了血雨腥风

\documentclass[12pt]{article} 
\usepackage[UTF8]{ctex} 
\usepackage{graphicx} 
\usepackage{fontspec} 
\usepackage[utf8]{inputenc} 
\usepackage[a4paper,left=.5in,right=.5in,top=.3in,bottom=0.3in]{geometry} 
\setlength\parindent{0pt} 
\setlength{\parskip}{\baselineskip} 
\setmainfont{Helvetica Neue} 
\usepackage{hyperref} 
\pagestyle{plain} 
\usepackage{amsmath} 

\usepackage{appendix}

\makeatletter 
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% 
{3.25ex \@plus1ex \@minus.2ex}% 
{1.5ex \@plus.2ex}% 
{\normalfont\normalsize\bfseries}}
\makeatother

\usepackage{indentfirst}
\setlength{\parindent}{2em}

\usepackage{csvsimple}
\usepackage{float}

\hypersetup{colorlinks=true, linkcolor=black}

上来引用一大堆包库,让我想起了写 Python 要引入 Numpy,Matplotlib,Pandas,sklearn,Tensorflow,Keras... 还有若干默认配置

文章信息部分

多个作者

\author{A \and B \and C \and D \and ...}

文章正文部分

编译时发现文章不完整,可能是没有结束 document

\begin{document}
...
\end{document}

LaTex 配图

Tex 中的图片位置是有专门的引擎来控制的,如果不想让图片四处跑,需要在 \begin{figure}[H] 中写明 [H]。这种方法也是顺便给图片插入序号的

\begin{figure}[H] 
\centering 
\includegraphics[width=15cm]{image_name.png} 
\caption{image_name} 
\end{figure} 

Markdown 中若想让图片剧中,需要用到 HTML 中的标记 <p align="center"> 居中的文本 </p>。LaTex 中的图片居中是:

{\centering\includegraphics[width=15cm]{image_name.png}}

Latex 方程

插入带序号的方程

\begin{equation} 
y = x
\end{equation} 

简单的分式结构如下:

\frac{分子}{分母}

往复杂了写可以很长很长:

$$ 593.2606 \pm 2.045 \cdot \sqrt{\frac{2760264}{31-2} \cdot (\frac{1}{31} + \frac{(8500-8891.13)^2}{(31-1) \cdot 55957871})}$$

编译后效果如下:

$$593.2606 \pm 2.045 \cdot \sqrt{\frac{2760264}{31-2} \cdot (\frac{1}{31} + \frac{(8500-8891.13)^2}{(31-1) \cdot 55957871})}$$

另外,插入表格的话,我一直使用在线转换工具转换成 Tex 格式,然后直接粘贴的。不知道有没有能直接读取数据文件并处理的包库

代码部分

文章需要插入代码块时

\begin{verbatim}
print('hello world')
\end{verbatim}

利用 Pandoc 从 Markdown 生成 PDF 时的代码块没有自动换行的功能,手动增加参数即可:

\usepackage{fvextra}
\DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,commandchars=\\\{\}}

其他

部分需要靠右的文本,如信件的结尾,

\rightline{靠右的文字}

中文 URL 链接打开乱码,需要手动对非 ASCII 字符做 URL Encode 才可以

文章的结束

插入引用时,用特殊的格式规范,需要目录下有相应的文件,如 gbt7714-2005.bst ,那么在对应的地方如下代码即可

\bibliography{your_biblib_name}
\bibliographystyle{gbt7714-2005}

文章有附录时:

\usepackage{appendix}
\begin{document}
    \begin{appendix}
        \section{名词索引}
    \end{appendix}
\end{document}

结语

这篇文章是用最新的 Ulysses 13 写的。之前写的偏技术类的博客少的重要原因,就是 Ulysses 惨不忍睹的代码块支持。而我在 macOS 和 iOS 上都是用 Ulysses 来管理博客的,所以遇到跟代码相关的就没有写的欲望了。今天终于发布了 V13,写这篇试试体验如何。

Comments
Write a Comment