问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Markdown和LaTeX排版规范指南

创作时间:
作者:
@小白创作中心

Markdown和LaTeX排版规范指南

引用
1
来源
1.
https://acgo.xiaomawang.com/discuss/depot/19805

Markdown和LaTeX是广泛使用的文本排版工具,特别是在学术写作、技术文档和在线教育等领域。本文旨在对文章内容排版方式进行倡导,提升普通用户的阅读体验,希望大家可以尽量按照本文所规定的方式来对文章进行格式化。

基本格式要求

必要注意事项

以下是对文档的基本要求,下列要求适用于 任何格式 的文本文档:

  1. 在每句话的末尾应当添加合适的标点符号;

  2. 在使用标点符号时,请务必区分 全角 符号和 半角 符号。若语句为汉语,应当使用全角标点符号,否则应当使用半角标点符号;

  3. 中文与西文字符或公式之间请以一个半角空格隔开, 但标点符号与西文字符或公式间不要加空格

  4. 无论在何时,禁止使用拼音缩写作为标识符。

  5. $\LaTeX$ 前后也需要空格,但公式不需要与标点符号空格。

以下是常见的错误示范:

  1. 因此,我们只需要输出两个数的乘积即可(违反 1.1.1)

  2. To be or not to be, that is a question。(违反 1.1.2)

  3. 这就是一个典型的错误Hack数据,当$N=10^5$​时,该代码会TLE。(违反 1.1.3)

  4. 这道题非常的简单,TJ 如下。(违反 1.1.4)

经过修正和格式化的示例如下:

  1. 因此,我们只需要输出两个数的乘积即可。

  2. To be or not to be, that is a question.

  3. 这就是一个典型的错误 Hack 数据,当 $N=10^5$​ 时,该代码会TLE。

  4. 这道题非常的简单,题解如下。

常导性建议

  1. 文章不应该出现大量的错别字。每位用户在撰写完文章后都有义务重读一遍文章保证文章的可读性。由于 AI 的兴起,使用 AI 人工智能助手来帮助用户审阅文章也是一个不错的选择。

  2. 对于题解/文章中的结论,请在必要时给出证明过程。

  3. 对于一些难的知识点,必要时可以给出一些外链来帮助读者阅读。

以下是一些错误的示范:

  1. 首先,我们可以申明一个变量来记录答案。(违反 1.1.2)

  2. 通过“瞪眼法”可得,答案应该为 $A \times B / \gcd(A, B)$。(违反 1.2.2)

正确的示范如下:

  1. 首先,我们可以声明一个变量来记录答案。

  2. 根据“XXXX”定理可得,答案应该是两个数的公约数,因为……

关于 Markdown 格式的一些建议

使用 Markdown 排版的注意事项

通过 Markdown 语法,我们可以很轻松的控制标题大小和文章的排版,但在排版中,应当注意以下事项:

  1. 标题是引导文章结构的,不是用来强调的;因此请不要用标题把字弄的很大,达到强调的目的;

  2. 适当使用文本加粗,但请不要使用大量使用。过量的文本加粗反而会适得其反,让读者难以分辨文章的重点;

  3. 在对文字进行加粗时,请不要对标点符号进行加粗。若被加粗的句子是一个完整的句子,则忽略此条目。

以下是常见的错误示范(为更好展示 Markdown 语法,这里使用行内代码的方式来展现):

  1. # 这是一道非常水的题!!!(违反 2.1.1)

  2. **Lorem ipsum dolor sit amet, consectetur 此处省略两百字 officia deserunt mollit anim id est laborum.**(违反 2.1.2)

  3. 因此对于所有的 $N$,我们应当提前**判断 $N$ 的奇偶性。**(违反 2.1.3)

经过修正和格式化的示例如下:

  1. 这是一道非常水的题!

  2. Lorem ipsum dolor sit amet, consectetur 此处省略两百字 officia deserunt mollit anim id est laborum.

  3. 因此对于所有的 $N$,我们应当提前**判断 $N$ 的奇偶性**。

使用 Markdown 的一些好习惯

在使用有序列表或无需列表的时候,如果有需要,可以适当对添加列表标题并对标题名称进行加粗。如下格式:

Dijkstra 代码的算法过程如下:

1. ...
2. ...
3. ...

可以将其改成:

Dijkstra 代码的算法过程如下:

1. **第一步**:...
2. **第二步**:...
3. **第三步**:...

PS:请不要把冒号符号加粗,这会影响渲染。

代码块与代码可读性的建议

在提供 AC 代码的时候,请务必使用 Markdown 中的代码块公式语法将代码包裹起来。

请标记代码语言

与此同时,在使用代码框时,请标上代码的语言,以正确地渲染代码。

未标记语言可能导致渲染错误:

```

#include

using namespace std;

```

正确的渲染效果应当如下:

using namespace std;

代码变量和注释的规范

为保证代码的可读性,请不要使用拼音缩写或无意义的缩写作为变量的名称。如使用,请务必在旁边对变量的作用作出合适的注解。

以下是一个错误的示范:

int awa(int a, int b){
    int c = 0;
    // Implementation to be determined.
    return c;
}

正确的示范:

// 该算法用于计算两个数的最小公倍数。
int LCM(int a, int b){
    int ans = 0;
    // Implementation to be determined.
    return ans;
}

关于 LaTeX 的使用建议

以下是本文的重点,也是 高发病区

什么东西应当被放在公式中?

并不是一切东西都该放在公式中的,滥用公式可能会导致排版混乱。公式也不应该喧宾夺主。

下面是一个错误的样例:

关于 $SPFA$,它死了。我们应当使用 $Dijkstra$ 算法。

正确的写法如下两个参考:

  1. 关于 SPFA,它死了。我们应当使用 Dijkstra 算法。

  2. 关于 $\mathtt{SPFA}$,它死了。我们应当使用 $\mathtt{Dijkstra}$ 算法。

所以什么东西不该放在公式中呢?

  1. 中文不应该出现在 $\LaTeX$ 公式中;

  2. 算法名、人名等非公式内容一般不出现在公式中。若要使用,请选择合适的字体,不要造成排版混乱即可。一般可以选用 \mathtt{Text} 作为首选。

  3. 行内的程序代码(包括程序函数名称,变量类型,完整语句等)应该用行内代码框表示,而不放在公式中。

正确使用字体

请务必使用 Roman 字体表示函数和运算。$\LaTeX$ 已经预先内置了非常多常用的函数和运算,我们可以直接使用。

下面是一个错误的例子:

lcm(x,y)=\frac{x \times y}{gcd(x,y)}

$lcm(x,y)=\frac{x \times y}{gcd(x,y)}$

正确的写法应该是这样的:

\operatorname{lcm}(x,y)=\frac{x \times y}{\gcd(x,y)}

$\operatorname{lcm}(x,y)=\frac{x \times y}{\gcd(x,y)}$

简单而言:

  1. 对于 $LaTeX$ 已经内置的函数,可以通过使用反斜杠(\)来将函数格式化。例如 gcd,请写成 \gcd

  2. 对于 $LaTeX$ 没有的函数,请将函数名称用 \operatorname{} 包裹。

公式不是写代码的地方

$\LaTeX$ 是一个表示严谨公式的地方。因此,请不要 在非代码区域使用任何程序设计语言的表示方式

下面是一些错误的示范:

a=x\%p
x++
a==b
a <= b
a<<1
5e7

$a=x\%p \\ x++ \\ a==b \\ a <= b \\ a<<1 \\ 5e7$

正确的表示方法如下:

a=x \bmod p
x \gets x+1
a=b
a \leq b
a \times 2
5 \times 10^7

$a=x \bmod p \\ x \gets x+1 \\ a=b \\ a \leq b \\ a \times 2 \\ 5 \times 10^7 \\$

此外,对于数列或数组而言,请不要使用这样的方式来表示:

dp[i] = dp[i-1] + \max(dp[i-2], dp[i-3] + dp[i-4])

$dp[i] = dp[i-1] + max(dp[i-2], dp[i-3] + dp[i-4])$

更严谨的表示方法如下:

dp_i = dp_{i-1} + \max(dp_{i-2}, dp_{i-3} + dp_{i-4})
dp(i) = dp(i-1) + \max(dp(i-2), dp(i-3) + dp(i-4))

$dp_i = dp_{i-1} + \max(dp_{i-2}, dp_{i-3} + dp_{i-4}) \\ dp(i) = dp(i-1) + \max(dp(i-2), dp(i-3) + dp(i-4))$

其他排版建议

  1. 特殊符号 :不要使用输入法的插入特殊符号功能来插入特殊符号,$\LaTeX$ 提供了许多常见的特殊符号,包括但不限于希腊字母和数学特定的一些符号。

  2. 行内公式 :对于像 $\sum\ \prod$ 等巨运算符,放在行内可能会略显紧凑(例如:$\sum_1^n a_i$)。在合适的情况下,请尽量不要在行内使用这些巨型运算符。

  3. 分数的使用 :在某些情况下,使用 \frac 来表示分数显得太小(例如:$\frac{1}{2}$),如条件允许,尽量使用 \dfrac 来表示分数来维持文本的可读性(例如:$\dfrac{1}{2}$​)。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号