最全overleaf在线编辑数学公式以及遇到错误的解决方法!

最近帮朋友改小论文的格式,用到overleaf,现在总结以下我用的比较好用的方法以及遇到的问题。

1.公式

1.1基本语法

公式分为行内公式和行间公式,其中行间公式又分为自动编号的和非自动编号的

1.1.1行内公式

在输入中,更加简便的写法就是在公式前后加上$,如$a+b=c$

1.1.2行间公式

  • 非自动编号的
公式前后分别加上\[和\],如\[a+b=c\]
  • 自动编号的
\begin{equation}
a+b=c 
\end{equation}

1.2数学公式

1.2.1上下标

  • 上标用字符^
  • 下标用字符_
  • 当上标或下标中包含多个字符,应当用花括号,如$A_{IJ}=B^{I+J}$
  • 既包含上标又包含下标,两者顺序不重要,如$A_{IJ}^{I+J}$

1.2.2数学基础函数符号

最全overleaf在线编辑数学公式以及遇到错误的解决方法!_第1张图片
最全overleaf在线编辑数学公式以及遇到错误的解决方法!_第2张图片

  • \ sqrt [n] {expression_r_r_r} 表示开 n 次方

1.2.3min,max

基本输入

最大值、最小值函数等用\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_{11<x<100maxf(x)

下方输入所属关系
\[
\min_{x \in R} f(x) 
\]

其中,属于是,\in

1.2.4在公式符号底部写公式

A 在 B 下

  \underset{A}{B}

例如:

\underset{0\leq j \leq k-1}{\arg\min}

在这里插入图片描述

1.2.5在符号下部换行

\understack

例如:
在这里插入图片描述

\sum_{\substack{0<i<n \\ 0<j<n}} A_{ij}

1.2.6箭头

最全overleaf在线编辑数学公式以及遇到错误的解决方法!_第3张图片

1.2.7集合

A\cup B
M\cap N
\overline{U}

最全overleaf在线编辑数学公式以及遇到错误的解决方法!_第4张图片

1.2.8各类零零散散的小符号

  • 无穷符号,\infty
  • 空集符号,\emptyset(也可以调用 amssymb 宏包后使用 \varnothing)
  • 偏微分符号,\partial
  • 积分符号,\int,\iint,\iiint,\iiiint,分别对应一重、二重、三重、四重积分;更多重积分可以用 \idotsint
  • 环路积分符号,\oint
  • 求和符号,\sum
  • 求积符号,\prod
  • 交集符号,\cap;并集符号,\cup
  • 乘号,\times;除号,\div
  • 不等号,\neq;小于等于,\leq;大于等于,\geq
  • 属于,\in 不属于 \notin;
  • \forall 任意
  • \exists 存在
  • \infty 无穷大
  • \sim 相似 ~
  • \to 箭头
  • 花括号 \left\{ ... \right\}

2.伪代码

2.1 只生成伪代码

\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}

效果图:
最全overleaf在线编辑数学公式以及遇到错误的解决方法!_第5张图片

2.2 在论文中插入伪代码

这个需要稍作调整

(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}

3.报错

2.1 PDF Rendering Error Something went wrong while rendering this PDF

解决方法

1.关闭cookie
虽然cookie关闭了不太方便,用的时候还是需要打开的。但是为了用overleaf写文章没办法。

步骤
google浏览器右上角三个点——设置——隐私设置和安全性——Cookie 及其他网站数据——阻止第三方 Cookie。——然后就可以在overleaf右侧预览pdf了。

2.可能是IDM插件问题
可以关闭插件试试。
3.网络问题
打开无线网就能加载出pdf,用热点就无法加载pdf…(这就很气!!!!)

2.2 Bad math environment delimiter

如果直接在公式上下加入如下所示代码,则会出现此错误:
在这里插入图片描述
解决方法
如果将公式前后\ [ \ ] 删除,如下所示
在这里插入图片描述

你可能感兴趣的:(论文总结,#,解决问题)