最全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数学基础函数符号

- 排列数: \text{C}^2_7
在这里插入图片描述

  • \ 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_{1<x<100}f(x) 1<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箭头

在这里插入图片描述

1.2.7集合
A\cup B
M\cap N
\overline{U}

在这里插入图片描述

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}

效果图:
在这里插入图片描述

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

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值