标记/标记
本节介绍Julia的markdown语法,该语法由Markdown标准库启用。 支持以下标记元素:
内联元素
这里的"内联"是指可以在文本块中找到的元素,即段落。 这些包括以下元素。
文字
环绕文本,应该完全显示为用单个反引号编写的文本, ` .
A paragraph containing a `literal` word.
在编写引用变量、函数或Julia程序的其他部分的名称的文本时,应该使用文字。
|
提示在文字文本中包含反引号字符使用三个反引号而不是一个来括住文本。
通过扩展,任何奇数的反引号都可以用来包含较少数量的反引号。 |
环绕应显示为数学的文本使用 带有双反引号的语法, `` .
A paragraph containing some ``\LaTeX`` markup.
|
提示与上一节中的文字一样,如果文字反引号需要在双反引号中写入,则使用大于2的偶数。 请注意,如果需要包含单个字面反引号 标记然后两个封闭的反引号就足够了。 |
|
注意 |
``` @doc raw"``\乳胶`` docstring中的语法。"函数名 ```
连结
可以使用以下语法编写指向外部或内部目标的链接,其中包含在方括号中的文本, [ ],是链接的名称和括在括号中的文本, ( ),是URL。
A paragraph containing a link to [Julia](https://www.julialang.org).
也可以在Julia文档本身中添加对其他文档化函数/方法/变量的交叉引用。 例如:
"""
tryparse(type, str; base)
Like [`parse`](@ref), but returns either a value of the requested type,
or [`nothing`](@ref) if the string does not contain a valid number.
"""
这将在生成的文档中创建一个链接到 解析,解析文档(其中有更多关于这个函数实际做什么的信息),以及 什么都没有文件。 最好包含对函数的变异/非变异版本的交叉引用,或者突出显示两个看似相似的函数之间的区别。
|
注意上面的交叉引用是_not_一个Markdown特性,并且依赖于https://github.com/JuliaDocs/Documenter.jl[Documenter.jl],用于构建base Julia的文档。 |
脚注参考资料
命名和编号的脚注引用可以使用以下语法编写。 脚注名称必须是不包含标点符号的单个字母数字单词。
A paragraph containing a numbered footnote [^1] and a named one [^named].
|
注意与脚注关联的文本可以写在与脚注引用相同的页面内的任何位置。 用于定义脚注文本的语法在 脚注下面一节。 |
顶层元素
以下元素既可以写在文档的"顶层",也可以写在另一个"顶层"元素中。
段落
段落是一个纯文本块,可能包含在 内联元素上面的部分,上面和下面有一个或多个空行。
This is a paragraph. And this is *another* paragraph containing some emphasized text. A new line, but still part of the same paragraph.
标头/标头
可以使用标题将文档拆分为不同的部分。 标头使用以下语法:
# Level One
## Level Two
### Level Three
#### Level Four
##### Level Five
###### Level Six
标题行可以包含任何内联语法,就像段落一样。
|
提示尽量避免在单个文档中使用过多级别的标题。 一个高度嵌套的文档可能表明需要对其进行重组或将其拆分为几个涵盖不同主题的页面。 |
代码块
源代码可以使用四个空格或一个制表符的缩进显示为文字块,如下例所示。
This is a paragraph.
function func(x)
# ...
end
Another paragraph.
此外,可以使用带有可选"语言"的三个反引号将代码块括起来,以指定如何突出显示代码块。
A code block without a "language":
```
function func(x)
# ...
end
```
and another one with the "language" specified as `julia`:
```julia
function func(x)
# ...
end
```
|
注意"Fenced"代码块,如上一示例所示,应该优先于缩进代码块,因为没有办法指定缩进代码块是用什么语言编写的。 |
块报价
来自外部来源的文本,例如来自书籍或网站的引用,可以使用 > 引号的每一行前面的字符如下。
Here's a quote: > Julia is a high-level, high-performance dynamic programming language for > technical computing, with syntax that is familiar to users of other > technical computing environments.
请注意,一个空格必须出现在 > 每行上的字符。 带引号的块本身可能包含其他顶级或内联元素。
名单
无序列表可以通过在列表中的每个项目前面加上 *, +,或 -.
A list of items: * item one * item two * item three
注意每个前的两个空格 * 和每一个之后的单个空间。
列表可以包含其他嵌套顶级元素,如列表、代码块或quoteblocks。 当在列表中包含任何顶级元素时,每个列表项之间应留空行。
Another list:
* item one
* item two
```
f(x) = x
```
* And a sublist:
+ sub-item one
+ sub-item two
|
注意列表中每个项目的内容必须与项目的第一行对齐。 在上面的示例中,带围栏的代码块必须缩进四个空格以与 |
有序列表是通过替换"子弹"字符来编写的,或者 *, +,或 -,具有正整数后跟任一 . 或 ).
Two ordered lists: 1. item one 2. item two 3. item three 5) item five 6) item six 7) item seven
一个有序列表可以从一个以外的数字开始,就像上面例子的第二个列表一样,它从五个开始编号。 与无序列表一样,有序列表可以包含嵌套的顶层元素。
显示方程
大 不适合在段落内联的方程可以使用带有"语言"的带围栏的代码块编写为显示方程 数学 如下例所示。
```math
f(a) = \frac{1}{2\pi}\int_{0}^{2\pi} (\alpha+R\cos(\theta))d\theta
```
脚注
此语法与以下行内语法配对 脚注参考文献。 请务必阅读该部分。
脚注文本使用以下语法定义,该语法类似于脚注引用语法,除了 : 附加到脚注标签的字符。
[^1]: Numbered footnote text.
[^note]:
Named footnote text containing several toplevel elements
indented by 4 spaces or one tab.
* item one
* item two
* item three
```julia
function func(x)
# ...
end
```
|
注意在解析过程中不进行任何检查,以确保所有脚注引用都具有匹配的脚注。 |
表格
基本表可以使用下面描述的语法编写。 请注意,与上面讨论的其他元素不同,markdown表的功能有限,并且不能包含嵌套的顶层元素-只允许内联元素。 表必须始终包含具有列名的标题行。 单元格不能跨越表的多个行或列。
| Column One | Column Two | Column Three | |:---------- | ---------- |:------------:| | Row `1` | Column `2` | | | *Row* 2 | **Row** 2 | Column ``3`` |
|
请注意,如上例所示, |
A `:` 列标题分隔符两端的字符(包含 `-` 字符)指定行是左对齐、右对齐还是(当 `:` 出现在两端)中心对齐。 提供无 `:` 字符将默认为右对齐列。
训诫
特殊格式的块,称为警告,可用于突出显示特定的注释。 可以使用以下方法定义它们 !!! 语法:
[NOTE]
====
This is the content of the note.
====
It is indented by 4 spaces. A tab would work as well.
[WARNING]
.Beware!
====
And this is another one.
====
This warning admonition has a custom title: `"Beware!"`.
后的第一个字 !!! 声明警告的类型。 有标准的警告类型,应该产生特殊的造型。 即(按严重性递减的顺序): 危险, 警告, 资料/注意事项,而 小费.
您也可以使用自己的警告类型,只要类型名称仅包含小写拉丁字符(a-z)。 例如,你可以有一个 术语 像这样的块:
[NOTE]
.julia vs Julia
====
Strictly speaking, "Julia" refers to the language,
====
and "julia" to the standard implementation.
但是,除非代码呈现特定警告类型的Markdown特殊情况,否则它将获得默认样式。
框的自定义标题可以在警告类型之后作为字符串(双引号)提供。 如果在警告类型之后没有指定标题文本,则类型名称将用作标题(例如 "注意" 为 注意事项 训诫)。
像大多数其他顶级元素一样,Admonitions可以包含其他顶级元素(例如列表,图像)。
标记语法扩展
Julia的markdown以与基本字符串字面量非常相似的方式支持插值,不同之处在于它将对象本身存储在Markdown树中(而不是将其转换为字符串)。 当标记内容呈现通常的时候 展览 方法将被调用,并且可以像往常一样重写这些方法。 这种设计允许使用任意复杂的特性(如引用)扩展标记,而不会使基本语法混乱。
原则上,markdown解析器本身也可以被包任意扩展,或者可以使用完全自定义的Markdown风格,但这通常是不必要的。
空气污染指数参考
# *`减价。html格式`*-函数
html([io::IO], md)
输出Markdown对象的内容 医学博士 在HTML格式中,写入(可选) 伊俄 流或返回字符串。
人们可以替代地使用 显示(io,"text/html",md) 或 repr("text/html",md),不同之处在于它们将输出包装在 <div class="markdown">。.. </div> 元素。
*例子*
julia> html(md"hello _world_")
"<p>hello <em>world</em></p>\n"
# *`减价。乳胶;乳胶`*-函数
latex([io::IO], md)
输出Markdown对象的内容 医学博士 在LaTeX格式中,要么写入(可选) 伊俄 流或返回字符串。
人们可以替代地使用 显示(io,"文本/乳胶",md) 或 repr("text/latex",md).
*例子*
julia> latex(md"hello _world_")
"hello \\emph{world}\n\n"