引用与注释
引用和注释是写在 Markdown 正文里的标记。本页说明完整的写法。平时用 插入 > 引用 的对话框就能写出它们,不必手打。
基本写法
一条引用的完整形式是:
[@<标志><形态符><文献 ID>::前缀;;后缀##定位符类型&&定位符@]
最简单的是只有文献 ID:[@smith2020@]。文献 ID 是文献库里每条文献的唯一标识,以字母或数字开头,可以含字母、数字、点、下划线和连字符。
相邻的几条引用连在一起,构成一个引用簇,排成一组:[@smith2020@][@lee2019@]。簇里每条之间不要写空格。
[[@…]] 是 Obsidian 的双链,![[@…]] 是嵌入,它们不是引用,CiteDesk 不会处理它们。
三种形态
| 写法 | 形态 | 含义 |
|---|---|---|
[@smith2020@] | 括注式 | 默认形态,引用整体放在括号或脚注里 |
[@!smith2020@] | 叙述式 | 作者出现在句子里,括号里只剩年份等;只对正文引用样式有效 |
[@-smith2020@] | 省略作者 | 只出年份等,不出作者 |
! 和 - 互斥,只能写一个。如果所选样式没有叙述式,叙述式的位置会显示一句说明,而不是引用文字。
定位符
定位符指出引用的是文献中的哪一处,例如页码、章或节。它由两部分组成,必须成对写:
##后面是定位符类型,取 CSL 规定的类型名,例如page(页)、chapter(章)、section(节)、paragraph(段);&&后面是定位符本身,例如12-15。
例如 [@smith2020##page&&12-15@]。不能把类型写进定位符,也不能只写其中一个。
在引用对话框里,可以直接在主输入框里键入页码和其他定位符,对话框会替您写成这种形式。
前缀和后缀
::后面是前缀,;;后面是后缀,都是原样的文字,按您写的原样放进引用里;- 后缀里即使写了页码也不会被当成定位符,要给定位符请用
##和&&。
标准的书写顺序是前缀、后缀、定位符类型、定位符;解析时各段的位置可以互换,但每一段只能出现一次。例如:
[@smith2020::参见;;另见第三章##page&&12@]
前缀、后缀和定位符里不能出现定界符(::、;;、##、&&)和标记的开头或收尾,否则写出来的标记会被读错,编辑对话框会在输入框下面提示。
保持写入顺序
引用簇里的文献默认由样式决定排列顺序。要让它们按您写的先后排列,在簇里任一条的标记开头加 =,例如 [@=smith2020@][@lee2019@]。= 可以和 !、- 一起用,不分先后:[@=-smith2020@]。在引用对话框里,簇里多于一条文献时有「保持写入顺序」的选项,它会替您给簇里每一条加上或去掉 =。
从文献库拖入
把文献库的文献表里的文献行,或写作侧栏里的文献卡,拖进正文,会在放下的位置写入这些文献的引用标记;一次拖了多条,连成一个引用簇,例如 [@smith2020@][@lee2019@]。写入和 插入 > 引用 一样是一步编辑,可以一次撤销;放下的位置在代码块里,或在别的引用、注释标记里面,会被拦下并提示。
文献表里的笔记行拖进正文,整条笔记转成 Markdown:笔记里的引用换成引用标记,嵌入的图片存进工作区(位置见设置里的附件默认存放路径)。文献和笔记一起拖时,先写引用标记,笔记接在后面,各是一步编辑。附件行见粘贴和拖入图片与文件。
Zotero 把拖进文字编辑器的文献写成排好的引注文字;CiteDesk 的 Markdown 文档只存标记,不存排好的结果,所以写进正文的是标记,怎样排版由样式决定。
注释
注释是正文里的一段旁注:
[@?@]这里是注释的内容,里面也可以有引用 [@smith2020@]。[@/?@]
在脚注样式下,每条注释和每个顶层的引用簇各占一条脚注,次序就是它们在正文里出现的先后;注释里内嵌的引用排在那条注释的脚注里,不另占脚注号。在正文引用样式下,注释仍然排成脚注。在右栏的引注页里点「插入注释」写注释。
CiteDesk 的脚注只来自引用和注释。CiteDesk 不处理 Markdown 原生脚注([^…]、^[…] 以及脚注定义):它们不占脚注号,也不会被排版。成稿里 CiteDesk 写出的脚注用 [^citedesk-1] 这样的标识。
手打标记
直接手打标记可能写坏文档,所以 Markdown 编辑器会拦下一些写法:键入的字如果会和旁边的字连成 [^、^[ 或 [@,这个字不会进入文档,而是提示一句并打开「添加/编辑引用」对话框;确认后,对话框把相关的字一起换成正确的标记。
不会被拦的情形:代码块等原样区域里的、用反斜杠转义过的、[[@ 这样的双链和嵌入。粘贴或拖放进来的 [^、^[ 拦不住,只会提醒;粘贴进来的 [@…@] 会被当作从别处复制的引用,照常接受。
不被识别的区域
下面这些地方里的 [@…@] 不是引用,不会排进参考文献表:围栏代码和缩进代码、行内代码、数学公式、HTML 块和行内 HTML 标签、<…> 自动链接、%%…%% 与 <!--…--> 注释,以及按 Obsidian 的解析原样输出的其他结构。编辑器的实时预览用同一套判断,看起来是代码的地方就不会生效。