洛谷 Markdown 格式手册
Markdown 的目标是实现「易读易写」,成为一种适用于网络的书写语言。因此洛谷使用 Markdown 发布内容。
请仔细阅读下列文档,如果没有按照要求正确使用格式,将可能无法发出讨论,或者被删除。
- 本页面显示效果非洛谷主站实际效果,仅作为参考。部分语法的实际效果使用截图展示。
- 部分标注了新特性的功能在老页面不支持展示,可使用编辑器的预览模式确定是否可用。
段落和换行
一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行。普通的 Markdown 段落不可以用空格或制表符来缩进。
空行:一行之内只包含回车换行、空格、制表符。
例如:
这是第一段话
这是第二段话
显示的效果如下:
这是第一段话
这是第二段话
如果两段之间不空一行,则无法正确分段。反面例子:
这是第一段话
这是第二段话
显示的效果如下:
这是第一段话 这是第二段话
段落内部换行
在行末输入两个空格可以达到比分段更加紧凑的换行的效果。
例如:
这是第一行
这是第二行
(请注意“这是第一行”后的两个空格,可以用鼠标拖动选中它们)
显示的效果如下:
这是第一行
这是第二行
标题
Markdown 的标题是在行首插入 1 到 6 个 #
,#
和标题文字之间使用一个或多个空格,对应到标题 到 级。
例如:
# 这是 H1
## 这是 H2
### 这是 H3
这是正文
显示的效果如下:
不要全文使用标题,或者用标题强调特别多的文字。这会让读者觉得困扰。
强调
Markdown 使用星号(*
)和底线(_
)作为标记强调字词的符号,被 *
或 _
包围的字词会被转成用 <em>
标签包围( 即斜体),用两个 *
或 _
包起来的话,则会被转成 <strong>
(即粗体)。
例如:
*单星号斜体*
_单下划线斜体_
**双星号加粗**
__双下划线加粗__
~~删除线~~
显示的效果如下:
单星号斜体
单下划线斜体
双星号加粗
双下划线加粗
删除线
但是如果 *
或 _
的两边都有空白的话,它们就只会被当成普通的符号。如果要在文字前后直接插入普通的星号或底线,可以用反斜线(\
)(参见下面的“反斜杠”部分)。
例如:
\*使用反斜 线开头的\*被当做是普通的字符\*
显示的效果如下:
*使用反斜线开头的*被当做是普通的字符*
代码块
如果要发送代码,但没有按照下面的方式进行格式化,将不能发送成功。
大段代码
Markdown 建立代码块的方法:将 ``` 置于这段代码的首行和末行,独立成一行。第一行的 ``` 后面可以加上语言名称,例如 cpp、java、c、pascal 等(不要写成 c++)。请注意,对于未指定语言的程序代码会被 fallback 到 C++,其他无法识别的语言名称(如 plain)会作为普通文本渲染。
例如:
```
// 未指定语言,fallback 到 C++
#include<bits/stdc++.h>
using namespace std;
int main(){
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
```
显示的效果如下:
显示行号【新特性】
如果要显示代码行号,在代码块的第一行加上 line-numbers
参数即可。
如下代码:
```cpp line-numbers
显示的效果如下: