富文本是什么(富文本是什么文件)

富文本是什么(富文本是什么文件)Author 本教程 本教程 分为九个部分 本教程 使用 Obsidian 的 Obsidian Nord 主题与 Chalkboard SE 字体导出 PDF 效果** 为什么使用 Markdown 基本逻辑与哲学 基本语法 Obsidian 一些好用的 HTML 语法 一些好用的 LaTeX 语法 中英文学术排版规范 后记 参考资料

大家好,我是讯享网,很高兴认识大家。



Author:

本教程[^本教程]分为九个部分

[^本教程]:使用 Obsidian 的 Obsidian Nord 主题与 Chalkboard SE 字体导出 PDF 效果**。

 

  1. 为什么使用Markdown
  2. 基本逻辑与哲学
  3. 基本语法
  4. Obsidian
  5. 一些好用的HTML语法
  6. 一些好用的LaTeX语法
  7. 中英文学术排版规范
  8. 后记
  9. 参考资料

Markdown 是一种轻量级的标记语言,可用于在纯文本文档中添加格式化元素,分为基础语法与扩展语法(GFM[^GFM]等)。Markdown 由 John Gruber 于 2004 年创建,如今已成为世界上最受欢迎的标记语言之一。

[^GFM]:有几种轻量级标记语言是Markdown的超集。它们包含Gruber的基本语法,并通过添加其他元素(例如表,代码块,语法突出显示,URL自动链接和脚注)在此基础上构建。许多最受欢迎的Markdown应用程序使用以下轻量级标记语言之一:CommonMark、GitHub Flavored Markdown (GFM)、Markdown Extra、MultiMarkdown、R Markdown

其主要应用场景有:email、epub、论文写作、blog、公告(Telegraph)、即时通讯、文档、笔记、wiki、备忘录、讲稿、演示文稿、搭建网站[^搭建网站]等。

[^搭建网站]:如果你熟悉 HTML、CSS和版本管理工具,请试试 Jekyll ,这是一个广受欢迎的静态网站生成器,它能将 Markdown 文件并构建为 HTML 网站。这种方法的优势之一是 GitHub Pages 为 Jekyll 生成的网站提供免费托管服务。



Markdown的优势

  • Markdown 是纯文本[^纯文本]可移植的。几乎可以使用任何应用程序打开包含 Markdown 格式的文本文件。这与 Microsoft Word 等文字处理应用程序形成了鲜明的对比,Microsoft Word 将你的内容锁定在专有文件格式中

[^纯文本]:转换为 HTML 时需要声明使用 utf-8 编码。

  • Markdown 无处不在。StackOverflow、CSDN、GitBook、V2EX、微信公众号、知乎等。主流的代码托管平台,如 GitHub、GitLab、BitBucket、Coding、Gitee 等等,都支持 Markdown 语法,很多开源项目的 README、开发文档、帮助文档、wiki 等都用 Markdown 写作
  • Markdown 是独立于平台的。你可以在运行任何操作系统的任何设备上创建 Markdown 格式的文本
  • Markdown 能适应未来的变化。即使你正在使用的应用程序将来会在某个时候不能使用了,你仍然可以使用文本编辑器读取 Markdown 格式的文本。当涉及需要无限期保存的书籍、大学论文和其他里程碑式的文件时,这是一个重要的考虑因素
  • Markdown 可以导出为 pdf、html、docx、md等格式,并且在大多数编辑器中能良好地兼容LaTex与HTML语法
  • Markdown 用途广泛,可以用于 email、论文、电子书、wiki、blog、笔记、文档等的制作
  • Markdown 省时简洁,不仅体现在排版过程,也体现在打开速度和渲染效果上
  • Markdown 文件可以通过 Obsidian 不同主题的渲染导出具有不同风格的 PDF

你可以使用文本编辑器[^编辑器]为纯文本文件添加 Markdown 格式的元素。或者,你也可以安装针对 macOS、Windows、Linux、iOS 和 Android 操作系统的 Markdown 应用程序。或者还可以使用一些基于 Web 的应用程序用于 Markdown 编写。

[^编辑器]:使用 Markdown 的过程中,最令人困惑的地方是:实际上每个 Markdown 应用程序都实现了稍有不同的 Markdown 语法。Markdown 的这些变体通常被称为 flavors(方言)。掌握你的应用程序所实现的 Markdown 语法是你需要主义的。为了让你了解各 Markdown 变体的概念,将它们比作语言的方言(language dialects)可能会有所帮助。华雷斯城(Ciudad Juárez)的人说西班牙语,就像巴塞罗那(Barcelona)人一样,但是两个城市使用的方言之间有很大的不同。使用不同 Markdown 应用程序的人也是如此。Dillinger 支持的 Markdown 格式与 Ulysses 有着很大的不同。实际上,这意味着当一个应用程序说它支持 “Markdown” 时,你永远也不会确切地知到它的实际意思。它说的是仅支持基本语法?还是所有基本语法加扩展语法?或者是某些语法的组合呢?在你阅读其文档或开始使用该应用程序之前,你永远都不会知道。

如果你只是新手,我能给你的最好建议就是选择一个具有良好 Markdown 支持的应用程序。这对保持 Markdown 文件的可移植性大有帮助。你可能需要在其它应用程序中保存或使用你的 Markdown 文件,要实现这一点,你应当从使用一个具有良好 Markdown 支持的应用程序开始。

依赖于你所使用的应用程序,你可能无法实时预览格式化的文档。但是没关系。根据 Gruber 的说法

Markdown语法的首要设计目标是尽可能易读易写。基于这个目标,Markdown 格式的文档能够以纯文本形式原样发布,而不会看起来像被填满了标签或格式化指令。

Markdown 的语法被设计为可读性强且不显眼,因此即使 Markdown 文件中的文本未经过渲染也易于阅读,同时你也应该练习在没有渲染器的情况下,直接在最普通的文本编辑器中写作 Markdown 。

注意建立自己的写作规范,在每一篇文章中保持完全一致的结构、空行、空格、标点、标题的树形结构编排(方便转换为 mind map ),保证文章具有强逻辑性,具有统一的元数据例如封面、作者、日期、邮箱、目录、后记、参考文献等。



Markdown以块(block)段(piece)为基本单位,而不是行(line)

例如:段落、列表、程序块、引用、LaTex公式、图片、iframe、嵌入文档、脚注等是块元素。块与块之间由两个enter构成,即在源代码上相互之间必须有一空行(也是块级元素的标识特点之一)。涉及到块元素之中的强制换行,需要在行末加两个空格。

例如:链接、强调、图片、转义字符(跳脱字元)等是段元素。

不需要段首缩进,一方面是简洁,另一方面是避免代码块的歧义(本身段与段之间的空行就已经足以区分,段首缩进是纸媒时代节省原料的落后思维产物)。

Markdown文件在不同的设备终端中会自动调整换行,但是Mac端的Obsidian会根据当前大小导出PDF文件。PDF 格式是关键,因为一旦有了 PDF 文档,就可以使用它进行任何操作:打印、通过电子邮件发送或将其上传到网站(每一行控制在35-80个字符)。通过一些插件或某些程序也可以将 Markdown 转换为演示文稿(一般是通过分割线进行分页操作。

相比于 PDF ,Markdown 具有可以自动适应阅读器以及可以随时修改的方便特性,其中的嵌入式文档、折叠标题以及 iframe 等可以使其具有 PDF 所没有的高交互性。

Markdown 是 Minimalism 在写作与排版领域的完美诠释,专注于文字内容本身,由纯文本构成,易读易写,可以方便地纳入版本控制(Git),并且可以直接以纯文本发布,不会充满许多标签和格式指令。

Markdown 语法简单,学习成本极低,能轻松在码字的同时做出美观大方的排版,配合CSS可以将风格一改全改(Markdown 和 HTML 一样只是骨架),具有高移植性,一次写作,多处分发。其语法受到一些既有text-to-HTML 的影响,包括Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,然而最大灵感来源其实是纯文字的电子邮件格式。

关于 Obsidian ,其官方的对使用的 Markdown 版本的描述是

总的来说,我们在努力让 Obsidian 的语法不偏离正统的 Markdown 语法太多。总的来看,Obsidian 的语法大多还是基于 CommonMark ,包括了一些 GitHub Flavored Markdown(GFM) 和 LaTeX,以及我们特有的嵌入文件语法。

故而 README 文档最好使用 VSCode 进行编写,不要使用任何 Obsidian 格式的链接。

由于 Markdown 的语法字符大多是半角,所以英文是 Markdown 写作的**语言。

另外关于写作与排版有三个阶段

内容与样式完全耦合

HTML 的富文本编辑器,如Word、PPt、Pages等的正常用法。特征:字体大小随意修改字体格式随意修改,不考虑样式修改的可控性。

内容与样式部分解耦

开始使用 Keynote、Pages的段落样式功能, Ps、Ai、Id 中的段落样式功能来控制常用的样式。特征:样式自定义为主要需求(排版),用于控制批量的样式内容。自由度更高。

内容与样式完全解耦

即目前正在使用的完全基于 MD 的流程(参见后记)。



基本语法[^基本语法]是可移植性与兼容性最高的语法,在几乎每个编辑器上都能够被正确渲染,但同样存在功能不全的弊端,并不是很适用于知识仓库的制作。

[^基本语法]:相对于obsidian而言,而不是相对于类似 GFM 这样的扩展语法而言。相对于 GFM 而言的基本语法有:标题、段落、换行、强调(只包括黑体与斜体)、引用、列表(只包括有序与无序)、行内代码、backtick 的转义、通过缩进来标识的代码块、分割线、超链接、引用链接、尖括号链接、被格式化的链接、图片、链接图片、转义字符(backslash/backtick/asterisk/underscore/curly braces/brackets/parentheses/pound sign/plus sign/hyphen/dot/exclamation mark/pipe)、 和 的转义、内嵌 HTML 标签),而扩展语法则包含:表格、代码围栏、脚注、标题编号、定义列表、删除线、任务列表等。

一共有六个层级,H1-H6。用 hash sign 的数量来进行标识

需要注意的是

  • hash sign(s) 与 title 之间有一个空格
  • 标题中不应含有标点符号
  • 不可用于调整正文中字体大小
  • 不可出现孤立标题和不连续标题
  • 相邻两标题层级间应有过渡文字

分为有序列表,无序列表,待办列表三种,其语法分别如下

  • 有序列表
  • 无序列表
  • 待办列表

强调字体有

黑体(bold)
斜体(Italic)
划线(lineation)
==高亮[^高亮](highlight)==

字体的强调语法可以使用在几乎任何地方。

  • 黑体
  • 斜体
  • 划线
  • 高亮

[^高亮]:该语法在除了 Obsidian 外的许多编辑器中都无法被正确渲染。

使用 (angle bracket)进行标识,在一个段落前标上即可。换行的规则与段落一致,两个引用块之间使用空行进行分割,若需要强制换行则需要在末尾添加双空格。

最基本的逻辑依然是:以空行来表示一个 blockquote 的开始与结束。所以无论行前是否有 ,只要行与行连在一起,就属于同一个 blockquote 。可以在每一行(if there are line breaks)的开头加上 ,也可以不加。需要注意的是, 后是否有空格在渲染效果上没有差异,但为了源代码的可读性,建议添加。

引用块内也可以进行分段,只需要在段落之间的空白行添加一个单独的 。

引用也可以有多个层级(即引用的引用),使用多个 标识。

最后一点,引用中的 head 标识并不会被 outline 识别到,所以可以放心在引用中使用 head 标识来调整字号。

代码块分为行内代码与行间代码,行内代码使用一对 backticks ,而行间代码[^行间代码]使用一对three-backticks(或一对三半角波浪线) ,也叫做 code fences。在代码块中换行不需要双空格。代码块可以在宽度上无限延伸。

如果需要被表示为代码的字符串中已经有 backticks ,那么使用一对 double-backticks 进行转义。

行内代码

行间代码

在第一个 three-backticks 的右边标上语言名称,例如 c++、html、markdown、python、php 等。在阅读模式中,代码块的右上角会出现一个 copy 按钮。

[^行间代码]:只有一个 tab 的缩进是基本 Markdown 语法,当然了语法高亮也因此是扩展语法。

第一行为表头,第二行为对齐方式(必含),之后几行是表格内容,表格中可以插入除块级元素外的几乎所有数据类型,不会被折叠,大小不受显示屏限制(与代码块一样可以拖动查看)。

你可以在表格中添加链接,因为链接能在表格中正确显示。但如果你的链接中包含 ,则需要对其进行转义(用  代替 ),以防止链接中的竖线被错误识别为列分隔符。

表格的编辑非常麻烦,一般在特定的软件中绘制完毕再将 Markdown 源代码复制回编辑区,或使用 Obsidian 的插件。

第二行中 hyphen 的个数无所谓,注意不需要行末双空格。

图片的插入方式与链接类似,语法为

其中 caption 是图片下方显示的字幕,url 是图床链接,explanation 是鼠标悬浮时的解释性文字,width 是图片的像素宽度,width可以

除了可以链接网络图片外,也可以链接本地图片,只要将 url 的部分改为 path 即可。建议将所有需要链接的图片放在 md 文件的同一个目录下,在 Obsidian 即放在 vault 中,path 应使用相对路径。在移植时需要将整个 vault 一起移植而不能只移动 md 文件,否则图片不能被正常显示。

想要图片安全妥当地及以正确大小显示,可以讲其导出为 PDF 文件,一般用于单份无内链的论文或文档。

方括号必须保留。

链接是 Markdown 中最重要也最复杂的部分,链接主要用来制作超文本和引入图片。注意来自互联网的引用一律需要以 打头。为了不同编辑器的兼容性,URL 中的空格用 代替。方括号可以空着,但方括号本身必须保留。

直接链接(URL或email)

直接显示为链接本身[^链接本身]的超文本,一般用于 email。

[^链接本身]:在 Obsidian 中,输入 URL 会直接被渲染成超链接(如果不希望自动链接,使用行内代码),不过为了通用性,请依旧使用标准语法。

网页链接

其中 name 是被显示的文本,url 是被链接的地址,explanation 是当鼠标悬浮时出现的解释性文字。

带格式化的链接

被显示的文本可以被格式化以起到强调的作用,例如

可以将显示的超文本变为黑体。

引用类型的链接

引用链接使得源代码更易于显示和阅读。其含有两部分:文中部分和解释部分。

文中部分

解释部分

请注意两个方括号之间以及冒号的两侧不应当有额外的空格。解释部分与脚注一样可以放在文中的任意位置,但一般是放在文末。冒号后、url 后也可加一个换行符使得源代码有更好的可读性。

tag 中可以包含字母、数字、空格、标点,不区分大小写

链接图片

除了文字外,图片本身也可以成为“超图片”,使图片成为链接的语法如下

简而言之就是将图片的链接放在一个中括号里,使之成为被显示的内容。

方括号必须保留。

锚点可以用来在同一份 md 文件中进行跳转,其语法格式为

注意,name 是能够被阅读到的文字,而 title 是被链接的标题,hash sign 与 title 之间没有空格,无论是哪一级 title ,都只有一个 hash sign ,仅匹配第一个符合条件的结果。

# 后不能有大写字母、空格、半角句点,问号、顿号可以正常添加,空格改为 hyphen 。

脚注使您可以添加注释和参考,而不会使文档正文混乱。当您创建脚注时,带有脚注的上标数字会出现在您添加脚注参考的位置(Obsidian 会进行自动排序)。读者可以单击链接以跳至页面底部的脚注内容。

在需要添加注释处后紧跟以下语法

而在被注释的块元素下方(而不是文档最底部)进行注释

在块级元素的下方进行注释不但可以节省翻页的时间,也能便于修改,而注释名直接使用被注释的词即可(可以是数字或单词,但不能包含空格或制表符 tab )。

一些 Markdown 应用程序允许通过键入表情符号短代码来插入表情符号。这些以冒号开头和结尾,并包含表情符号的名称。

Note: 注意:你可以使用此表情符号简码列表,但请记住,表情符号简码因应用程序而异。有关更多信息,请参阅Markdown应用程序的文档。

在大多数情况下,可以简单地从Emojipedia 等来源复制表情符号并将其粘贴到文档中。许多Markdown应用程序会自动以Markdown格式的文本显示表情符号。从Markdown应用程序导出的HTML和PDF文件应显示表情符号。

如果使用的是静态网站生成器,请确保将HTML页面编码为UTF-8。

Markdown 中有许多可以嵌套的元素,但并非每个都可用,有时候需要通过实验确定,以下列出一些合法的嵌套

  • 引用-引用
  • 引用-列表
  • 列表-引用
  • 代码块-代码块(2 个 tab 的缩进)
  • 列表-段落
  • 列表-代码块
  • 列表-图片

许多Markdown处理器支持标题的自定义ID[^标题编号],一些Markdown处理器会自动添加它们。添加自定义ID允许您直接链接到标题并使用CSS对其进行修改。要添加自定义标题ID,请在与标题相同的行上用大括号括起该自定义ID。

[^标题编号]:Obsidian 中并不支持,但提供块 ID ,具体查看 Obsidian 官方文档。

其他网站可以通过将自定义标题ID添加到网页的完整URL(例如)来链接到标题。

一些Markdown处理器允许你创建术语及其对应定义的定义列表[^定义列表]。要创建定义列表,请在第一行上键入术语;在下一行,键入一个冒号,后跟一个空格和定义

[^定义列表]:在 Obsidian 中无法被正确渲染。

在某些编辑器如 Typora、知乎、微信中可以使用 指令在开头自动生成文章目录(Table of Contents),但在 Obsidian 中不可用。

可以给 Markdown 的源代码提供注释,但在渲染后不可见,段级语法为

块级语法只要将两对百分号分别置于两行即可。

可以使用转义语法来消歧义,使符合显示为文本且剔除语法作用,在需要转义的字符前加上一个 backslash 即可,需要注意的是,backslash 只对其后第一个字符有效,渲染后 backslash 不显示。

在 HTML 文件中,有两个字符需要特殊处理:  和  。  符号用于起始标签, 符号则用于标记 HTML 实体,如果你只是想要使用这些符号,你必须要使用实体的形式,像是  和  ,而 Markdown 会自动将其转换为 HTML 实体。

另外,实体形式 可以替代空行, 可以替代空格。



Obsidian 提供了许多扩展语法用以搭建知识仓库或 wiki。详见 Obsidian 官方文档。

什么是 Obsidian ?

Obsidian 既是一个 Markdown 编辑器,也是一个知识管理软件。

你可以简单地将 Obsidian 作为一个 Markdown 编辑器,来编辑、预览 Markdown 文件。但如果你希望更好地使用它,请记住它真正的力量在于管理密集的网络化知识库。

如何开始创建一个知识网络?请先从创建一条内部链接开始!

Obsidian 是一个 Markdown 编辑器 + 知识管理工具,用于构建知识库与知识网,页面的操作逻辑有点类似于浏览器。主要特色是双链结构知识图谱以及插件市场。具有许多如查找、RE 替换、保存工作区布局、模版等方便的功能。

新文件的创建有两个思路:文件优先链接优先。文件优先思路在树形目录中选择对应的父节点,在其下建立新的节点或叶子(文件可以视为叶子,而文件夹则是节点,可以继续延伸,且一定不是叶子)。链接优先思路在建立内链的同时直接生成了对应名称的笔记。

文件优先思路的优势是不依托内链来标记数据结构,即使 Obsidian 引擎消失了,树形结构依然能得以保存,具有较强的可移植性;链接优先思路的优势在于不需要链接事先存在,也不存在分类的 烦恼。不过如果实在不习惯的话可以在 vault 创建两个文件夹,其中一个存放树形目录(完全摒弃内链的使用),用来存放层级结构清晰,主要用于发布的文件。

vault 是所有笔记和文件夹的仓库——无论分类,并且 Obsidian 的所有配置文件和主题、字体等全部存储在 vault 所在的文件夹中,所以移植时需要移植整个 vault vault 的名字也就是根目录的名字,设置图片和其他嵌入链接路径时都需要以 vault 名称开头。最好不要直接操作 vault 。


讯享网

工作区域等级从小到大为当前块标签页工作区窗口

同步方案可以使用 iCloud 或 one drive ,建议定期多处备份。

其中 链接标题(可选), 链接块(可选),当文件不存在时会自动创建,当链接块时会在块后方生成一个 hash tag 。

本质上是 Markdown 标准语法的一个简易写法,也可以用 的写法,这两种写法是等价的,后者更麻烦却拥有更高的兼容性。

和内链相比多了一个感叹号,可以生成一个直接被嵌入的页面。目前支持的文件格式。使用录音机的时候直接按下按钮,录音结束后再按一次,文件会存储在根目录下,并自动嵌入到开始录音时光标所在的位置。

拖动图片到工作区可以自动嵌入并且复制到相应的附件文件夹。 让链接指向图片, 让图片嵌入当前文档。

Markdown 风格的嵌入,使用 这样的语法。一般的嵌入,使用 这样的语法。如果要保持宽高比,省略高度即可。

就与内链一样,当然选择 Markdown 风格或 Obsidian 风格都是可以的,Markdown 风格显然具有更高的兼容性。

iframe语法嵌入网页,bilibili可以用width=100% height=360,YouTube 的嵌入代码会自动调整。一般来说在网页的 share 部分会提供 embed 链接。

块可以是一个段落、一个引用、一个列表等等。一 般来说,前后有空行包围的东西就是块。 块链接和块引用并非 Markdown 的标准语法,而是带有 Obsidian 风格的 Markdown 语法。这意味着这些 链接和引用将在其他软件中失效。

果你想手动创建可读性强的块 ID,你可以在块的末尾手动加上  这样的语法。需要注意的是,对于一般的段落,手动创建的 ID 和块最后一个字符(即段落最后一个字符)间需要有一个或多个空格。

如果想为表格这样比较复杂的块手动创建 ID,你需要将手动创建的 ID 放置在该块之后,同时确保手动创建的块 ID 前后都是空行。

块链接和块引用并非 Markdown 的标准语法,而是带有 Obsidian 风格的 Markdown 语法。这意味着这些链接和引用将在其他软件中失效[^失效]。

[^失效]:不过,尽管如此,只要你的软件支持文件内容的全局搜索,你还是可以通过搜索块 ID 来查找链接或引用的块。块链接与块引用本身包含的链接信息是不会丢失的,只不过你想在其他软件中利用它们会麻烦一点。

标签相当于是一个隐形的文件夹,也可以具有层级,使用 slash 来表示路径。井号与标签名之间不需要有空格。

格式为 。

Obsidian 强大的地方在于它能以插件的形式增加新功能。这些插件 可以是官方开发的(核心插件),也可以是社区成员开发的(第三方 插件)。甚至,你也可以动手开发一个。

你可以在设置中管理插件。有些插件设置比较简单,通过开关决定是否开启即可;有些插件设置比较复杂,开启它们后,你会在设置页面中看到它们独立的选项卡,你需要到那里完成更详细的设置。

官方插件

官方插件是 Obsidian 自带的插件,同时也代表了其最核心的功能,以下是目前 Obsidian 官方提供的插件

![[插件列表]]

其他插件

第三方插件中也有许多优秀的作品,大部分都在 GitHub 上开源,比如 Excalidraw、Advanced Tables、Easy Typing 等。

在设置/编辑器中,往下滑即可找到。

快捷键除了有官方快捷键之外,也可以在设置中进行自定义(只要不冲突即可)。常用的快捷键有

  • mE 切换模式
  • mB/mI 黑体/斜体
  • mL 待办列表
  • mS 保存
  • mP 命令面板
  • mW 关闭当前tab
  • msT 重新打开上一个被关闭的tab
  • msN 在右侧新建笔记
  • mF 搜索当前笔记
  • moF 搜索并替换当前笔记
  • mK 输入 Markdown link
  • m/ 添加评论
  • mD 删除当前段落
  • F2 编辑文件名
  • m 导出为 PDF
  • ot 后一个标签页
  • m1/2/…/9 切换至第 i 个标签页
  • cot 切换至前一个标签页
  • FnF 全屏
  • mF11 打开/关闭边栏
  • m, 设置



使用 和 标签可以直接添加 样式,使文字居中,比如

段落标签:

在HTML标签中,标签用于定义段落,它可以将整个网页分为若千个段落。

换行标签:

在HTML中,一个段落中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望 某段文本强制换行显示,就需要使用换行标签。

加粗: 或者

倾斜: 或者

删除线: 或者

下划线: 或者

是大盒子,一行只能放一个大盒子

是小盒子,一行可以放多个。

通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。

height 和 width 属性用来定义 iframe 标签的高度与宽度,属性默认以像素为单位, 但是你可以指定其按比例显示 (如:“80%”)

frameborder 属性用于定义 iframe 表示是否显示边框,设置属性值为 “0” 移除 iframe 的边框

iframe 可以显示一个目标链接的页面,目标链接的属性必须使用 iframe 的属性,如下实例

在 HTML5 中,能够将 SVG 元素直接嵌入 HTML 页面中。

什么是SVG?

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  • SVG 用于定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有损失
  • SVG 是万维网联盟的标准

SVG的优势

与其他图像格式相比(比如 JPEG 和 GIF),使用 SVG 的优势在于

  • SVG 图像可通过文本编辑器来创建和修改
  • SVG 图像可被搜索、索引、脚本化或压缩
  • SVG 是可伸缩的
  • SVG 图像可在任何的分辨率下被高质量地打印
  • SVG 可在图像质量不下降的情况下被放大
  • SVG 图像中的文本是可选的,同时也是可搜索的(很适合制作地图)
  • SVG 可以与 Java 技术一起运行
  • SVG 是开放的标准
  • SVG 文件是纯粹的 XML

以下是一个示例

这是一个SVG教程。



LaTeX 是一种高质量的排版格式,可以生成复杂的表格与数学公式,是当前电子与数学出版行业的事实标准。

LaTeX简要总结表,更多详见参考资料。

以下是几个例子

$\(<br/>dy/dx, mathrm{d}y/mathrm{d}x, frac{dy}{dx}, frac{mathrm{d}y}{mathrm{d}x}, frac{partial^2}{partial x_1partial x_2}y<br/>\)\(</p><p>\)\(<br/>prime, backprime, f^prime, f&#39;, f&#39;&#39;, f^{(3)}, dot y, ddot y<br/>\)\(</p><p>\)\(<br/>s_k equiv 0 pmod{m}<br/>\)\(</p><p>\)\(<br/>lim_{n o infty}x_n<br/>\)\(</p><p>\)\(<br/>int_{1}^{3}frac{e^3/x}{x^2}, dx<br/>\)\(</p><p>\)\(<br/> extstyle intlimits_{-N}^{N} e^x dx<br/>\)\(</p><p>\)\(<br/>iiiintlimits_F dx,dy,dz,dt<br/>\)\(</p><p>\)\(<br/>oint_{(x,y)in C} x^3, dx + 4y^2, dy<br/>\)$



该部分带有比较强烈的作者个人色彩和偏好,并不完全是正统的学术论文标准,请注意分辨。

  • 块级元素:段落、列表、程序块、引用、LaTex公式、图片、iframe、嵌入文档、脚注等
  • 分割线
  • head标识
  • 虽然不是必须,但列表中嵌套的引用最好也在前后空行以增加源代码的可读性
  • 行内代码
  • 文字与数字间(任何一处)
  • 中文与英文间(任何一处,即使是当并列结构以英文开头时)
  • commas/periods/question marks/exclamation marks 之后
  • 英文之后,全角逗号句号之前
  • 全角逗号句号之后,英文之前不需要
  • 引用符 后
  • 当 表示路径时

注:slash 在表示“或”“路径”时,前后都不需要空格。数字与百分号、货币符号、单位之间没有空格。全角两个字节,半角一个字节。

  • 列表
  • 代码块
  • 表格
  • 文字段落之间

commas/periods/question marks/exclamation marks 之后需要空格

缩写的末尾有 period

question marks 不可用于间接问句

commas

牛津逗号:在并列结构的最后一个 and 或 or 前需要加上一个 comma

两个完整的句子不能直接用逗号连接,而是使用 “and”

连接逗号与举例逗号有着细微的差别。连接逗号用来将 2 个完整的句子连接成一个单句,且必须有 and、or、but、while、yet 等作为连接词。在中国学者写作的论文中,最常见的逗号错误就出现在这里。通过添加连接词 and、or、but、while、yet 或将逗号改为句号可以避免此类错误

其他连接词,如however、therefore,hence、consequently、nevertheless 和thus 不可以用在连接逗号后,而应根据停顿和前后关系的紧密性改用分号或句号

括弧逗号,也可称为分隔逗号,用来表示轻微的停顿,并不影响整个句子的意义完整(代替了括号的作用)

因此我们可以很简单地用以下原则来检查括弧逗号的使用是否正确:如果删掉括弧逗号和它所分隔的短语,句子仍然完整,那么就是正确的;反之,如果删掉了括弧逗号和它所分隔的短语,句子变得模棱两可或缺少信息,那么此处的逗号就使用错误了。

在表达日期时,美国习惯采用月- 日- 年的形式,则年前面需要逗号,如 April 6,2015英国习惯采用传统的日- 月- 年形式,则年前面不用逗号,如 6 April 2016。当没有具体的日期,只给出年月,或表示一年中某个特殊的日子,如节日,那么在年前面也不需要逗号,如 March 2016,Thanksgiving Day 2017。逗号还可用在数字中表示万位分隔符

引号包括双引号和单引号,它们是用来表示直接引语或强调给定的单词或短语的标点符号。直接引述是指对某人所说的话进行逐字原样引用。

Einstein once said, “Imagination is more important than knowledge.”

Socrates put it best: “The unexamined life is not worth living.”

文字引用分为以下两种方式:切入式引用;整段引用。切入式引用通常较短,并通过引号与前后文字区分开

The paper will be on Kant’s Categorical Imperative: “Act in such a way that you treat humanity, whether in your own person in the person of any other, never merely as a means to an end, but always at the same time as an end.”

相比之下,整段引用(block quotation)则比较长。另外,整段引用的内容与前后文字之间不是用引号区分开的,而是用不同的格式来区分。尽管在不同的格式规则中,整段引用的具体格式有所不同,但是有以下几条相同的原则,即整段引用应当另起一行开始引用;把引用的内容向右缩进,使得引用的内容看上去与普通段落的格式有所不同;不要用引号把引用的内容括起来

Kafka’s Metamorphosis is frequently cited as an example of absurdism. It is famous for its opening paragraph:

As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect. He was lying on his hard, as it were armor-plated, black and when he lifted his head a little he could see his domelike brown belly divided into stiff arched segments on top of which the bed quilt could hardly keep in position and was about to slide off completely. His numerous legs, which were pitifully thin compared to the rest of his bulk, waved helplessly before his eyes.

不属于引用文字部分并前置于引用文字部分的标点符号总是应当出现在第一个引号之前,即出现在带引号的引用部分之外

句号和逗号总是应当放在引号内

冒号和分号总是应当放在引号外

如果问号和感叹号属于引用内容的一部分,则应当放在引号内。否则,它们应当放在引号外

如果引语是一个完整的句子,第一个字母则必须大写

但是,如果引语不是一个完整的句子,第一个字母则不应该大写

引号内引用的内容如果出现嵌入的引用内容,则嵌入内容须用单引号标记

除了用在双引号内表示内嵌的引用内容外,单引号还有其他一些用途。在学术写作中,专门针对某一特定学科的技术术语经常被标上单引号。虽然这种做法没有被认为是一种规定,但在某些学科中被视为一种标准做法,例如哲学和神学

英式英语喜欢使用单引号,即使是在直接引用话语时

在英式英语中,标点符号总是被放在引号之外,除非这个标点符号是原引语的一部分

句点应当在补充性括号之外

问号与感叹号的使用基于其表达的情绪来自被引用的句子本身还是引用者

  • 专有名词、强调、拉丁语词汇一般使用 Italic ,在较为正式的学术文中应当慎用黑体
  • 尽量使用黑体代替高亮(Obsidian Nord 主题中,黑体已经带有颜色标识),高亮语法的兼容性并不好,并且容易造成视觉上的割裂感与疲劳
  • 强调半句时不需要包含最后一个标点(如句号、问号、感叹号等,强调整句需要包含最后标点
  • 强调引号与括号内的内容时,括号与引号不需要强调
  • 为有别于代码,第二级缩进采用 7 个空格(87.5% 个 tab)
  • 中文的并列结构一律使用顿号,不许使用逗号,中英文混排使用顿号或 slash
  • 块级元素前不应有冒号(冒号与段首缩进一样,是纸媒时代的产物)
  • 列表中的句子末尾不需要句号(列表本身已经起到了分割句子的作用)
  • 一级 head 留给文章大标题使用,正文标题从二级开始
  • 尽量避免四级以下标题的使用,代之以列表
  • 内容排布尽量支持顺序阅读,将参考链接放在脚注中
  • 为了锚点的需要,标题中不需要含有空格
  • 所有本来需要以引号标示的字符以行内代码来替代
  • 关于使用有序列表还是无序列表,具体情况具体分析,当需要统计条目个数或前文有提到类似“以下 n 个方面”的字眼时或目录中,使用有序列表,其余情况使用无序列表(因为虽然编辑器在渲染时会自动纠正排序,但是源代码上依然是混乱的,影响美观)
  • 为笔记添加封面(可选)
  • 两个二级标题之间使用三个实体空行隔开



简要记述开始使用 Markdown 的缘由,以及一些写作方面的感悟。

先看看直觉下写作流程的几个核心问题。基于富文本编辑器(如 Word、Pages 等)的写作过程存在以下问题

  • 浪费力气在排版上:使用传统的富文本编辑器时,常常会花费大量力气去排版,试图让文档变得漂亮一些。但是单纯从创作上来说,是粗体还是斜体,是宋体还是黑体,有那么重要吗?
  • 版式的无法多次复用:这个问题其实是上一个问题的延续。大多数情况下,写作的目的是为了发布。如果说能在写作时就把版式排完,然后能够一键全部发到各个平台上,那第一个问题的确不是问题。但是事实上是怎么样呢?例如插图、链接、字体字号等等,有多少可以不做任何修改,直接无痛粘贴到任何一个平台?微信公众号、知乎、知乎专栏、简书、博客…这么多场景需要去发布文章,难道我要每次都重新编辑一次吗?
  • 难以版本跟踪:从 V1.0 到 V20.0 的无数版本,作为一个肉体根本不清楚到底如何去命名这些版本文件。

正是以上一些问题,导致在传统模式下的写作流程效率极其低下。也正是如此,才有了本文的主角:Markdown。

正如开头援引 Gruber 的说法

Markdown语法的首要设计目标是尽可能易读易写。基于这个目标,Markdown 格式的文档能够以纯文本形式原样发布,而不会看起来像被填满了标签或格式化指令。

「易读易写」是个什么概念?传统的富文本编辑器不方便读写吗?这里的对比对象不是 Word 这样的富文本编辑器,而是 HTML 。

在 Markdown 之前并没有一种优良的适用于网络书写的语言,而 Markdown 文本远比右边的 HTML 文档更加易读。

在这里再引入Markdown 作者的原话,强调一下 Markdown 的初衷。

Markdown 语法的目标是:成为一种适用于网络的书写语言
Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

当了解了这一点之后,可能大家还会有疑惑,既然富文本这种直觉式的写作模式已经十分易读易写了,为什么还要用 Markdown 呢?

Markdown 是 HTML 的子集。所以在说明为什么选择 Markdown 之前,我们还需要来认识一下 HTML 的优势。认识到 HTML 相较于 Word这些文本编辑器的优势之后,我们便可以认识到为什么 Markdown 能够成为写作的主流语法。

回顾一下 HTML 的定义

HTML(超文本标记语言——HyperText Markup Language)是构成Web世界的基石。它描述并定义了一个网页的内容其他除HTML以外的技术则通常用来描述一个网页的表现/展示效果(CSS)或功能(JavaScript)

可以看到,HTML 强调的是「定义网页的内容」,而剩下的工作交由其他技术实现。

基于一套基本的内容骨架可以生成各种样式的网站效果,这种方式的核心思想就是:内容与样式的分离

在进行内容确定的时候我不用关心这个内容到时候是长什么样的,只需要把内容明确好就行。而在进行样式设计的时候,就不需要考虑内容的事情,只要把对应的样式调整地好看就可以。

但是, HTML 也存在一些问题,这个问题就是:太多的标记词汇,不易阅读,不易修改,不是一个书写的语言

所以 Markdown 因运而生了。

再回过头来看下 John Gruber 的话,你就能够理解为什么他会这么说了。

Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种 书写 的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。

 Markdown写作浅谈 一文的作者有提到

科技写作与文艺写作的不同主要有:

  • 公式与图表:相信各位写过科学论文的,都会为数学公式与各类图表的输出头疼不已;
  • 格式转换:pdf是通用的,但是有时偏偏需要LaTeX原始格式或者Word原始格式;
  • 参考文献:投稿给不同刊物,往往参考文献要根据对方的格式来调整。

为解决这些难题,LaTeX是国际科学界,尤其是偏数理类的学科的主流方案之一。但是实际上 LaTeX 有诸多使用上的不便。

直到有一天,极其熟悉LaTeX,也熟悉Markdown的yihui同学,意识到了,LaTeX它可以作为最终格式生成。但是,我们中间的写作过程,完全可以用Markdown这么简单明了的语法来写,我们真正需要的,就是一堆数学公式、图表与参考文献而已。于是,在他的新作R包knitr中,果断提供了Markdown支持。并说服R社区主流编辑器厂家,开源软件RStudio 提供 Markdown支持,从而使得Rmd这种新格式开始流行。

在前面探讨过 Markdown 的特性之后,我们可以发现 markdown 天生具有「格式」可视化的功能。通过观察一份 Markdown 格式的纯文本就能够清楚地看到作者构建信息的「意图」。这对于整个工作流来说是不可或缺的。

通过 内容 -&gt; 格式 -&gt; 样式 的流程,创作的自由性将得到极大的发挥。我们只需要专注信息本身,关注信息的属性类型,并用最简单的标记将其标记好即可。

通过一份预先设定好的样式模板,便可以一键获得最终的发布文章的样式,并且由于最终排版效果完全基于 HTML 和 CSS 生成,这些排版效果均可以一键分发到各个信息平台而不需要中间的任何修改。

我想这才是一个互联网写作流程的终极状态。以最小单位的控制方式来获得最终的复杂结果。

最后,以之前在杨志平的博客中看到的一段话作为文章结尾,可以说这段话非常能够表达我的感受

肉体不是认知的外在,而是认知的本身;语言不是思想的外衣,而是思想本身;文体不是文章外衣,而是文章本身。同样,工具不是思想的外在,而是思想本身。 人们从来喜欢高估自己的意志力,却总是低估工具或环境对心智模式的影响。

—— 如何21天写一本书(2)

写作,或者说信息传达,必然是有作者的「意图」的。在创作中我们应该聚焦于我们想要传达的东西,而我们使用的工具应该要能把这种「意图」以最简约的形式「记录」下来。比如需要写作过程中我觉得这个地方需要强调。工具做的事情应该是在这个地方标记,让人能够知道那个位置需要被强调。

等到整篇文章完成之后,会留下许许多多「需要被强调的地方」,那么这个时候统一进行样式处理,比如设置成「加大一号字体,字重增加一号,修改成蓝色」,因为所有「需要被强调」的标记类型一致,那么修改也是批量化处理,在表达「意图」层面也是能够传递同样的信息意义。

在提升中,我意识到了文章的内容应该被划分为三个部分:内容格式样式

内容是作者需要传达的信息,格式是作者构建信息的「意图」,样式是作者希望信息被接受时的外观。

在我反思以前的信息处理流程中,我发现无论是第一阶段还是第二阶段,都把「格式」这个部分忽略掉了,我们无法直观的看到信息的「格式」,以至于在理解和操作层面或多或少都会感到麻烦。



  • Markdown 官方教程,较为完整的简中Markdown 教程
  • Obsidian 官方文档-简中,Obsidian最权威使用文档,但更建议查看英文原版(更新较为及时)
  • 庭说·中英文混排风格指南
  • Obsidian 论坛教程,含有 HTML 扩展语法教学
  • The Punctuation Guide,权威的英语标点符号使用指南
  • &lt;https://markdown.tw/#span&gt;
  • CommonMark官方简易教程
  • CommonMark官网
  • Obsidian官网
  • 在线编辑器
  • Markdown 创始者编写的原始指南
  • Typesetting Markdown. 这是一个系列教程,介绍了使用 pandoc 和 ConTeXt 对 Markdown 文档进行排版的系统
  • 菜鸟 HTML 教程
  • 【 LaTeX】新手教程:从入门到日常使用
  • MacTex编辑器
  • LaTex教程
  • Overleaf-Tex在线编辑器与教程
  • LaTeX:从入门到日常使用
  • LaTeX 入门
  • LaTeX使用指南:从入门到精通
  • 一份其实很短的 LaTeX 入门文档
  • TeX Live 下载及安装说明
  • 如何从零开始,入门 LaTeX?

小讯
上一篇 2025-06-10 18:38
下一篇 2025-06-13 12:59

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/172182.html