最近帮朋友改小论文的格式,用到overleaf,现在总结以下我用的比较好用的方法以及遇到的问题。
公式分为行内公式和行间公式,其中行间公式又分为自动编号的和非自动编号的
在输入中,更加简便的写法就是在公式前后加上$,如$a+b=c$
公式前后分别加上\[和\],如\[a+b=c\]
\begin{equation}
a+b=c
\end{equation}
上标用字符^
下标用字符_
当上标或下标中包含多个字符,应当用花括号,如$A_{IJ}=B^{I+J}$
既包含上标又包含下标,两者顺序不重要,如$A_{IJ}^{I+J}$
\ sqrt [n] {expression_r_r_r} 表示开 n 次方
最大值、最小值函数等用\max、 \min输入,不能直接写max、min等。在$ $中如果直接写max等就会编程斜体变量形式,而函数名为正体非斜体,LaTeX定义好了\max、\min等。
例如:
(1,100)区间内x岁对应f(x)的最大值:
$\max \limits_{1<x<100}f(x)$
max 1 < x < 100 f ( x ) \max \limits_{1
\[
\min_{x \in R} f(x)
\]
其中,属于是,\in
A 在 B 下
\underset{A}{B}
例如:
\underset{0\leq j \leq k-1}{\arg\min}
\understack
\sum_{\substack{0<i<n \\ 0<j<n}} A_{ij}
A\cup B
M\cap N
\overline{U}
\infty
\emptyset
(也可以调用 amssymb 宏包后使用 \varnothing)\partial
\int,\iint,\iiint,\iiiint
,分别对应一重、二重、三重、四重积分;更多重积分可以用 \idotsint\oint
\sum
\prod
\cap
;并集符号,\cup
\times
;除号,\div
\neq
;小于等于,\leq
;大于等于,\geq
;\forall
任意\exists
存在\infty
无穷大\sim
相似 ~\to
箭头\left\{ ... \right\}
\documentclass[11pt]{article}
\usepackage{CJK}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
\begin{document}
\begin{CJK*}{UTF8}{gkai}
\begin{algorithm}
\caption{用归并排序求逆序数}
\begin{algorithmic}[1] %每行显示行号
\Require $Array$数组,$n$数组大小
\Ensure 逆序数
\Function {MergerSort}{$Array, left, right$}
\State $result \gets 0$
\If {$left < right$}
\State $middle \gets (left + right) / 2$
\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
\EndIf
\State \Return{$result$}
\EndFunction
\State
\Function{Merger}{$Array, left, middle, right$}
\State $i\gets left$
\State $j\gets middle$
\State $k\gets 0$
\State $result \gets 0$
\While{$i<middle$ \textbf{and} $j<right$}
\If{$Array[i]<Array[j]$}
\State $B[k++]\gets Array[i++]$
\Else
\State $B[k++] \gets Array[j++]$
\State $result \gets result + (middle - i)$
\EndIf
\EndWhile
\While{$i<middle$}
\State $B[k++] \gets Array[i++]$
\EndWhile
\While{$j<right$}
\State $B[k++] \gets Array[j++]$
\EndWhile
\For{$i = 0 \to k-1$}
\State $Array[left + i] \gets B[i]$
\EndFor
\State \Return{$result$}
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{CJK*}
\end{document}
这个需要稍作调整
(1)将前半部分放到overleaf编辑页面的最前面,论文格式的配置部分那里,即如下部分调整上去。
\documentclass[11pt]{article}
\usepackage{CJK}
\usepackage[top=2cm, bottom=2cm, left=2cm, right=2cm]{geometry}
\usepackage{algorithm}
\usepackage{algorithmicx}
\usepackage{algpseudocode}
\usepackage{amsmath}
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
(1)具体算法部分则在论文中需要添加的部分写。即如下部分按照论文的需要放置:
\begin{document}
\begin{algorithm}
\caption{用归并排序求逆序数}
\begin{algorithmic}[1] %每行显示行号
\Require $Array$数组,$n$数组大小
\Ensure 逆序数
\Function {MergerSort}{$Array, left, right$}
\State $result \gets 0$
\If {$left < right$}
\State $middle \gets (left + right) / 2$
\State $result \gets result +$ \Call{MergerSort}{$Array, left, middle$}
\State $result \gets result +$ \Call{MergerSort}{$Array, middle, right$}
\State $result \gets result +$ \Call{Merger}{$Array,left,middle,right$}
\EndIf
\State \Return{$result$}
\EndFunction
\State
\Function{Merger}{$Array, left, middle, right$}
\State $i\gets left$
\State $j\gets middle$
\State $k\gets 0$
\State $result \gets 0$
\While{$i<middle$ \textbf{and} $j<right$}
\If{$Array[i]<Array[j]$}
\State $B[k++]\gets Array[i++]$
\Else
\State $B[k++] \gets Array[j++]$
\State $result \gets result + (middle - i)$
\EndIf
\EndWhile
\While{$i<middle$}
\State $B[k++] \gets Array[i++]$
\EndWhile
\While{$j<right$}
\State $B[k++] \gets Array[j++]$
\EndWhile
\For{$i = 0 \to k-1$}
\State $Array[left + i] \gets B[i]$
\EndFor
\State \Return{$result$}
\EndFunction
\end{algorithmic}
\end{algorithm}
\end{CJK*}
\end{document}
解决方法
1.关闭cookie
虽然cookie关闭了不太方便,用的时候还是需要打开的。但是为了用overleaf写文章没办法。
步骤:
google浏览器右上角三个点——设置——隐私设置和安全性——Cookie 及其他网站数据——阻止第三方 Cookie。——然后就可以在overleaf右侧预览pdf了。
2.可能是IDM插件问题
可以关闭插件试试。
3.网络问题
打开无线网就能加载出pdf,用热点就无法加载pdf…(这就很气!!!!)