在 Windows 中使用 Bash shell
++概述:Git Bash 内置了 Vim 和多数 Linux 命令,使用 Git Bash 为默认终端能提高 Win 端终端操作文件的效率
+
+本文语雀地址:https://www.yuque.com/achuan-2/blog/eu4rbz
+本文博客地址:https://achuan-2.github.io/posts/be43.html +source: https://zhuanlan.zhihu.com/p/418321777
diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..66312df9 --- /dev/null +++ b/404.html @@ -0,0 +1,40 @@ + + +
+ + + + + + +aria2 是一款支持多种协议的轻量级命令行下载工具。
\\nAria2 的运行依靠以下几个文件:
\\n文件名 | \\n描述 | \\n必须? | \\n
---|---|---|
aria2c (or aria2c.exe) | \\n主程序 | \\n是 | \\n
aria2.conf | \\n配置文件 | \\n是 | \\n
aria2.session | \\n任务文件 | \\n是 | \\n
aria2.log | \\n日志文件 | \\n否 | \\n
aria2 是一款支持多种协议的轻量级命令行下载工具。
Aria2 的运行依靠以下几个文件:
文件名 | 描述 | 必须? |
---|---|---|
aria2c (or aria2c.exe) | 主程序 | 是 |
aria2.conf | 配置文件 | 是 |
aria2.session | 任务文件 | 是 |
aria2.log | 日志文件 | 否 |
Aria2 的 on-completed
参数设置后,会在任务完成时向指定脚本传递任务的 UID、文件数量、任务路径三个参数。
建立引用(citation)与参考书目(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:
\\n\\nZotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]。
","autoDesc":true}');export{t as data}; diff --git "a/assets/Zotero \345\260\206\345\274\225\346\226\207\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\344\271\246\347\233\256.html-dYd7MQua.js" "b/assets/Zotero \345\260\206\345\274\225\346\226\207\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\344\271\246\347\233\256.html-dYd7MQua.js" new file mode 100644 index 00000000..27d4d8d5 --- /dev/null +++ "b/assets/Zotero \345\260\206\345\274\225\346\226\207\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\344\271\246\347\233\256.html-dYd7MQua.js" @@ -0,0 +1,215 @@ +import{_ as e}from"./plugin-vue_export-helper-x3n3nnut.js";import{r as t,o,c as p,a as n,b as s,e as l,d as c}from"./app-Mf7X6hWu.js";const i="/assets/712b4026fdc29fc75f8a1b2002119422-kuCBX5J0.png",r={},u=c('建立引用(citation)与参考书目(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:
Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]。
从 Zotero 论坛发现了通过 word 宏实现的功能 [2],虽有一些缺陷,但基本可以达成需求。
Public Sub ZoteroLinkCitation()
+
+' get selected area (if applicable)
+ Dim nStart&, nEnd&
+ nStart = Selection.Start
+ nEnd = Selection.End
+
+' toggle screen updating
+ Application.ScreenUpdating = False
+
+' define variables
+ Dim title As String
+ Dim titleAnchor As String
+ Dim style As String
+ Dim fieldCode As String
+ Dim numOrYear As String
+ Dim pos&, n1&, n2&, n3&
+
+ ActiveWindow.View.ShowFieldCodes = True
+ Selection.Find.ClearFormatting
+
+' find the Zotero bibliography
+ With Selection.Find
+ .Text = "^d ADDIN ZOTERO_BIBL"
+ .Replacement.Text = ""
+ .Forward = True
+ .Wrap = wdFindContinue
+ .Format = False
+ .MatchCase = False
+ .MatchWholeWord = False
+ .MatchWildcards = False
+ .MatchSoundsLike = False
+ .MatchAllWordForms = False
+ End With
+ Selection.Find.Execute
+
+ ' add bookmark for the Zotero bibliography
+ With ActiveDocument.Bookmarks
+ .Add Range:=Selection.Range, Name:="Zotero_Bibliography"
+ .DefaultSorting = wdSortByName
+ .ShowHidden = True
+ End With
+
+ ' loop through each field in the document
+ For Each aField In ActiveDocument.Fields
+ ' check if the field is a Zotero in-text reference
+ '##################################################
+ If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then
+ fieldCode = aField.Code
+ '#############
+ ' Prepare
+ ' Plain citation== Format of Textfield shown
+ ' must be in Brackets
+ Dim plain_Cit As String
+ plCitStrBeg = """plainCitation"":""["
+ plCitStrEnd = "]"""
+ n1 = InStr(fieldCode, plCitStrBeg)
+ n1 = n1 + Len(plCitStrBeg)
+ n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1
+ plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2)
+ 'Reference 'as shown' in word as a string
+
+ 'Title array in fieldCode (all referenced Titles within this field)
+ Dim array_RefTitle(32) As String
+ i = 0
+ Do While InStr(fieldCode, """title"":""") > 0
+ n1 = InStr(fieldCode, """title"":""") + Len("""title"":""")
+ n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1
+ If n2 < n1 Then 'Exception the type 'Article'
+ n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1
+ End If
+ array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1)
+ fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1)
+ i = i + 1
+ Loop
+ Titles_in_Cit = i
+
+ 'Number array with References shown in PlainCit
+ 'Numer is equal or less than Titels, depending on the type
+ '[3], [8]-[10]; [2]-[4]; [2], [4], [5]
+ ' All citations have to be in Brackets each! [3], [8] not [3, 8]
+ ' This doesnt work otherwise!
+ ' --> treatment of other delimiters could be implemented here
+ Dim RefNumber(32) As String
+ i = 0
+ Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0
+ n1 = InStr(plain_Cit, "[")
+ n2 = InStr(plain_Cit, "]")
+ RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1))
+ plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1)
+ i = i + 1
+ Loop
+ Refs_in_Cit = i
+ 'treat only the shown references (skip the rest)
+ '[3], [8]-[10] --> skip [9]
+ 'Order of titles given from fieldcode, not checked!
+ If Titles_in_Cit > Refs_in_Cit Then
+ array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1)
+ i = 1
+ Do While Refs_in_Cit + i <= Titles_in_Cit
+ array_RefTitle(Refs_in_Cit + i - 1) = ""
+ i = i + 1
+ Loop
+ End If
+
+ '#############
+ 'Make the links
+ For Refs = 0 To Refs_in_Cit - 1 Step 1
+ title = array_RefTitle(Refs)
+ array_RefTitle(Refs) = ""
+ ' make title a valid bookmark name
+ titleAnchor = title
+ titleAnchor = MakeValidBMName(titleAnchor)
+
+ ActiveWindow.View.ShowFieldCodes = False
+ Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography"
+
+ '' locate the corresponding reference in the bibliography
+ '' by searching for its title
+ Selection.Find.ClearFormatting
+ With Selection.Find
+ .Text = Left(title, 255)
+ .Replacement.Text = ""
+ .Forward = True
+ .Wrap = wdFindContinue
+ .Format = False
+ .MatchCase = False
+ .MatchWholeWord = False
+ .MatchWildcards = False
+ .MatchSoundsLike = False
+ .MatchAllWordForms = False
+ End With
+ Selection.Find.Execute
+
+ ' select the whole caption (for mouseover tooltip)
+ Selection.MoveStartUntil ("["), Count:=wdBackward
+ Selection.MoveEndUntil (vbBack)
+ lnkcap = "[" & Selection.Text
+ lnkcap = Left(lnkcap, 70)
+
+ ' add bookmark for the reference within the bibliography
+ Selection.Shrink
+ With ActiveDocument.Bookmarks
+ .Add Range:=Selection.Range, Name:=titleAnchor
+ .DefaultSorting = wdSortByName
+ .ShowHidden = True
+ End With
+
+ ' jump back to the field
+ aField.Select
+ ' find and select the numeric part of the field which will become the hyperlink
+ Selection.Find.ClearFormatting
+ With Selection.Find
+ .Text = RefNumber(Refs)
+ .Replacement.Text = ""
+ .Forward = True
+ .Wrap = wdFindContinue
+ .Format = False
+ .MatchCase = False
+ .MatchWholeWord = False
+ .MatchWildcards = False
+ .MatchSoundsLike = False
+ .MatchAllWordForms = False
+ End With
+ Selection.Find.Execute
+
+ numOrYear = Selection.Range.Text & ""
+
+ ' store current style
+ style = Selection.style
+ ' Generate the Hyperlink -->Forward!
+ ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear
+ ' reset the style
+ Selection.style = style
+
+ ' comment if you want standard link style
+ aField.Select
+ With Selection.Font
+ .Underline = wdUnderlineNone
+ .ColorIndex = wdBlack
+ End With
+
+ Next Refs 'References in Cit
+
+ End If 'If Zotero-Field
+ '#########################
+
+ Next aField ' next field
+
+ ' go back to original range selected
+ ActiveWindow.View.ShowFieldCodes = False
+ ActiveDocument.Range(nStart, nEnd).Select
+
+ End Sub
+ Function MakeValidBMName(strIn As String)
+ Dim pFirstChr As String
+ Dim i As Long
+ Dim tempStr As String
+ strIn = Trim(strIn)
+ pFirstChr = Left(strIn, 1)
+ If Not pFirstChr Like "[A-Za-z]" Then
+ strIn = "A_" & strIn
+ End If
+ For i = 1 To Len(strIn)
+ Select Case Asc(Mid$(strIn, i, 1))
+ Case 49 To 57, 65 To 90, 97 To 122
+ tempStr = tempStr & Mid$(strIn, i, 1)
+ Case Else
+ tempStr = tempStr & "_"
+ End Select
+ Next i
+ tempStr = Replace(tempStr, " ", " ")
+ MakeValidBMName = Left(tempStr, 40)
+ End Function
+
Why Zotero & Why NOT EndNote?
Todo
在使用 Zotero 之前,我希望可以引入几个术语:
以下列个需要了解的大纲:
### 添加与维护条目、附件
+
+#### 添加条目
+
+##### 通过标识符添加条目
+
+##### 通过附件添加条目
+
+##### 直接从 Connector 生成条目
+
+#### 添加附件
+
+### 组织、管理文献库
+
+#### 集合与标签
+
+#### 笔记与关联条目
+
+#### 重复条目
+
+### 插入引文与生成参考书目
+
+#### 直接在 Zotero 里生成参考条目
+
+#### 在 Word 里插入引文
+
+#### 使用 Zotero bib 生成参考条目
+
+#### 引文格式
+
在多设备同步中,条目的同步均是通过 Zotero 官方提供的同步服务进行的,不同的是附件的同步方式。可以依据需要同步的设备类型、同步的目的来合理选择同步的方案。
优点:只需要账号登录上,基本不需要任何额外配置,方便快捷简单。
缺点:默认只有 300M,更大要付费,没钱,一票否决,过了。
Todo
Todo
Todo
少数派这篇文章介绍了一些较为基础的用法,而对一些更深的玩法并没有详细展开或提及;同时,它发布于 2019 年 9 月,而在这之后,Zotero 也涌现出了许多其他优秀的插件,却少有文章进行较为集中的综述,所以下面对我所了解的一些技巧进行记录和分享。
Todo
Todo
Todo
通过 Zotero Language
字段与 CSL <Local>
标签实现。
Todo
目前官方 iOS 客户端已正式发布。
无官方客户端,考虑使用三方客户端 Zoo for Zotero。
',16);function G(H,R){const n=s("ExternalLinkIcon");return i(),l("div",null,[c,e("p",null,[t("没什么好记录的,在 "),e("a",h,[t("Zotero 官网"),o(n)]),t(" 下载一路下一步安装即可。")]),p,u,b,e("p",null,[t("比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 "),e("a",m,[t("github.com/l0o0/translators_CN"),o(n)]),t(" 极大的提高其中文文献抓取能力。")]),e("p",null,[t("该库的主要维护者还开发了插件 "),e("a",_,[t("Jasminum - 茉莉花"),o(n)]),t(" 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能:")]),f,k,e("ol",null,[e("li",null,[t("下载安装 Jasminum 插件:在 "),e("a",v,[t("Latest Release · l0o0/jasminum (github.com)"),o(n)]),t(" 下载 "),g,t(" 文件。在 Zotero——Tools——Add-ons——右上角小齿轮⚙——Install Add-on From File...——选中第二步保存的文件——确定——重启 Zotero。")]),e("li",null,[t("下载安装 PDFtk:下载并安装 "),e("a",Z,[t("PDFtk server"),o(n)]),t(" ,记录安装路径(eg. "),x,t(")。在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 "),z,t(" (eg. "),w,t(")(即 PDFtk 可执行文件所在目录)。MAC 用户参考 "),e("a",E,[t("这里"),o(n)]),t(" 。")]),T,F]),C,e("p",null,[e("a",D,[t("这是一个修改过的 GB/T 7714-2015 CSL 文件"),o(n)]),t(" ,将这些文件放置于 Zotero 数据目录下的 Styles 文件夹即可。")]),q,P,A,e("ul",null,[e("li",null,[e("a",B,[t("Zotero 官方文档"),o(n)])]),e("li",null,[e("a",S,[t("韩学士. 优雅地用 Zotero 进行文献管理和论文写作. GitHub"),o(n)]),t(" 【推荐】")]),e("li",null,[e("a",L,[t("思考问题的熊. 文献管理神器 Zotero 学习路径指南. 少数派"),o(n)])])]),y,e("p",null,[e("a",N,[t("windingwind/zotero-pdf-translate: PDF translation add-on for Zotero 6 (github.com)"),o(n)])]),I,e("p",null,[e("a",O,[t("windingwind/zotero-tag: One add-on to rule Tags all. Manage all your Tags in one Zotero add-on. (github.com)"),o(n)])]),W,M,e("p",null,[e("a",U,[t("ethanwillis/zotero-scihub: A plugin that will automatically download PDFs of zotero items from sci-hub (github.com)"),o(n)])]),j,e("p",null,[e("a",J,[t("redleafnew/zotero-updateifs: 从唯问更新影响因子"),o(n)])]),V])}const Q=r(d,[["render",G],["__file","Zotero 指北.html.vue"]]);export{Q as default}; diff --git "a/assets/Zotero \346\214\207\345\214\227.html-wkL4Bdt0.js" "b/assets/Zotero \346\214\207\345\214\227.html-wkL4Bdt0.js" new file mode 100644 index 00000000..5b048efe --- /dev/null +++ "b/assets/Zotero \346\214\207\345\214\227.html-wkL4Bdt0.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-2d2d3678","path":"/software/zotero/Zotero%20%E6%8C%87%E5%8C%97.html","title":"Zotero 指北","lang":"zh-CN","frontmatter":{"title":"Zotero 指北","date":"2022-01-18T22:00:06.000Z","updated":"2022-07-29T22:02:11.000Z","description":"Zotero 指北 关于 Zotero 是什么以及为什么使用它 Why Zotero & Why NOT EndNote? Todo 安装与配置 主程序 没什么好记录的,在 Zotero 官网 下载一路下一步安装即可。 浏览器插件 Zotero Connector","head":[["script",{"type":"text/javascript"},"var _hmt = _hmt || []"],["script",{"src":"https://hm.baidu.com/hm.js?5574297d56b065f5137cf3654e3de360"}],["script",{"src":"https://hm.baidu.com/hm.js?92a8f6d9fbb75efa90964afcd42be758"}],["meta",{"property":"og:url","content":"https://northword.cn/software/zotero/Zotero%20%E6%8C%87%E5%8C%97.html"}],["meta",{"property":"og:site_name","content":"北辞"}],["meta",{"property":"og:title","content":"Zotero 指北"}],["meta",{"property":"og:description","content":"Zotero 指北 关于 Zotero 是什么以及为什么使用它 Why Zotero & Why NOT EndNote? Todo 安装与配置 主程序 没什么好记录的,在 Zotero 官网 下载一路下一步安装即可。 浏览器插件 Zotero Connector"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2022-09-16T13:53:35.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2022-01-18T22:00:06.000Z"}],["meta",{"property":"article:modified_time","content":"2022-09-16T13:53:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Zotero 指北\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-01-18T22:00:06.000Z\\",\\"dateModified\\":\\"2022-09-16T13:53:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.cn\\"}]}"]]},"headers":[{"level":2,"title":"关于 Zotero 是什么以及为什么使用它","slug":"关于-zotero-是什么以及为什么使用它","link":"#关于-zotero-是什么以及为什么使用它","children":[]},{"level":2,"title":"安装与配置","slug":"安装与配置","link":"#安装与配置","children":[{"level":3,"title":"主程序","slug":"主程序","link":"#主程序","children":[]},{"level":3,"title":"浏览器插件 Zotero Connector","slug":"浏览器插件-zotero-connector","link":"#浏览器插件-zotero-connector","children":[]},{"level":3,"title":"中文 Translator 与茉莉花插件","slug":"中文-translator-与茉莉花插件","link":"#中文-translator-与茉莉花插件","children":[]},{"level":3,"title":"Styles 与 GB/T 7714-2015 CSL 文件","slug":"styles-与-gb-t-7714-2015-csl-文件","link":"#styles-与-gb-t-7714-2015-csl-文件","children":[]}]},{"level":2,"title":"基础使用","slug":"基础使用","link":"#基础使用","children":[]},{"level":2,"title":"多设备同步方案","slug":"多设备同步方案","link":"#多设备同步方案","children":[{"level":3,"title":"使用官方的存储空间进行附件同步","slug":"使用官方的存储空间进行附件同步","link":"#使用官方的存储空间进行附件同步","children":[]},{"level":3,"title":"WebDav 实现附件同步","slug":"webdav-实现附件同步","link":"#webdav-实现附件同步","children":[]},{"level":3,"title":"OneDrive & ZotFile 实现附件同步","slug":"onedrive-zotfile-实现附件同步","link":"#onedrive-zotfile-实现附件同步","children":[]},{"level":3,"title":"使用 ZotFile 实现更自由地附件管理","slug":"使用-zotfile-实现更自由地附件管理","link":"#使用-zotfile-实现更自由地附件管理","children":[]}]},{"level":2,"title":"其他插件与玩法","slug":"其他插件与玩法","link":"#其他插件与玩法","children":[{"level":3,"title":"Zotero-PDF-Translate 实现在 PDF 中翻译","slug":"zotero-pdf-translate-实现在-pdf-中翻译","link":"#zotero-pdf-translate-实现在-pdf-中翻译","children":[]},{"level":3,"title":"Zotero-tag 实现新条目添加未读标签,阅读后自动取消","slug":"zotero-tag-实现新条目添加未读标签-阅读后自动取消","link":"#zotero-tag-实现新条目添加未读标签-阅读后自动取消","children":[]},{"level":3,"title":"Zotero-SciHub 实现从 SCI-HUB 下载全文","slug":"zotero-scihub-实现从-sci-hub-下载全文","link":"#zotero-scihub-实现从-sci-hub-下载全文","children":[]},{"level":3,"title":"Zotero Update IFs 为期刊添加影响因子","slug":"zotero-update-ifs-为期刊添加影响因子","link":"#zotero-update-ifs-为期刊添加影响因子","children":[]},{"level":3,"title":"Zotero 与 Obdisian 或其他 Markdown 编辑器结联动","slug":"zotero-与-obdisian-或其他-markdown-编辑器结联动","link":"#zotero-与-obdisian-或其他-markdown-编辑器结联动","children":[]},{"level":3,"title":"Zutilo","slug":"zutilo","link":"#zutilo","children":[]},{"level":3,"title":"使用 Better BibTex for Zotero 实现在 LaTeX / Markdown 中引用","slug":"使用-better-bibtex-for-zotero-实现在-latex-markdown-中引用","link":"#使用-better-bibtex-for-zotero-实现在-latex-markdown-中引用","children":[]},{"level":3,"title":"修改 CSL 文件使参考文献列表中文“等”与外文“et al”混排","slug":"修改-csl-文件使参考文献列表中文-等-与外文-et-al-混排","link":"#修改-csl-文件使参考文献列表中文-等-与外文-et-al-混排","children":[]}]},{"level":2,"title":"其他平台客户端","slug":"其他平台客户端","link":"#其他平台客户端","children":[{"level":3,"title":"iOS","slug":"ios","link":"#ios","children":[]},{"level":3,"title":"Android","slug":"android","link":"#android","children":[]},{"level":3,"title":"Web","slug":"web","link":"#web","children":[]}]}],"git":{"createdTime":1663336415000,"updatedTime":1663336415000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":5.23,"words":1569},"filePathRelative":"software/zotero/Zotero 指北.md","localizedDate":"2022年1月19日","excerpt":"Todo
Why Zotero & Why NOT EndNote?
\\n\\n\\nTodo
\\n
没什么好记录的,在 Zotero 官网 下载一路下一步安装即可。
\\nC:\\
+D:\\
+Documents
Downloads
Music
Pictures
Videos
OneDrive
Working Assets
Program Files
Tools
Games
Backups
Other Assets
20 考生,101 政治 78,204 英语二 77,302 数学二 89,838 环境学 103,总分 347,初试排名 20+,复试排名 10,总排名 14。
+谈一谈这一年踩过的坑与心得。
+就按照考试顺序吧。
+考研政治其实跟好肖秀荣就够了,我先列一下我的:
+基础,6 月—9 月上旬。主要是明白你都学了些什么鬼东西。听徐涛的视频课,划肖秀荣知识点,做 1000 题。这个工作暑假开始时开始即可,暑假结束前应基本结束(大概)。我是 9 月中下旬结束的视频课和 1000 题第一遍+马原第二遍,属于比较慢的(虽然班里还有些比我还慢的)。
`,r:{minutes:12.01,words:3604},y:"a",t:"考研的一些总结"},["/blog/考研的相关总结.html","/blog/考研的相关总结.md",":md"]],["v-759eeeca","/characterization/",{y:"p",t:"材料表征"},["/characterization/README.md"]],["v-4022cd1f","/characterization/raman/",{d:1663339021e3,l:"2022年9月16日",e:`波数与波长成反比,波数是指单位长度内的周波数,这里的单位长度一般是 1 厘米()。
`,r:{minutes:.36,words:108},y:"a",t:"Raman"},["/characterization/raman.html","/characterization/raman.md"]],["v-326a924f","/characterization/sem/",{d:1663199896e3,l:"2022年9月15日",e:`download form 精品干货:X射线吸收谱基础知识(一) - 哔哩哔哩 (bilibili.com)
+撰文:LY & CWX 编辑:DJ
+前言:
+随着同步辐射光源的建造,X 射线吸收谱学方法(XAS)得到了前所未有的发展,在物质结构表征(包括原子结构及电子结构等)、理化性能解释(比如单原子催化剂位点研究、In-situ/operando 测试等)都发挥着越来越重要的作用,前沿研究中都经常看见其身影。一直以来,可以说 XAFS 都是基于同步辐射的各种表征手段中同步辐射技术中应用范围最广泛广的技术之一。
`,r:{minutes:5.99,words:1796},y:"a",t:"X 射线吸收谱"},[":md"]],["v-326d07e0","/characterization/xrd/",{d:1663159095e3,l:"2022年9月14日",e:`+`,r:{minutes:8.27,words:2482},y:"a",t:"在 Windows 中使用 Bash shell"},["/code/bash-for-windows.html","/code/bash-for-windows.md"]],["v-7fdba302","/code/document-style-guide.html",{d:1659209331e3,l:"2022年7月31日",e:`概述:Git Bash 内置了 Vim 和多数 Linux 命令,使用 Git Bash 为默认终端能提高 Win 端终端操作文件的效率
+
+本文语雀地址:https://www.yuque.com/achuan-2/blog/eu4rbz
+本文博客地址:https://achuan-2.github.io/posts/be43.html +source: https://zhuanlan.zhihu.com/p/418321777
中文技术文档的写作规范,转自 ruanyf/document-style-guide: 中文技术文档的写作规范 (github.com)。
+当前版本:b7723b8
`,r:{minutes:14.74,words:4423},y:"a",t:"中文技术文档的写作规范"},[":md"]],["v-55a1aa9d","/dft-learning/",{d:16041672e5,l:"2020年11月1日",e:`本文档是一个菜鸡的上课笔记和实践踩坑的一些记录。
+课程为学不会系列之《能源环境材料计算模拟方法》,授课教师四川大学岑望来副研究员。
+教学大纲:
+aria2 是一款支持多种协议的轻量级命令行下载工具。
+Aria2 的运行依靠以下几个文件:
+文件名 | +描述 | +必须? | +
---|---|---|
aria2c (or aria2c.exe) | +主程序 | +是 | +
aria2.conf | +配置文件 | +是 | +
aria2.session | +任务文件 | +是 | +
aria2.log | +日志文件 | +否 | +
windows 必备应用列表是个人重装电脑后会安装的应用。
+名称 | +需要安装 | +配置文件 | +备注 | +
---|---|---|---|
[MS Office] | +✔ | ++ | 通过 office tool plus 安装 | +
福昕 PDF 编辑器企业版 | +✔ | ++ | 福昕 9.6.0 | +
CAJViewer | +✔ | ++ | CAJViewer7.3 | +
Notepad3 | ++ | Notepad3 配置说明 | ++ |
目前主流 RM AC 2100 的 Pavadan 固件有三个人制作:Hiboy、ChongshenB、hanwckf。已编译好的固件中只有 Hiboy 包括 mentohust,其余二者若需要此插件均需要自行编译。
+路径:拓展功能 - 配置拓展环境 - 锐捷认证
frps.ini
[common]
+bind_port = 7000
+token = 通讯密码
+subdomin_host = frp.northword.cn
+log_file = ./frps.log
+log_level = info
+log_max_days = 5
+
连接一个无线网络后,如果该网络需要认证(登录)(常见于开放网络或校园网),系统会访问 http://www.msftconnecttest.com/redirect
,该网址会自动重定向到需要进行认证的地址。
但如果爬了梯,且代理的规则将 msftconnecttest.com 判断为走代理时,该页面无法正常跳转。这种情况常见于 SSR 的 PAC 模式、Clash 的规则中将微软策略匹配为 proxy 等。
+由于我是用 Clash For Windows ,以下内容也针对 CFW ,但其他应当同理。
`,r:{minutes:1.95,words:584},y:"a",t:"开启代理后 msftconnecttest.com 无法跳转"},["/software/开启代理后msftconnecttest无法跳转.html","/software/开启代理后msftconnecttest无法跳转.md",":md"]],["v-462cf0b5","/software/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%8A%98%E8%85%BE.html",{d:1642785716e3,l:"2022年1月22日",e:`raboof/nethogs: Linux 'net top' tool (github.com)
`,r:{minutes:.19,words:56},y:"a",t:"云服务器的折腾记录"},["/software/服务器的折腾.html","/software/服务器的折腾.md",":md"]],["v-27805d44","/code/citation-style-language/",{d:1659370984e3,l:"2022年8月2日",e:`++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。
+Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 同样漂亮的引用和参考文献目录。
`,r:{minutes:1.95,words:585},y:"a",t:"CSL 中文文档"},["/code/citation-style-language/README.md"]],["v-3e8b5a96","/code/citation-style-language/translating-locale-files.html",{d:1659456133e3,l:"2022年8月3日",e:`++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。
+ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:"British Psychological Society" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。
`,r:{minutes:1.74,words:523},y:"a",t:"Locale File"},[":md"]],["v-75033482","/code/citation-style-language/xml-basic.html",{d:1659370984e3,l:"2022年8月2日",e:`++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
CSL
基于 XML(eXtensible Markup Language)
。XML
是一种标记语言,这里只介绍基本的术语,以理解 CSL
文件格式。
<?xml version="1.0" encoding="utf-8" standalone="yes" ?> # 文档声明
+
+<!-- 这是一个注释 --> # 注释
+
+<hello> # 根元素,文档的第一个元素,有且仅有一个
+ # 子元素
+ # 属性
+ # 元素文本
+</hello>
+
没啥好写的,不就是个系统,区别于 Windows
、MacOs
嘛。
命令 | +说明 | +
---|---|
cd |
+切换目录 | +
ls |
+列出文件和目录 | +
ll |
+同上 | +
mkdir |
+新建文件夹 | +
cp |
+复制 | +
mv |
+移动 | +
rm |
+删除文件 | +
rmdir |
+删除目录 | +
pwd |
+当前目录 | +
cat |
+查看文件全文 | +
tail |
+预览文件后几行 | +
tar |
+压缩/解压缩 | +
vi 编辑器是 Linux 系统下标准的编辑器,这玩意有些简单,虽然命令很多,不过练练就好,懒得写了,参考 Linux vi/vim | 菜鸟教程 吧。
+基本上 vi/vim 共分为三种模式,分别是 命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。这三种模式的作用分别是:
`,r:{minutes:8.34,words:2501},y:"a",t:"vi / vim 编辑器"},["/code/linux/16.linux-vi.html","/code/linux/16.linux-vi.md"]],["v-67bc2210","/code/linux/lrzsz/",{d:160441386e4,l:"2020年11月3日",c:["Linux"],e:`上传
和 下载
都是针对本地来说,是站在用户的角度的;如果站在服务器的角度,那么本地上传的文件,服务器应为 接收(recive)
,下载到本地的文件,对服务器应是 发送(send)
。因此,
sz
:让服务器将选定的文件发送(send)到本地
rz
:让服务器接收 (receive) 在本地选择的文件
通过修改 PS1
变量实现:
\\u 显示当前用户账号
+ \\v BASH的版本信息
+
+ \\H 完整的主机名称。例如:hostname为aliyun.alibaba.clound,则这个名称就是aliyun.alibaba.clound
+ \\h 仅取主机的第一个名字,例如:hostname为aliyun.alibaba.clound,则这个名称就是aliyun
+
+ \\W 只显示当前路径最后一个目录
+ \\w 显示当前绝对路径(当前用户目录会以 ~代替)
+
+ \\t 显示时间为24小时格式,如:14:19:34
+ \\T 显示时间为12小时格式,如:02:19:34
+ \\A 显示时间为24小时格式但是不带秒,如:14:19
+ \\d 代表日期,格式为weekday month date,例如:"Mon Aug1"
+
+ $PWD 显示当前全路径
+ # 显示命令行提示符号,一般使用'$'或者'#'
+ sudo echo "export PS1='[\\u@\\h \\w]# '" >> /etc/profile
+ # 如果想要在用户家目录的时候显示为~则可以将$PWD换为\\w
+
参考:linux 非 root 用户安装软件入门 | tlanyan.me .
+下为上文的备份。
+下面是 Linux 下非 root 用户安装软件的一般流程:
+wget/curl
下载,也可以用类似 apt-get source
的方式获取仓库中软件源代码;tar -zxvf xxx.tar.gz
;./configure
;./configure --help
可以列出配置项,非 root 用户最重要的配置项是安装目录 prefix,例如 ./configure --prefix=/path/to/bin
。在无法自动找到依赖库位置的情况下,用 --with-xx-dir=xxx
的形式配置依赖库位置;make && make install
。这两条命令可以分开执行,make 时指定 -j 参数并行编译,能显著减少编译耗时(单进程编译 GCC 需要几个小时,开启并行编译后可缩短到十几分钟);export PATH=/path/to/bin:$PATH
更新 PATH 变量。命令行窗口运行此命令只对本次会话中有效,可将其写到.bashrc 或者.bash_profile 中;export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH
。最好将此命令写在.bashrc 文件中,用户下次打开会话时自动执行。libi40iw-i40iw_ucreate_qp: failed to create QP, unsupported QP type: 0x4
+--------------------------------------------------------------------------
+Failed to create a queue pair (QP):
+
+Hostname: compute-0-9
+Requested max number of outstanding WRs in the SQ: 1
+Requested max number of outstanding WRs in the RQ: 2
+Requested max number of SGEs in a WR in the SQ: 511
+Requested max number of SGEs in a WR in the RQ: 511
+Requested max number of data that can be posted inline to the SQ: 0
+Error: File exists
+
+Check requested attributes.
+--------------------------------------------------------------------------
+--------------------------------------------------------------------------
+Open MPI has detected that there are UD-capable Verbs devices on your
+system, but none of them were able to be setup properly. This may
+indicate a problem on this system.
+
+You job will continue, but Open MPI will ignore the "ud" oob component
+in this run.
+
+Hostname: compute-0-9
+--------------------------------------------------------------------------
+
安装软件时的“找不到指定文件”,由 python 版本、pip 获得的包版本与当前 python 版本、系统不一致导致的。
+课题组一个同学安装 ase 时遇到以下报错,
+C:\\Users\\admin>pip install ase -i https://pypi.tuna.tsinghua.edu.cn/simple
+Defaulting to user installation because normal site-packages is not writeable
+Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
+Collecting ase
+ Using cached https://pypi.tuna.tsinghua.edu.cn/packages/38/b0/3c0a7afaf66274588216c251376ac2bea0269eb7a5e1da77521811060553/ase-3.22.1-py3-none-any.whl (2.2 MB)
+Collecting matplotlib>=3.1.0
+ Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ec/ae/82960a8135b2f5e7102e9538bed8a791525bb19cbee65326467f43af5d0c/matplotlib-3.6.0-cp311-cp311-win_amd64.whl (7.2 MB)
+Collecting numpy>=1.15.0
+ Using cached https://pypi.tuna.tsinghua.edu.cn/packages/2e/bd/286dacf2655c4db1a5076390337c746452a08def20daa53b4903722545d2/numpy-1.23.3-cp311-cp311-win_amd64.whl (14.6 MB)
+Collecting scipy>=1.1.0
+ Using cached https://pypi.tuna.tsinghua.edu.cn/packages/db/af/16906139f52bc6866c43401869ce247662739ad71afa11c6f18505eb0546/scipy-1.9.1.tar.gz (42.0 MB)
+ Installing build dependencies ... done
+ Getting requirements to build wheel ... error
+ error: subprocess-exited-with-error
+
+ × Getting requirements to build wheel did not run successfully.
+ │ exit code: 1
+ ╰─> [55 lines of output]
+ The Meson build system
+ Version: 0.62.2
+ Source dir: C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd
+ Build dir: C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\.mesonpy-iocfb37s\\build
+ Build type: native build
+ Project name: SciPy
+ Project version: 1.9.1
+ WARNING: Failed to activate VS environment: Could not find C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\vswhere.exe
+
+ ..\\..\\meson.build:1:0: ERROR: Unknown compiler(s): [['icl'], ['cl'], ['cc'], ['gcc'], ['clang'], ['clang-cl'], ['pgcc']]
+ The following exception(s) were encountered:
+ Running "icl " gave "[WinError 2] 系统找不到指定的文件。"
+ Running "cl /?" gave "[WinError 2] 系统找不到指定的文件。"
+ Running "cc --version" gave "[WinError 2] 系统找不到指定的文件。"
+ Running "gcc --version" gave "[WinError 2] 系统找不到指定的文件。"
+ Running "clang --version" gave "[WinError 2] 系统找不到指定的文件。"
+ Running "clang-cl /?" gave "[WinError 2] 系统找不到指定的文件。"
+ Running "pgcc --version" gave "[WinError 2] 系统找不到指定的文件。"
+
+ A full log can be found at C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\.mesonpy-iocfb37s\\build\\meson-logs\\meson-log.txt
+ + meson setup --native-file=C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2 --prefix=C:\\Program Files\\Python311 C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd C:\\Users\\admin\\AppData\\Local\\Temp\\pip-install-hnc68765\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\.mesonpy-iocfb37s\\build
+ Traceback (most recent call last):
+ File "C:\\Program Files\\Python311\\Lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py", line 363, in <module>
+ main()
+ File "C:\\Program Files\\Python311\\Lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py", line 345, in main
+ json_out['return_val'] = hook(**hook_input['kwargs'])
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "C:\\Program Files\\Python311\\Lib\\site-packages\\pip\\_vendor\\pep517\\in_process\\_in_process.py", line 130, in get_requires_for_build_wheel
+ return hook(config_settings)
+ ^^^^^^^^^^^^^^^^^^^^^
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 923, in get_requires_for_build_wheel
+ with _project(config_settings) as project:
+ File "C:\\Program Files\\Python311\\Lib\\contextlib.py", line 137, in __enter__
+ return next(self.gen)
+ ^^^^^^^^^^^^^^
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 902, in _project
+ with Project.with_temp_working_dir(
+ File "C:\\Program Files\\Python311\\Lib\\contextlib.py", line 137, in __enter__
+ return next(self.gen)
+ ^^^^^^^^^^^^^^
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 547, in with_temp_working_dir
+ yield cls(source_dir, tmpdir, build_dir)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 463, in __init__
+ self._configure(reconfigure=bool(build_dir) and not native_file_mismatch)
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 494, in _configure
+ self._meson(
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 477, in _meson
+ return self._proc('meson', *args)
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^
+ File "C:\\Users\\admin\\AppData\\Local\\Temp\\pip-build-env-s4svfkf_\\overlay\\Lib\\site-packages\\mesonpy\\__init__.py", line 472, in _proc
+ subprocess.check_call(list(args))
+ File "C:\\Program Files\\Python311\\Lib\\subprocess.py", line 413, in check_call
+ raise CalledProcessError(retcode, cmd)
+ subprocess.CalledProcessError: Command '['meson', 'setup', '--native-file=C:\\\\Users\\\\admin\\\\AppData\\\\Local\\\\Temp\\\\pip-install-hnc68765\\\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\\\.mesonpy-native-file.ini', '-Ddebug=false', '-Doptimization=2', '--prefix=C:\\\\Program Files\\\\Python311', 'C:\\\\Users\\\\admin\\\\AppData\\\\Local\\\\Temp\\\\pip-install-hnc68765\\\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd', 'C:\\\\Users\\\\admin\\\\AppData\\\\Local\\\\Temp\\\\pip-install-hnc68765\\\\scipy_9107fc1b1e9e4610afdf71a4f31e69fd\\\\.mesonpy-iocfb37s\\\\build']' returned non-zero exit status 1.
+ [end of output]
+
+ note: This error originates from a subprocess, and is likely not a problem with pip.
+error: subprocess-exited-with-error
+
+× Getting requirements to build wheel did not run successfully.
+│ exit code: 1
+╰─> See above for output.
+
+note: This error originates from a subprocess, and is likely not a problem with pip.
+
+
新版 ubuntu 要求使用 https 源,要注意。
+不写了,反正写了也看不懂 — — !
+嘻
+啊这...我也不知道啊...
+插播一个我觉得还不错的视频 谈谈理论计算如何入门(上) | BV1z7411f7ra ,UP是刘锦程博士:
+本列表中,对于完成课程所必需使用的软件,标注为 (Required)
;可选安装的软件,标注为 (Optional)
。
对于 Windows 端的程序,部分关键的安装步骤展示在第二节。
+由于安装过于简单,故只对部分关键步骤做说明。
+安装结束后,不要运行软件!把安装包旁的的 msi2019.lic
复制到 C: \\Program Files (x86)\\BIOVIA\\LicensePack\\Licenses
然后启动授权管理器:
+`,r:{minutes:.69,words:207},y:"a",t:"Windows 平台的部分软件安装"},["/dft-learning/02.Install/01.windows-apps.html","/dft-learning/02.Install/01.windows-apps.md"]],["v-28c0fe97","/dft-learning/pages/66a232/",{d:160561122e4,l:"2020年11月17日",c:["Install"],e:`总结:根据 python 版本选择 ase 版本。python3 及以上最新即可。python2 选 3.17.0 及以下。学校集群由于其他依赖包版本低,需要装 3.9.1。
+推荐视频 VASPKIT 功能介绍,解放你的双手 :
+cd ~/app
+wget http://theory.cm.utexas.edu/code/vtstscripts.tgz
+
lrzsz
是一款在 linux 里可代替 FTP 上传和下载的程序。可以实现在 linux 中支持直接拖拽上传;同时也支持 rz
和 sz
命令进行上传和下载。
如果拥有 ROOT 权限,可以直接执行下述代码安装:
+yum -y install lrzsz
+
无需,学校已安装。
+cd /tmp
+wget https://jaist.dl.sourceforge.net/project/gnuplot/gnuplot/5.2.5/gnuplot-5.2.5.tar.gz
+tar xzvf gnuplot-5.2.5.tar.gz
+cd gnuplot-5.2.5/
+./configure --prefix=/public/home/zjb/app/gunplot/
+make & make install
+
由于 ASE
依赖 Python3.5
或更高版本,而学习的机器上只有 python2
,所以要装一下 py3。
cd /tmp
+wget -c https://www.openssl.org/source/openssl-1.1.1d.tar.gz
+tar -xvf openssl-1.1.1d.tar.gz
+cd openssl-1.1.1d
+./config --prefix=/public/home/zjb/openssl-1.1.1d no-zlib #注意添加no-zlib
+make && make install
+
$ more README
+ vasp.X.X.X (root directory)
+ |
+ ---------------------------------------
+ | | | |
+ arch bin build src
+ |
+ ----------
+ | |
+ lib CUDA
+
作业一般会提交到超算集群上进行计算。在集群上,一般不能随意地直接以 mpirun 运行我们的并行计算程序,而必须通过其上提供的作业管理系统来提交计算任务。集群作业管理系统可以根据用户的需求,统一管理和调度集群的软硬件资源,保证用户作业公平合理地共享集群资源,提高系统利用率和吞吐率。
+PBS 就是其中一种解决方案,作业通过 PBS 命令提交到 PBS 队列中,然后经由 PBS 分配资源运行。
+用以下命令提交作业:
+qsub [options] <control script>
+
+`,r:{minutes:2.48,words:744},y:"a",t:"建模中的一些小疑惑"},["/dft-learning/04.Materials-Studio/02.note.html","/dft-learning/04.Materials-Studio/02.note.md"]],["v-5934b528","/dft-learning/pages/ae5253/",{d:160129567e4,l:"2020年9月28日",c:["Materials-Studio"],e:`如果只计算体性质,用原胞(primitivecell)就可以,建立超胞(supercell)的目的是什么?
+我们一般建立晶胞,设置 k 点进行计算,那么建立超晶胞的目的何在呢?
+(1)掺杂问题
+1)建立超胞是为了获得合适的掺杂浓度;
+2)清晰地分成置换固溶体或间隙固溶体
+(2)表面吸附问题
+1)可以模拟不同晶向的吸附密度;
+2)要避免吸附的气体分子和镜像分子间有作用;
+ +
任务:建立CO在Au 111 晶面的吸附模型
+步骤:导入Au模型,切111面,建立超胞,加真空,加CO分子。
+结果:
+ +`,r:{minutes:.32,words:95},y:"a",t:"作业:CO吸附在Au上建模"},["/dft-learning/04.Materials-Studio/11.task-model-of-CO-absorption-on-Au copy.html","/dft-learning/04.Materials-Studio/11.task-model-of-CO-absorption-on-Au%20copy.html","/dft-learning/04.Materials-Studio/11.task-model-of-CO-absorption-on-Au copy.md","/dft-learning/04.Materials-Studio/11.task-model-of-CO-absorption-on-Au%20copy.md"]],["v-e6ee3948","/dft-learning/pages/391336/",{d:160129567e4,l:"2020年9月28日",c:["Materials-Studio"],e:`建立矩形的石墨烯模型
+导入石墨烯结构
+import - Structures\\ceramics\\graphite.msi
+Make P1 降低对成性
+Build -> Symmetry -> Make P1,
+删掉一层C原子层
+切面
+Build -> Surfaces -> Cleave Surface
+Surface Box - Cleave plane: 001
+Surface Mesh - Surface vectors - U: 210
+超胞
+Build -> Symmetry -> Supercell
+Supercell range A=3, B=5 (60 C atoms)
+真空层
+Build -> Crystals -> Build Vacuum Slab
+Vacuum orientation: C
+Vacuum thickness: 20 Å
+将原子层移动到Z方向中部(只是看起来方便)
+Display style -> Lattice -> display style -> style -> In cell
+修改背景、标尺、晶格的颜色等
+Save and Print to PDF
+懒得写了的
+问题 17: 如何快速、准确地选取某一类原子或者原子团,以及它们的组合体?
+答: MS 的计算结束后,下一步是进行结果分析,常见如:结合(作用)能量计算、浓度(浓度)分布(Concentration Profile)、均方位移(Mean Square Displacement,MSD)、径向分布函数(Radial Distribution Function,RDF)、回转半径(Radius of Gyration)等等。即便是常见的结合能计算:E_interaction = E_total - (E_surface + E_adsorbate)也是需要分别选取不同原子(团)作为分析目标。所以,结果分析的第一步,是要准确无误地选取分析目标。
`,r:{minutes:2.64,words:793},y:"a",t:"Materials Studio"},["/dft-learning/04.Materials-Studio/","/dft-learning/04.Materials-Studio/README.md"]],["v-0d003bb2","/dft-learning/pages/df30ef/",{d:160803889e4,l:"2020年12月15日",c:["VASP"],e:`VASP
的全称 Vienna Ab-initio Simulation Package
,是维也纳大学 Hafner 小组开发的进行电子结构计算和量子力学 - 分子动力学模拟软件包。
vaspkit
是一款 VASP 预 - 后数据处理脚本。最新版的 vaspkit
是王伟老师、许楠、刘锦程,唐刚,李强和乐平共同努力的成果。
因此我们需要区分开 VASP
和 VASPKIT
。VASP
是一款计算模拟软件,而 VASPKIT
仅是为方便使用 VASP
而开发的一个脚本包。也即,如果不用 VASPKIT
,你仍然可以使用 VASP
进行计算,无非麻烦一些罢了。
一按键盘就卡住,可能是由于新版本的微软拼音导致的,开启微软拼音的兼容模式即可。
+`,r:{minutes:.26,words:78},y:"a",t:"MS 在 win2004 及以上一按鼠标就卡住"},["/dft-learning/09.Others/01.MS-NoResponse-win2004.html","/dft-learning/09.Others/01.MS-NoResponse-win2004.md"]],["v-5ae1580f","/dft-learning/pages/fa5420/",{d:160528849e4,l:"2020年11月14日",c:["Others"],e:` ase --version
+ ** On entry to DGEBAL parameter number 3 had an illegal value
+ ** On entry to DGEHRD parameter number 2 had an illegal value
+ ** On entry to DORGHR DORGQR parameter number 2 had an illegal value
+ ** On entry to DHSEQR parameter number 4 had an illegal value
+Traceback (most recent call last):
+ File "c:\\users\\northword\\appdata\\local\\programs\\python\\python39\\lib\\runpy.py", line 197, in _run_module_as_main
+ return _run_code(code, main_globals, None,
+ File "c:\\users\\northword\\appdata\\local\\programs\\python\\python39\\lib\\runpy.py", line 87, in _run_code
+ exec(code, run_globals)
+ File "C:\\Users\\Northword\\AppData\\Roaming\\Python\\Python39\\Scripts\\ase.exe\\__main__.py", line 4, in <module>
+ File "C:\\Users\\Northword\\AppData\\Roaming\\Python\\Python39\\site-packages\\ase\\__init__.py", line 8, in <module>
+ import numpy as np
+ File "C:\\Users\\Northword\\AppData\\Roaming\\Python\\Python39\\site-packages\\numpy\\__init__.py", line 305, in <module>
+ _win_os_check()
+ File "C:\\Users\\Northword\\AppData\\Roaming\\Python\\Python39\\site-packages\\numpy\\__init__.py", line 302, in _win_os_check
+ raise RuntimeError(msg.format(__file__)) from None
+RuntimeError: The current Numpy installation ('C:\\\\Users\\\\Northword\\\\AppData\\\\Roaming\\\\Python\\\\Python39\\\\site-packages\\\\numpy\\\\__init__.py') fails to pass a sanity check due to a bug in the windows runtime. See this issue for more information: https://tinyurl.com/y3dm3h86
+
啊这,我还没写完...
+还是恭喜你看完了本菜鸡写的不怎么样的文档,谢谢你呀~
+本文的包含的仅仅是个人遇到的,而且水平不够,写的其实当入门都勉强哈,还有更多的知识,需要查手册、查前人的文章、笔记、博文,面向学术科研,面向百度编程,可太真实了 233
使用 Office Tool Plus 下载、部署 Office,使用 KMS 激活。
+下载安装 Office 有多种途径,可以从 office 官网下载安装,也可以从 Windiws 应用商店下载安装,但这些方法无法自定义安装组件,所以更推荐使用 Office Tool Plus(下简称为 OTP)进行部署。
+下载 | Office Tool Plus 官方网站 (landian.vip)
`,r:{minutes:.51,words:153},y:"a",t:"Office 安装"},["/software/office/install.html","/software/office/install.md"]],["v-46bb4806","/software/zotero/",{y:"p",t:"Zotero"},["/software/zotero/README.md"]],["v-4ebfad01","/software/zotero/Zotero%20%E5%B0%86%E5%BC%95%E6%96%87%E9%93%BE%E6%8E%A5%E5%88%B0%E5%8F%82%E8%80%83%E4%B9%A6%E7%9B%AE.html",{d:1659126197e3,l:"2022年7月30日",e:`建立引用(citation)与参考书目(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”:
+ +Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [1]。
`,r:{minutes:3.02,words:905},y:"a",t:"Zotero 将引文链接到参考书目"},["/software/zotero/Zotero 将引文链接到参考书目.html","/software/zotero/Zotero 将引文链接到参考书目.md",":md"]],["v-2d2d3678","/software/zotero/Zotero%20%E6%8C%87%E5%8C%97.html",{d:1642543206e3,l:"2022年1月19日",e:`Why Zotero & Why NOT EndNote?
+++Todo
+
没什么好记录的,在 Zotero 官网 下载一路下一步安装即可。
+++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
CSL
是一种基于 XML
的开放 (开源) 语言,用来描述引用和参考文献的格式。对 CSL
更加技术和详细的描述见 CSL 规范。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
引文格式有很多很多种,我们最常用的就是国标(信息与文献 参考文献著录规则),最新的国标代号是 (GB/T 7714-2015)
。大多数的引用格式都属于几个基本类别,如下:
引用格式可以分为两个主要的类型。第一种就是 in-text styles
,正文中的引用直接指向参考文献目录中的一个或者多个条目。in-text styles
还可以细分为 author-date,author,numeric
和 label
格式。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
这里只给出了一个基本的介绍。有关 CSL
更详细的介绍可以查看 CSL
标准文档或者其他参考文档。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
要明白 CSL
是怎么运作的,首先要了解 CSL
的生态。Style
指的是 CSL 样式,Item Metadata
指的是每篇参考文献的作者,题目等信息,Locale Files
是为实现与语言无关(指英语,汉语等)的格式的本地化文件,Citation Details
指的是影响引文信息或参考文献列表表现的细节,比如顺序,位置等。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
到现在为止,我们已经知道什么是 CSL
、怎么使用它、以及它怎么运作的。接下来我们将深入到 CSL
文件内部,分析它的 XML
代码。XML基础.md
文件中简单介绍了 XML
,看完后可以读懂并编辑简单的 XML
文件。如果想更多的了解 XML
,可以在网上查找 XML
教程。
++[!DONE] +此页面于 2022-8-2 已校对完成。
+
主要作者:Rintze M. Zelle, PhD、 Brenton M. Wiernik、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier
`,r:{minutes:1.72,words:517},y:"a",t:"CSL 1.0.2 规范"},["/code/citation-style-language/specification/README.md"]],["v-3ad3b172","/code/citation-style-language/specification/file-types.html",{d:1659372926e3,l:"2022年8月2日",e:`++[!DONE] File Types
+
CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl
作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml
,其中 xx-XX
表示语言以及其方言,例如 en-US
表示美式英语)。
独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。
`,r:{minutes:1.28,words:384},y:"a",t:"文件类型"},[":md"]],["v-08a9b111","/code/citation-style-language/specification/locale-files-strucure.html",{d:1659372926e3,l:"2022年8月2日",e:`++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
尽管本地化数据可以包括在 csl 文件中 (见 Locale),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。
+每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为 cs:locale
(样式/style 中则为 cs:style
元素)。在 cs:locale
根元素中,属性 xml:lang
用来设置方言。同时这一设置选项也用来对本地化文件命名("xx-XX"
文件名为 locales-xx-XX.xml
)。此外,根元素必须携带 version
属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为 "1.0"
)。本地化文件有和样式同样的命名空间。cs:locale
元素可能包含 cs:info
作为第一个子元素,同时,必须含有 cs:terms
、cs:date
、cs:style-options
子元素。下面是一个 本地化文件的部分示例:
++[!Done] Namespacing
+
CSL XML 命名空间 URI 是 http://purl.org/net/xbiblio/csl。
+在本规范中,当提及 CSL 元素时,命名空间前缀为 cs:
,但对于根元素 cs:style
或 cs:locale
的默认命名空间声明(用 xmlns
属性设置),通常省略 cs:
。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。
+cs:layout
渲染元素是 cs:citation
元素和 cs:bibliography
元素的的必要子元素。cs:layout
必须包含一个或者多个渲染元素,并且可能携带 affixes
和 formattig
属性。在 cs:citation
元素中,delimiter
属性用来指定一个引文中的不同引用的间隔符。例如:一个 "(1,2)"
类型的引文可以使用下面的代码实现:
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
样式可以使用不同的元素来进行特定的配置。在 cs:citation
元素中设置元素可以配置特定的 引文选项;在 cs:bibliography
元素和 全局选项(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在 cs:style
,cs:style
和 cs:bibliography
中设置。最后,本地化选项 可以在 cs:locale
元素中设置。
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
cs:style
样式的根元素是 cs:style
。在 独立样式 中,根元素有以下几种属性:
++[!question] Whitespace Handling +翻译有一些疑惑,请参阅原文,欢迎提出改善意见。
+
CSL styles are valid XML, but CSL processors MUST NOT normalize attribute values by trimming leading or trailing whitespace from attributes which define text that is intended for output:
+CSL 样式是有效的 XML,但是 CSL 处理器不会(MUST NOT)通过修剪以下属性值前后的空格来规范输出。
`,r:{minutes:.45,words:135},y:"a",t:"空格处理"},[":md"]],["v-1f0249ff","/code/citation-style-language/specification/xml-declaration.html",{d:1659375191e3,l:"2022年8月2日",e:`++[!Done] XML Declaration
+
每个样式或者本地化文件应该以 XML 声明开头,指定具体的 XML 版本以及字符编码。多数情况下,XML 声明可以是:
+<?xml version="1.0" encoding="UTF-8"?>
+
VASP 运行至少包含四个输入文件:INCAR
、POSCAR
、POTCATR
、KPOINTS
。
INCAR 是 VASP 运行的 控制文件,他告诉 VASP 要 做什么以及如何去做。INCAR 文件中包含很多标签及其对应的值,通过修改他们来修改 VASP 运行的参数。
+标签的含义可以查 vasp-input-files-INCAR 和 [VASP 手册](https://www.vasp.at/wiki/index.php/Category: INCAR)。
`,r:{minutes:8.58,words:2574},y:"a",t:"VASP 的输入文件"},["/dft-learning/05.VASP/01.VASP输入输出文件/01.vasp-input-files.html","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/01.vasp-input-files.html","/dft-learning/05.VASP/01.VASP输入输出文件/01.vasp-input-files.md","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/01.vasp-input-files.md"]],["v-0e400be1","/dft-learning/pages/4f0a58/",{d:160599007e4,l:"2020年11月22日",c:["VASP"],e:`整理一些常用的碰到的 tags,没有的依然是返回 VASP 手册咯;整理了的都是最简单的信息,更多信息也是查手册咯。分类和顺序按 OUTCAR 描述的。
+标签名似乎也有一些规律,如以 L 开头的几乎都是逻辑(Logic)标签,取值都是布尔;
+与常规编程不同,INCAR 中所有标签的取值,字符串类型无需加引号,如 SYSTEM = O2_geo
;布尔类型应在两端加上 .
,如 LWAVE = .FALSE.
;
几种必要的数据类型(仅是为了方便我理解,这个并不用会):
`,r:{minutes:7.83,words:2349},y:"a",t:"INCAR 中的常用标签"},["/dft-learning/05.VASP/01.VASP输入输出文件/02.vasp-input-files-INCAR.html","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/02.vasp-input-files-INCAR.html","/dft-learning/05.VASP/01.VASP输入输出文件/02.vasp-input-files-INCAR.md","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/02.vasp-input-files-INCAR.md"]],["v-48a4ee89","/dft-learning/pages/206ec4/",{d:160417116e4,l:"2020年11月1日",c:["VASP"],e:`输入文件包括 POSCAR、INCAR、KPOINTS、POTCAR。注意大小写,因为 linux 是严格区分大小写的系统。
+该页以对 O2
分子进行结构优化为例,说明 VASP 输入文件的生成步骤。
VASPKIT 可以帮助我们简化准备输入文件的步骤,可以先看下 VASPKIT 提供了哪些可以生成输入文件的工具:
+[zjb@op O2_opt]$ vaspkit
+
+ \\\\\\///
+ / _ _ \\ Hey, you must know what you are doing.
+ (| (.)(.) |) Otherwise you might get wrong results!
+ +-----.OOOo--()--oOOO.------------------------------------------+
+ | VASPKIT Version: 1.12 (01 Mar. 2020) |
+ | Core Developer: Vei WANG (wangvei@icloud.com) |
+ | Main Contributors: Nan XU, Jin-Cheng LIU & Gang TANG |
+ | Please send Bugs and Suggestions to vaspkit@gmail.com |
+ +-----.oooO-----------------------------------------------------+
+ ( ) Oooo.
+ \\ ( ( )
+ \\_) ) /
+ (_/
+ ===================== Structural Options ========================
+ 1) VASP Input Files Generator 2) Elastic-Properties
+ 3) K-Path Generator 4) Structure Editor
+ 5) Catalysis-ElectroChem Kit 6) Symmetry Search
+
+ ===================== Electronic Options ========================
+ 11) Density-of-States 21) DFT Band-Structure
+ 23) 3D Band-Structure 25) Hybrid-DFT Band-Structure
+ 26) Fermi-Surface 28) Band-Structure Unfolding
+
+ =========== Charge & Potential & Wavefunction Options ===========
+ 31) Charge & Spin Density 42) Potential-Related
+ 51) Wave-Function Analysis
+ ====================== Misc Utilities ===========================
+ 71) Optical-Properties 72) Molecular-Dynamics Kit
+ 73) VASP2other Interface 74) USER interface
+ 91) Semiconductor Calculator 92) 2D-Materials Kit
+
+ 0) Quit
+ ------------>>
+
+
基本的输出文件:OUTCAR、OSZICAR、stdout;
+++todo
+
收敛速度与当前步的信息。
+LOCPOT:获取静电势能,当 INCAR 中启用 LVHAR=.T.
时输出。
[Category: Output_Files - vaspwiki](https://www.vasp.at/wiki/index.php/Category: Output_Files)
`,r:{minutes:.28,words:85},y:"a",t:"VASP 的输出文件"},["/dft-learning/05.VASP/01.VASP输入输出文件/05.vasp-output-files.html","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/05.vasp-output-files.html","/dft-learning/05.VASP/01.VASP输入输出文件/05.vasp-output-files.md","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/05.vasp-output-files.md"]],["v-7c106e16","/dft-learning/pages/vasp-files/",{y:"p",t:"VASP 输入输出文件"},["/dft-learning/05.VASP/01.VASP输入输出文件/","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/","/dft-learning/05.VASP/01.VASP输入输出文件/README.md","/dft-learning/05.VASP/01.VASP%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E6%96%87%E4%BB%B6/README.md"]],["v-b05d858c","/dft-learning/pages/d67596/",{d:160599007e4,l:"2020年11月22日",c:["VASP"],e:`结构优化计算是指将输入结构进行弛豫,得到一个稳定的结构(通常以能量变化或力作为收敛标准)。
+静态自洽计算,顾名思义就是不对原子或离子的坐标进行改变,只是调整体系电子的运动,以达到该结构的最低能量。
+非自洽计算,是在自洽基础上改变 k 点等等参数,根据不同需要选取能量或势函数或电子密度作为初始值,进行迭代计算,可用于求解 DOS,能带或者光学等其他性质。
+本页对进行结构优化、静电自洽、非静电自洽。
`,r:{minutes:3.64,words:1092},y:"a",t:"结构优化、自洽、非自洽"},["/dft-learning/05.VASP/02.优化/02.vasp-opt.html","/dft-learning/05.VASP/02.%E4%BC%98%E5%8C%96/02.vasp-opt.html","/dft-learning/05.VASP/02.优化/02.vasp-opt.md","/dft-learning/05.VASP/02.%E4%BC%98%E5%8C%96/02.vasp-opt.md"]],["v-264f8f39","/dft-learning/pages/663d74/",{d:1612904756e3,l:"2021年2月10日",c:["VASP","优化"],e:`晶格常数计算通常有两种方法,BM 方程拟合法和直接优化晶格常数(vasp-ISIF=3).
+++todo...
+ +
DFT+U Calculation
+ LDAU = .TRUE. (启用 DFT+U)
+ LDATYPE= 2 (+U的类型)
+ LDAUL = 2 -1 (Orbitals for each species)
+ LDAUU = 3.5 0 (U for each species)
+ LDAUJ = 0 0 (J for each species)
+ LMAXMIX= 4 (Mixing cut-off; 4-d, 6-f)
+
表面能,是创造物质表面时,破坏分子间化学键所需消耗的能量。在固体物理理论中,表面原子比物质内部的原子具有更多的能量,因此,根据能量最低原理,原子会自发的趋于物质内部而不是表面。表面能的另一种定义是,材料表面相对于材料内部所多出的能量。把一个固体材料分解成小块需要破坏它内部的化学键,所以需要消耗能量。如果这个分解的过程是可逆的,那么把材料分解成小块所需要的能量就和小块材料表面所增加的能量相等。但事实上,只有在真空中刚刚形成的表面才符合上述能量守恒。因为新形成的表面是非常不稳定的,它们通过表面原子重组和相互间的反应,或者对周围其他分子或原子的吸附,从而使表面能量降低。
`,r:{minutes:3.65,words:1096},y:"a",t:"表面能的计算"},["/dft-learning/05.VASP/02.优化/05.vasp-surface-energy.html","/dft-learning/05.VASP/02.%E4%BC%98%E5%8C%96/05.vasp-surface-energy.html","/dft-learning/05.VASP/02.优化/05.vasp-surface-energy.md","/dft-learning/05.VASP/02.%E4%BC%98%E5%8C%96/05.vasp-surface-energy.md"]],["v-76165238","/dft-learning/pages/c81f27/",{d:161125713e4,l:"2021年1月22日",c:["VASP","优化"],e:`++Todo
+
slab 模型在 Z 方向
+一方面影响计算量的大小,另一方面,对于不同的体系,我们需要不同厚度的 slab 模型来保证计算的准确性。例如:对于金属体系来说,越开放的表面往往需要更多的层数。测试或参考他人成果。
+slab 模型在 XY 方向
+文献中常用的差分电荷密度图为二次差分电荷密度图 (difference charge density),区别于差分电荷密度图 (deformation charge density)。差分电荷定义为成键后的电荷密度与对应的点的原子电荷密度之差。通过差分电荷密度的计算和分析,可以清楚地得到在成键和成键电子耦合过程中的电荷移动以及成键极化方向等性质。“二次”是指同一个体系化学成分或者几何构型改变之后电荷的重新分布。Deformation charge density 的公式定义为 (1),Difference charge density 的公式定义为 (2)。Difference charge density 是文献中最常用的方法。
`,r:{minutes:5.59,words:1678},y:"a",t:"VASP 计算电荷密度差"},["/dft-learning/05.VASP/03.电子结构/02.vasp-chg-diff.html","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/02.vasp-chg-diff.html","/dft-learning/05.VASP/03.电子结构/02.vasp-chg-diff.md","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/02.vasp-chg-diff.md"]],["v-8a8094b0","/dft-learning/pages/904969/",{d:161054767e4,l:"2021年1月13日",c:["VASP","电子结构"],e:`本页以 O2 的自选电荷密度为例。
+本页操作在完成 O2 结构优化、自洽、非自洽 中结构优化、静电自洽后进行。
+在 2-scf/
文件夹中进行。
有两种方法获得其自旋电荷密度:
+# Usage
+$ chgsplit.pl <CHGCAR>
+
+# This example
+[zjb@op 2-scf]$ chgsplit.pl CHGCAR
+Atoms in file: 2
+Points in total charge density: 1200000
+Points in magnetization density: 1200000
+
态密度,也就是每个轨道的电子云分布比例,通过态密度可以了解电子结构。
+在非自洽计算的基础上进行态密度分析。
+本页以计算 O2 的态密度为例。
+本页操作在完成 O2 结构优化、自洽、非自洽 之后进行。在 3-nscf
文件夹中继续。
计算完成后用 VTST Script
的脚本 split_dos
分离态密度:
++Todo
+
理查德·贝德(Richard Bader)开发了一种将分子分解为原子的直观方法。他对原子的定义纯粹基于电子电荷密度。Bader 使用所谓的零磁通表面来划分原子。零通量表面是 2D 表面,其上电荷密度垂直于表面。通常在分子系统中,电荷密度在原子之间达到最小值,这是将原子彼此分开的自然位置。除了作为分子中原子可视化的直观方案外,Bader 的定义通常也可用于电荷分析。例如,Bader 体积内的电荷与原子的总电子电荷很接近。电荷分布可用于确定相互作用的原子或分子的多极矩。Bader 的分析也被用来定义原子的硬度,可以用来量化从原子中去除电荷的成本。
`,r:{minutes:1.52,words:456},y:"a",t:"Bader 电荷分析"},["/dft-learning/05.VASP/03.电子结构/05.vasp-chg-bader.html","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/05.vasp-chg-bader.html","/dft-learning/05.VASP/03.电子结构/05.vasp-chg-bader.md","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/05.vasp-chg-bader.md"]],["v-bbad892c","/dft-learning/pages/vasp-chg/",{y:"p",t:"电子结构"},["/dft-learning/05.VASP/03.电子结构/","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/","/dft-learning/05.VASP/03.电子结构/README.md","/dft-learning/05.VASP/03.%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/README.md"]],["v-2599bd96","/dft-learning/pages/19e493/",{d:160564129e4,l:"2020年11月18日",c:["VASP"],e:`++这张图整挺好,直接拿过来了,这是原地址。
+
[zjb@op neb]$ tree
+.
+├── ini ***初态常规结构优化***
+│ ├── CONTCAR -初态优化后的结构——新的初态
+│ ├── INCAR -初态结构优化的输入文件1
+│ ├── ini2.vasp -
+│ ├── KPOINTS -初态结构优化的输入文件2
+│ ├── OSZICAR
+│ ├── OUTCAR
+│ ├── out.log
+│ ├── POSCAR -初态结构优化的输入文件3
+│ ├── POTCAR -初态结构优化的输入文件4
+│ ├── stdout
+│ ├── vasp.pbs
+├── fin ***末态常规结构优化***
+│ ├── CONTCAR -末态优化后的结构——新的末态
+│ ├── fin2.vasp
+│ ├── INCAR
+│ ├── KPOINTS
+│ ├── OSZICAR
+│ ├── OUTCAR
+│ ├── out.log
+│ ├── POSCAR
+│ ├── POTCAR
+│ ├── stdout
+│ └── vasp.pbs
+├── 00 ***↓↓↓*****中间态*****↓↓↓***
+│ ├── OUTCAR -初态结构优化后的OUTCAR ../ini/OUTCAR
+│ ├── POSCAR -初态结构优化后的CONTCAR ../ini/CONTCAR
+│ └── POSCAR.xyz
+├── 01
+│ ├── CONTCAR
+│ ├── OUTCAR
+│ ├── POSCAR
+│ └── POSCAR.xyz
+│ └── stdout
+├── 02
+│ ├── CONTCAR
+│ ├── OUTCAR
+│ ├── POSCAR
+│ ├── POSCAR.xyz
+│ └── stdout
+├── 03
+│ ├── CONTCAR
+│ ├── OUTCAR
+│ ├── POSCAR
+│ ├── POSCAR.xyz
+│ └── stdout
+├── 04
+│ ├── OUTCAR *末态结构优化后的OUTCAR ../fin/OUTCAR
+│ ├── POSCAR *末态结构优化后的CONTCAR ../fin/CONTCAR
+│ └── POSCAR.xyz ***↑↑↑*****中间态*****↑↑↑***
+
+├── INCAR ***neb计算的输入文件等***
+├── KPOINTS
+├── movie
+├── movie.xyz
+├── neb.dat
+├── out.log
+├── POTCAR
+├── stdout
+├── vasp.pbs
+└── vasprun.xml
+
++`,r:{minutes:.12,words:36},y:"a",t:"Dimer 方法"},["/dft-learning/05.VASP/04.反应路径/02.vasp-dimer.html","/dft-learning/05.VASP/04.%E5%8F%8D%E5%BA%94%E8%B7%AF%E5%BE%84/02.vasp-dimer.html","/dft-learning/05.VASP/04.反应路径/02.vasp-dimer.md","/dft-learning/05.VASP/04.%E5%8F%8D%E5%BA%94%E8%B7%AF%E5%BE%84/02.vasp-dimer.md"]],["v-207456c6","/dft-learning/pages/16cc62/",{d:1611240369e3,l:"2021年1月21日",c:["VASP","反应路径"],e:`Todo
+
++Todo.... 频率分析是个啥,理论知识...
+
确定结构是否稳定;
+看振动方式和大小,用来和实验对比,棋博士最新的文章就是一个非常好的例子;
+反应热,反应能垒,吸附能等的零点能矫正;
+确认过渡态(有一个振动的虚频)
+热力学中计算 entropy
,用于计算化学势,微观动力学中的指前因子和反应能垒。
课上:八个水分子为例的分子动力学。
+在 MS 中建立模型,上传,vaspkit-106。
+INCAR 为:
+[zjb@op geo2]$ cat INCAR
+Global Parameters
+ ISTART = 0 (Read existing wavefunction; if there)
+# ISPIN = 2 (Spin polarised DFT)
+ ICHARG = 2 (Non-self-consistent: GGA/LDA band structures)
+ LREAL = .FALSE. (Projection operators: automatic)
+ ENCUT = 400 (Cut-off energy for plane wave basis set, in eV)
+ PREC = Normal (Precision level)
+ LWAVE = .FALSE. (Write WAVECAR or not)
+ LCHARG = .FALSE. (Write CHGCAR or not)
+ NPAR = 4 (Max is no. nodes; don't set for hybrids)
+ ALGO = Fast
+
+Electronic Relaxation
+ISMEAR = 0 (Gaussian smearing; metals:1)
+SIGMA = 0.05 (Smearing value in eV; metals:0.2)
+EDIFF = 1E-04 (SCF energy convergence; in eV)
+
+Ionic Relaxation
+NSW = 100 (Max electronic SCF steps)
+IBRION = 2 (Algorithm: 0-MD; 1-Quasi-New; 2-CG)
+POTIM = 0.3
+#ISIF = 2 (Stress/relaxation: 2-Ions, 3-Shape/Ions/V, 4-Shape/Ions)
+EDIFFG = -1E-02 (Ionic convergence; eV/AA)
+# ISM = 2 (Symmetry: 0=none; 2=GGA; 3=hybrids)
+
+
然后打开 vaspkit
,依次进入 3
,303
。
[zjb@op NaCl]$ cp NaCl.vasp POSCAR
+[zjb@op NaCl]$ vaspkit
+
+ \\\\\\///
+ / _ _ \\ Hey, you must know what you are doing.
+ (| (.)(.) |) Otherwise you might get wrong results!
+ +-----.OOOo--()--oOOO.------------------------------------------+
+ | VASPKIT Version: 1.12 (01 Mar. 2020) |
+ | Core Developer: Vei WANG (wangvei@icloud.com) |
+ | Main Contributors: Nan XU, Jin-Cheng LIU & Gang TANG |
+ | Please send Bugs and Suggestions to vaspkit@gmail.com |
+ +-----.oooO-----------------------------------------------------+
+ ( ) Oooo.
+ \\ ( ( )
+ \\_) ) /
+ (_/
+ ===================== Structural Options ========================
+ 1) VASP Input Files Generator 2) Elastic-Properties
+ 3) K-Path Generator 4) Structure Editor
+ 5) Catalysis-ElectroChem Kit 6) Symmetry Search
+
+ ===================== Electronic Options ========================
+ 11) Density-of-States 21) DFT Band-Structure
+ 23) 3D Band-Structure 25) Hybrid-DFT Band-Structure
+ 26) Fermi-Surface 28) Band-Structure Unfolding
+
+ =========== Charge & Potential & Wavefunction Options ===========
+ 31) Charge & Spin Density 42) Potential-Related
+ 51) Wave-Function Analysis
+ ====================== Misc Utilities ===========================
+ 71) Optical-Properties 72) Molecular-Dynamics Kit
+ 73) VASP2other Interface 74) USER interface
+ 91) Semiconductor Calculator 92) 2D-Materials Kit
+
+ 0) Quit
+ ------------>>
+3
+ ===================== K-Path Options ============================
+ 301) 1D Nano Structure
+ 302) 2D Nano Structure (Experimental)
+ 303) 3D bulk structure (Experimental)
+ 304) Phonopy K-Path for 2D Nano Structure (Experimental)
+
+ 0) Quit
+ 9) Back
+ ------------>>
+303
+ +-------------------------- Warm Tips --------------------------+
+ The suggested K-Path is only for standardized primtive cell.
+ It is for reference only and you can manually modify K-Path.
+ +---------------------------------------------------------------+
+ +-------------------------- Warm Tips --------------------------+
+ See An Example in vaspkit/examples/seek_kpath/GaAs_bulk.
+ The suggested K-Path is only for standardized primtive cell.
+ This Feature is Experimental & Check Your System using SeeK-Path.
+ For More details See [www.materialscloud.org/work/tools/seekpath].
+ +---------------------------------------------------------------+
+ -->> (01) Reading Structural Parameters from POSCAR File...
+ +-------------------------- Summary ----------------------------+
+ Prototype: AB
+ Total Atoms in Input Cell: 8
+ Lattice Constants in Input Cell: 5.620 5.620 5.620
+ Lattice Angles in Input Cell: 90.000 90.000 90.000
+ Total Atoms in Primitive Cell: 2
+ Lattice Constants in Primitive Cell: 3.974 3.974 3.974
+ Lattice Angles in Primitive Cell: 60.000 60.000 60.000
+ Crystal System: Cubic
+ Crystal Class: m-3m
+ Bravais Lattice: cF
+ Extended Bravais Lattice: cF2
+ Space Group: 225
+ Point Group: 32 [ Oh ]
+ International: Fm-3m
+ Symmetry Operations: 192
+ Suggested K-Path: (shown in the next line)
+ [ Gamma-X-U|K-Gamma-L-W-X ]
+ +---------------------------------------------------------------+
+ -->> (02) Written PRIMCELL.vasp file.
+ -->> (03) Written HIGH_SYMMETRY_POINTS File for Reference.
+ -->> (04) Written POTCAR File with the Recommended Potential!
+ -->> (05) Written KPATH.in File for Band-Structure Calculation.
+ +----------------------------WARNING----------------------------+
+ | Do NOT forget to copy PRIMCELL.vasp to POSCAR unless you know |
+ | what you are doing. Otherwise you might get wrong results! |
+ +---------------------------------------------------------------+
+ +---------------------------------------------------------------+
+ | * ACKNOWLEDGMENTS * |
+ | Other Contributors: Xue-Fei LIU, Peng-Fei LIU, Dao-Xiong WU, |
+ | Zhao-Fu ZHANG, Tian WANG, Ya-Chao LIU, Qiang LI, iGo and You! |
+ +---------------------------------------------------------------+
+ | * CITATIONS * |
+ | We Would Appreciate if You Cite in Your Research with VASPKIT.|
+ | [1] V. Wang, N. Xu, J.C. LIU, G. Tang, et al, VASPKIT: A Pre- |
+ | and Post-Processing Program for VASP Code, arXiv:1908.08269. |
+ +---------------------------------------------------------------+
+[zjb@op NaCl]$
+
+
原子模拟环境(Atomic Simulation Environment)(ASE)是一组工具和 Python 模块,用于设置,操作,运行,可视化和分析原子模拟。
+参考文档:https://wiki.fysik.dtu.dk/ase/ase/gui/gui.html?highlight=gui#module-ase.gui
`,r:{minutes:.25,words:75},y:"a",t:"ASE-usage"},["/dft-learning/05.VASP/08.其他/02.ASE-usage.html","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/02.ASE-usage.html","/dft-learning/05.VASP/08.其他/02.ASE-usage.md","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/02.ASE-usage.md"]],["v-6ba6606f","/dft-learning/pages/vasp-others/",{y:"p",t:"其他"},["/dft-learning/05.VASP/08.其他/","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/","/dft-learning/05.VASP/08.其他/README.md","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/README.md"]],["v-39c6dbde","/dft-learning/vasp/error/",{d:1668106247e3,l:"2022年11月11日",e:`这是对角化例程的错误。您可以尝试切换到不同的方法(即 ALGO)或使用倒数第二步的位置而不是最后一步。查看结构(例如在 VESTA 中)以确保它仍然看起来像您期望的那样也很有帮助。偶尔会发生两个原子在弛豫过程中彼此靠近的情况。特别要检查离子循环内的所有电子迭代是否收敛。
+参考:Re: on solving "Error EDDDAV: Call to ZHEGV failed. Returncode = xx" (vasp.at)
`,r:{minutes:.88,words:265},y:"a",t:"VASP 运行中的错误"},["/dft-learning/05.VASP/08.其他/error.html","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/error.html","/dft-learning/05.VASP/08.其他/error.md","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/error.md"]],["v-14e0ef58","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/poscar-convert.html",{d:1664475437e3,l:"2022年9月30日",g:["ase python"],e:`该方法依赖 ASE。
+ase.io.read()
与 ase.io.write()
ase.io.read()
与 ase.io.write()
,文档见 File input and output — ASE documentation (dtu.dk)
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
APA
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
术语在本地化文件中使用
+++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
abstract 项目的摘要(例:期刊文章的摘要)
+annote 读者关于项目内容的笔记
+archive 保存项目的存档
+archive_location 存档的位置
+archive-place 存档的地理位置
+authority
+call-number
+call number (to locate the item in a library)
+citation-label
+label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata.
+citation-number
+index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)
+collection-title
+title of the collection holding the item (e.g. the series title for a book)
+container-title
+title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)
+container-title-short
+short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable)
+dimensions
+physical (e.g. size) or temporal (e.g. running time) dimensions of the item
+DOI
+Digital Object Identifier (e.g. "10.1128/AEM.02591-07")
+event
+name of the related event (e.g. the conference name when citing a conference paper)
+event-place
+geographic location of the related event (e.g. "Amsterdam, the Netherlands")
+first-reference-note-number
+number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.
+genre
+class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis)
+ISBN
+International Standard Book Number
+ISSN
+International Standard Serial Number
+jurisdiction
+geographic scope of relevance (e.g. "US" for a US patent)
+keyword 关键字
+locator
+a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the Locators term list), which determines which term is rendered by cs:label
when the "locator" variable is selected.
medium
+medium description (e.g. "CD", "DVD", etc.)
+note
+(short) inline note giving additional item details (e.g. a concise summary or commentary)
+original-publisher
+original publisher, for items that have been republished by a different publisher
+original-publisher-place
+geographic location of the original publisher (e.g. "London, UK")
+original-title 最初版本的题目
+page 项目的页码范围
+page-first 页码范围的第一个页码
+PMCID
+PubMed Central reference number
+PMID
+PubMed reference number
+publisher 出版商/出版社
+publisher-place 出版社的地理位置
+references
+resources related to the procedural history of a legal case
+reviewed-title
+title of the item reviewed by the current item
+scale
+scale of e.g. a map
+section
+container section holding the item (e.g. "politics" for a newspaper article)
+source
+from whence the item originates (e.g. a library catalog or database)
+status
+(publication) status of the item (e.g. "forthcoming")
+title
+primary title of the item
+title-short
+short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable)
+URL 链接
+version 版本
+year-suffix
+disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a")
+++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
cs:style
元素中的 page-range-format
表示了页码的缩写规则,其取值可能是:
"chicago"
第一个数字 | +第二个数字 | +例 | +
---|---|---|
小于 100 | +使用所有的位数 | +3–10; 71–72 | +
100 或者 100 的整数 | +使用所有的位数 | +100–104; 600–613; 1100–1123 | +
100 到 109 (包括对应 100 的倍数的范围) | +仅使用有变化的部分,忽略不需要的 0 | +107–8; 505–17; 1002–6 | +
110 到 199 (包括对应 100 的倍数的范围) | +根据需要使用两位数或者更多 | +321–25; 415–532; 11564–68; 13792–803 | +
4 位数 | +如果数字是 4 位并且其中有 3 位不同,使用所有的位数 | +1496–1504; 2787–2816 | +
++[!warning] WORK IN PROGRESS +此页面正在施工中。
+
The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:
+If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:
`,r:{minutes:.57,words:171},y:"a",t:"附录 VI 链接"},[":md"]],["v-3706649a","/404.html",{y:"p",t:""},[]],["v-0e1a9384","/code/linux/",{y:"p",t:"Linux"},[]],["v-1bdaec70","/dft-learning/pages/",{y:"p",t:"Pages"},[]],["v-f2c2fcf8","/software/office/",{y:"p",t:"Office"},[]],["v-316e1a6a","/dft-learning/vasp/",{y:"p",t:"Vasp"},[]],["v-31dd63ff","/dft-learning/05.VASP/08.%E5%85%B6%E4%BB%96/",{y:"p",t:"08.其他"},["/dft-learning/05.VASP/08.其他/"]],["v-458c0b5b","/dft-learning/05.VASP/",{y:"p",t:"05. V A S P"},[]],["v-1dd09e5c","/code/citation-style-language/specification/appendix/",{y:"p",t:"Appendix"},[]],["v-5bc93818","/category/",{y:"p",t:"分类",I:0},[]],["v-744d024e","/tag/",{y:"p",t:"标签",I:0},[]],["v-e52c881c","/article/",{y:"p",t:"文章",I:0},[]],["v-154dc4c4","/star/",{y:"p",t:"收藏",I:0},[]],["v-01560935","/timeline/",{y:"p",t:"时间轴",I:0},[]],["v-9c48d85a","/category/linux/",{y:"p",t:"Linux 分类",I:0},[]],["v-6800466b","/tag/ase-python/",{y:"p",t:"标签: ase python",I:0},[]],["v-fadba3e8","/category/install/",{y:"p",t:"Install 分类",I:0},[]],["v-2e924cd2","/category/theory/",{y:"p",t:"Theory 分类",I:0},[]],["v-4b7237e6","/category/%E5%AE%89%E8%A3%85/",{y:"p",t:"安装 分类",I:0},["/category/安装/"]],["v-5faa7940","/category/materials-studio/",{y:"p",t:"Materials-Studio 分类",I:0},[]],["v-58dac1cf","/category/vasp/",{y:"p",t:"VASP 分类",I:0},[]],["v-3ab30614","/category/others/",{y:"p",t:"Others 分类",I:0},[]],["v-84d1097c","/category/%E4%BC%98%E5%8C%96/",{y:"p",t:"优化 分类",I:0},["/category/优化/"]],["v-7175f2e8","/category/%E7%94%B5%E5%AD%90%E7%BB%93%E6%9E%84/",{y:"p",t:"电子结构 分类",I:0},["/category/电子结构/"]],["v-68581533","/category/%E5%8F%8D%E5%BA%94%E8%B7%AF%E5%BE%84/",{y:"p",t:"反应路径 分类",I:0},["/category/反应路径/"]],["v-229bd4e8","/category/%E5%88%86%E5%AD%90%E5%8A%A8%E5%8A%9B%E5%AD%A6/",{y:"p",t:"分子动力学 分类",I:0},["/category/分子动力学/"]],["v-39235e3a","/category/other-app/",{y:"p",t:"Other App 分类",I:0},[]]];var Wr=H({name:"Vuepress",setup(){const e=Q0();return()=>r(e.value)}}),qh=()=>Gh.reduce((e,[n,t,a,s])=>(e.push({name:n,path:t,component:Wr,meta:a},{path:t.endsWith("/")?t+"index.html":t.substring(0,t.length-5),redirect:t},...s.map(o=>({path:o===":md"?t.substring(0,t.length-5)+".md":o,redirect:t}))),e),[{name:"404",path:"/:catchAll(.*)",component:Wr}]),Kh=E1,Xh=()=>{const e=of({history:Kh($o("/")),routes:qh(),scrollBehavior:(n,t,a)=>a||(n.hash?{el:n.hash}:{top:0})});return e.beforeResolve(async(n,t)=>{var a;(n.path!==t.path||t===On)&&([n.meta._data]=await Promise.all([Rn.resolvePageData(n.name),(a=Gi[n.name])==null?void 0:a.__asyncLoader()]))}),e},Zh=e=>{e.component("ClientOnly",fs),e.component("Content",nc)},Yh=(e,n,t)=>{const a=Ar(()=>n.currentRoute.value.path),s=Ar(()=>Rn.resolveRouteLocale(kt.value.locales,a.value)),o=qo(a,()=>n.currentRoute.value.meta._data),l=w(()=>Rn.resolveLayouts(t)),i=w(()=>Rn.resolveSiteLocaleData(kt.value,s.value)),c=w(()=>Rn.resolvePageFrontmatter(o.value)),u=w(()=>Rn.resolvePageHeadTitle(o.value,i.value)),p=w(()=>Rn.resolvePageHead(u.value,c.value,i.value)),d=w(()=>Rn.resolvePageLang(o.value,i.value)),f=w(()=>Rn.resolvePageLayout(o.value,l.value));return e.provide(X0,l),e.provide(qi,o),e.provide(Ki,c),e.provide(J0,u),e.provide(Xi,p),e.provide(Zi,d),e.provide(Ji,f),e.provide(Fo,s),e.provide(ec,i),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>c.value},$head:{get:()=>p.value},$headTitle:{get:()=>u.value},$lang:{get:()=>d.value},$page:{get:()=>o.value},$routeLocale:{get:()=>s.value},$site:{get:()=>kt.value},$siteLocale:{get:()=>i.value},$withBase:{get:()=>Ae}}),{layouts:l,pageData:o,pageFrontmatter:c,pageHead:p,pageHeadTitle:u,pageLang:d,pageLayout:f,routeLocale:s,siteData:kt,siteLocaleData:i}},Jh=()=>{const e=Y0(),n=Yi(),t=Z([]),a=()=>{e.value.forEach(o=>{const l=Qh(o);l&&t.value.push(l)})},s=()=>{document.documentElement.lang=n.value,t.value.forEach(o=>{o.parentNode===document.head&&document.head.removeChild(o)}),t.value.splice(0,t.value.length),e.value.forEach(o=>{const l=e3(o);l!==null&&(document.head.appendChild(l),t.value.push(l))})};rn(n1,s),_e(()=>{a(),s(),le(()=>e.value,s)})},Qh=([e,n,t=""])=>{const a=Object.entries(n).map(([i,c])=>he(c)?`[${i}=${JSON.stringify(c)}]`:c===!0?`[${i}]`:"").join(""),s=`head > ${e}${a}`;return Array.from(document.querySelectorAll(s)).find(i=>i.innerText===t)||null},e3=([e,n,t])=>{if(!he(e))return null;const a=document.createElement(e);return zo(n)&&Object.entries(n).forEach(([s,o])=>{he(o)?a.setAttribute(s,o):o===!0&&a.setAttribute(s,"")}),he(t)&&a.appendChild(document.createTextNode(t)),a},n3=N0,t3=async()=>{var t;const e=n3({name:"VuepressApp",setup(){var a;Jh();for(const s of Ga)(a=s.setup)==null||a.call(s);return()=>[r(dc),...Ga.flatMap(({rootComponents:s=[]})=>s.map(o=>r(o)))]}}),n=Xh();Zh(e),Yh(e,n,Ga);for(const a of Ga)await((t=a.enhance)==null?void 0:t.call(a,{app:e,router:n,siteData:kt}));return e.use(n),{app:e,router:n}};t3().then(({app:e,router:n})=>{n.isReady().then(()=>{e.mount("#app")})});export{en as A,_e as B,Ht as C,he as D,i3 as E,zo as F,vl as G,Xf as H,dl as J,Oh as O,Ch as R,m as _,Ii as a,Vi as b,s3 as c,t3 as createVueApp,o3 as d,Me as e,H as f,$e as g,gn as h,ml as i,Z as j,w as k,Le as l,le as m,r as n,a3 as o,wh as p,Ph as q,Qe as r,bh as s,Ft as t,r3 as u,sp as v,id as w,Ah as x,kh as y,Eh as z}; +function __vite__mapDeps(indexes) { + if (!__vite__mapDeps.viteFileDeps) { + __vite__mapDeps.viteFileDeps = ["assets/index.html-r4KFp5Pr.js","assets/plugin-vue_export-helper-x3n3nnut.js","assets/index.html-UzbTA_Oa.js","assets/一台新电脑的自我修养.html-Wj6uz103.js","assets/考研的相关总结.html-BCMIQNjX.js","assets/index.html-Hg3Zeshb.js","assets/index.html-sI6EOuhl.js","assets/index.html-LRzXIxjE.js","assets/x-ray-absorption.html-humqFyJ6.js","assets/index.html-Q19uLxXK.js","assets/index.html-wu1WGakg.js","assets/index.html-1JsIXzJU.js","assets/document-style-guide.html-bBx7fYPO.js","assets/index.html-GEcJO9t1.js","assets/index.html-G_enMliH.js","assets/Aria2.html-PJ74YCVK.js","assets/index.html-nM1gbzHG.js","assets/windows-applications.html-w3qnV1IQ.js","assets/使用Pavadan和MentoHUST进行锐捷认证.html-kBFfCnyy.js","assets/内网穿透折腾记录.html-T7lkRiov.js","assets/开启代理后msftconnecttest无法跳转.html-C0wF6MG9.js","assets/服务器的折腾.html-VIwo8NQM.js","assets/index.html-AsX6-gvs.js","assets/translating-locale-files.html-fyhQn8Fi.js","assets/xml-basic.html-_M3j6rQd.js","assets/index.html-8Pfd_AG6.js","assets/index.html-s-wMahwO.js","assets/index.html-VQ3o3DlV.js","assets/index.html-RgTwsCTF.js","assets/index.html-uASuo5Z7.js","assets/index.html-BZHq4iHB.js","assets/index.html-2MwUsXrZ.js","assets/index.html-wJG6jgxw.js","assets/index.html-pMaLkGBA.js","assets/index.html-vhDWhlKA.js","assets/index.html-bk_D9tT2.js","assets/index.html-1ZWZ5KQE.js","assets/index.html-6pn7OJe1.js","assets/index.html-lhyKpbpk.js","assets/index.html-QyQjsQQt.js","assets/index.html-kC55fK8J.js","assets/index.html-lf5PKNFU.js","assets/index.html-mEZlrX25.js","assets/index.html-mm_FQLj7.js","assets/index.html-uZmfIb-W.js","assets/index.html-KEXZyb31.js","assets/index.html-5bg7tJ2F.js","assets/index.html-_e1pHnuc.js","assets/index.html-AFHjJm8s.js","assets/index.html-k2_RklJM.js","assets/index.html-7I8BaSii.js","assets/index.html-ZXtGgZrX.js","assets/index.html-8Yu_nBBe.js","assets/index.html-7m4C3hB8.js","assets/index.html-V7-_XDhs.js","assets/index.html-igyzptdK.js","assets/index.html-VWsX53il.js","assets/index.html-QCq2KaUt.js","assets/index.html-cogQzq1C.js","assets/index.html-XjkjwiMq.js","assets/Zotero 将引文链接到参考书目.html-dYd7MQua.js","assets/Zotero 指北.html-0nIpCpal.js","assets/index.html-N8V76_f2.js","assets/citation-formats.html-qf1EMp7P.js","assets/end.html-BDEjjGZf.js","assets/the-csl-ecosystem.html-ADI1t1tr.js","assets/understanding-csl-styles.html-Yx2tBXtg.js","assets/index.html-sKlVMgw1.js","assets/file-types.html-QnaqPc_S.js","assets/locale-files-strucure.html-UmiIrXTl.js","assets/namespacing.html-xT4LQWix.js","assets/rendering-elements.html-T-xwdnoK.js","assets/style-behavior.html-wXLDL7qS.js","assets/styles-structure.html-xcDsd5F5.js","assets/whitespace-handling.html-YLKviumy.js","assets/xml-declaration.html-3Y0z2m7m.js","assets/index.html-yVLcUGJY.js","assets/index.html-8i62bqhd.js","assets/index.html-6KfMzBnc.js","assets/index.html-bWnBlUw3.js","assets/index.html-EvFZVL2w.js","assets/index.html-nmGgGxSe.js","assets/index.html-tnSEWlBr.js","assets/index.html-mVwIyCLN.js","assets/index.html-iCVcKNm9.js","assets/index.html-XrnaE3eW.js","assets/index.html-5rrp5meq.js","assets/index.html-6XNTIiLr.js","assets/index.html-i2ZTRu49.js","assets/index.html-1Ib6BxE3.js","assets/index.html-qf687FXZ.js","assets/index.html-1bHTdLG6.js","assets/index.html-KFqMjBbI.js","assets/index.html-bsO9ILsM.js","assets/index.html-7lNSjMEW.js","assets/index.html-P7041sin.js","assets/index.html-rQc8Nrss.js","assets/index.html-feT6lC9f.js","assets/index.html-GPnIpFjZ.js","assets/index.html-BkcPohES.js","assets/index.html-FSJmlPDA.js","assets/index.html-RJYdClUd.js","assets/poscar-convert.html-8aC_BtqK.js","assets/appendix1-categories.html-lXPk6_lt.js","assets/appendix2-terms.html-B1TffPxv.js","assets/appendix3-types.html-NXTDq6th.js","assets/appendix4-variables.html-FuJvXF6-.js","assets/appendix5-page-range-formats.html-Vip2H80I.js","assets/appendix6-links.html-f1IFMlVG.js","assets/404.html-f5N7lpKI.js","assets/index.html-YdspMJk7.js","assets/index.html-pz5iu5w5.js","assets/index.html-kER87C2T.js","assets/index.html-NUB0R-Ht.js","assets/index.html-CoM9z2GD.js","assets/index.html-4awr8kEm.js","assets/index.html-oqVK2nLJ.js","assets/index.html-pgLCj_kZ.js","assets/index.html-279NygD0.js","assets/index.html-XDyrBeaJ.js","assets/index.html-gg9bzuVT.js","assets/index.html-0NFUYqoh.js","assets/index.html-lDCNVhP2.js","assets/index.html-WoJuStdU.js","assets/index.html-5kSJeijP.js","assets/index.html-j4BPmuUZ.js","assets/index.html-fVW4eUKk.js","assets/index.html-0NjsvMae.js","assets/index.html-deE-7P-H.js","assets/index.html-ImYwWgI6.js","assets/index.html-K766vQ0K.js","assets/index.html-TUooTaDW.js","assets/index.html-64j_S6LF.js","assets/index.html-Q6-PYyTa.js","assets/index.html-Fu2dNNPA.js"] + } + return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) +} \ No newline at end of file diff --git a/assets/appendix1-categories.html-4fIKJfJF.js b/assets/appendix1-categories.html-4fIKJfJF.js new file mode 100644 index 00000000..68d9cf92 --- /dev/null +++ b/assets/appendix1-categories.html-4fIKJfJF.js @@ -0,0 +1 @@ +const i=JSON.parse('{"key":"v-818acdc8","path":"/code/citation-style-language/specification/appendix/appendix1-categories.html","title":"附录 I 学科分类","lang":"zh-CN","frontmatter":{"title":"附录 I 学科分类","date":"2022-08-01T16:42:15.000Z","updated":"2022-08-03T10:27:14.000Z","description":"附录 I 学科分类 [!warning] WORK IN PROGRESS 此页面正在施工中。 anthropology 人类学 astronomy 天文学 biology 生物学 botany 植物学 chemistry 化学 communications 通讯 engineering 工程学 generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 APA geography 地理学 geology 地质学 history 历史 humanities 人文学科 law 法学 linguistics 语言学 literature 文学 math 数学 medicine 药物学 philosophy 哲学 physics 物理学 political_science 政治科学 psychology 心理学 science 科学 social_science 社会科学 sociology 社会学 theology 神学 zoology 动物学","head":[["script",{"type":"text/javascript"},"var _hmt = _hmt || []"],["script",{"src":"https://hm.baidu.com/hm.js?5574297d56b065f5137cf3654e3de360"}],["script",{"src":"https://hm.baidu.com/hm.js?92a8f6d9fbb75efa90964afcd42be758"}],["meta",{"property":"og:url","content":"https://northword.cn/code/citation-style-language/specification/appendix/appendix1-categories.html"}],["meta",{"property":"og:site_name","content":"北辞"}],["meta",{"property":"og:title","content":"附录 I 学科分类"}],["meta",{"property":"og:description","content":"附录 I 学科分类 [!warning] WORK IN PROGRESS 此页面正在施工中。 anthropology 人类学 astronomy 天文学 biology 生物学 botany 植物学 chemistry 化学 communications 通讯 engineering 工程学 generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 APA geography 地理学 geology 地质学 history 历史 humanities 人文学科 law 法学 linguistics 语言学 literature 文学 math 数学 medicine 药物学 philosophy 哲学 physics 物理学 political_science 政治科学 psychology 心理学 science 科学 social_science 社会科学 sociology 社会学 theology 神学 zoology 动物学"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2022-09-16T13:52:48.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:42:15.000Z"}],["meta",{"property":"article:modified_time","content":"2022-09-16T13:52:48.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"附录 I 学科分类\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-01T16:42:15.000Z\\",\\"dateModified\\":\\"2022-09-16T13:52:48.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.cn\\"}]}"]]},"headers":[],"git":{"createdTime":1663336368000,"updatedTime":1663336368000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":0.53,"words":160},"filePathRelative":"code/citation-style-language/specification/appendix/appendix1-categories.md","localizedDate":"2022年8月2日","excerpt":"\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
APA
[!warning] WORK IN PROGRESS 此页面正在施工中。
APA
[!warning] WORK IN PROGRESS 此页面正在施工中。
术语在本地化文件中使用
\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
术语在本地化文件中使用
\\n\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
[!warning] WORK IN PROGRESS 此页面正在施工中。
\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
abstract 项目的摘要(例:期刊文章的摘要)
\\nannote 读者关于项目内容的笔记
\\narchive 保存项目的存档
\\narchive_location 存档的位置
\\narchive-place 存档的地理位置
\\nauthority
\\ncall-number
\\ncall number (to locate the item in a library)
\\ncitation-label
\\nlabel identifying the item in in-text citations of label styles (e.g. \\"Ferr78\\"). May be assigned by the CSL processor based on item metadata.
\\ncitation-number
\\nindex (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)
\\ncollection-title
\\ntitle of the collection holding the item (e.g. the series title for a book)
\\ncontainer-title
\\ntitle of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)
\\ncontainer-title-short
\\nshort/abbreviated form of \\"container-title\\" (also accessible through the \\"short\\" form of the \\"container-title\\" variable)
\\ndimensions
\\nphysical (e.g. size) or temporal (e.g. running time) dimensions of the item
\\nDOI
\\nDigital Object Identifier (e.g. \\"10.1128/AEM.02591-07\\")
\\nevent
\\nname of the related event (e.g. the conference name when citing a conference paper)
\\nevent-place
\\ngeographic location of the related event (e.g. \\"Amsterdam, the Netherlands\\")
\\nfirst-reference-note-number
\\nnumber of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.
\\ngenre
\\nclass, type or genre of the item (e.g. \\"adventure\\" for an adventure movie, \\"PhD dissertation\\" for a PhD thesis)
\\nISBN
\\nInternational Standard Book Number
\\nISSN
\\nInternational Standard Serial Number
\\njurisdiction
\\ngeographic scope of relevance (e.g. \\"US\\" for a US patent)
\\nkeyword 关键字
\\nlocator
\\na cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the Locators term list), which determines which term is rendered by cs:label
when the \\"locator\\" variable is selected.
medium
\\nmedium description (e.g. \\"CD\\", \\"DVD\\", etc.)
\\nnote
\\n(short) inline note giving additional item details (e.g. a concise summary or commentary)
\\noriginal-publisher
\\noriginal publisher, for items that have been republished by a different publisher
\\noriginal-publisher-place
\\ngeographic location of the original publisher (e.g. \\"London, UK\\")
\\noriginal-title 最初版本的题目
\\npage 项目的页码范围
\\npage-first 页码范围的第一个页码
\\nPMCID
\\nPubMed Central reference number
\\nPMID
\\nPubMed reference number
\\npublisher 出版商/出版社
\\npublisher-place 出版社的地理位置
\\nreferences
\\nresources related to the procedural history of a legal case
\\nreviewed-title
\\ntitle of the item reviewed by the current item
\\nscale
\\nscale of e.g. a map
\\nsection
\\ncontainer section holding the item (e.g. \\"politics\\" for a newspaper article)
\\nsource
\\nfrom whence the item originates (e.g. a library catalog or database)
\\nstatus
\\n(publication) status of the item (e.g. \\"forthcoming\\")
\\ntitle
\\nprimary title of the item
\\ntitle-short
\\nshort/abbreviated form of \\"title\\" (also accessible through the \\"short\\" form of the \\"title\\" variable)
\\nURL 链接
\\nversion 版本
\\nyear-suffix
\\ndisambiguating year suffix in author-date styles (e.g. \\"a\\" in \\"Doe, 1999a\\")
\\nabstract 项目的摘要(例:期刊文章的摘要)
annote 读者关于项目内容的笔记
archive 保存项目的存档
archive_location 存档的位置
archive-place 存档的地理位置
authority
call-number
call number (to locate the item in a library)
citation-label
label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata.
citation-number
index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor)
collection-title
title of the collection holding the item (e.g. the series title for a book)
container-title
title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article)
container-title-short
short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable)
dimensions
physical (e.g. size) or temporal (e.g. running time) dimensions of the item
DOI
Digital Object Identifier (e.g. "10.1128/AEM.02591-07")
event
name of the related event (e.g. the conference name when citing a conference paper)
event-place
geographic location of the related event (e.g. "Amsterdam, the Netherlands")
first-reference-note-number
number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes.
genre
class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis)
ISBN
International Standard Book Number
ISSN
International Standard Serial Number
jurisdiction
geographic scope of relevance (e.g. "US" for a US patent)
keyword 关键字
medium
medium description (e.g. "CD", "DVD", etc.)
note
(short) inline note giving additional item details (e.g. a concise summary or commentary)
original-publisher
original publisher, for items that have been republished by a different publisher
original-publisher-place
geographic location of the original publisher (e.g. "London, UK")
original-title 最初版本的题目
page 项目的页码范围
page-first 页码范围的第一个页码
PMCID
PubMed Central reference number
PMID
PubMed reference number
publisher 出版商/出版社
publisher-place 出版社的地理位置
references
resources related to the procedural history of a legal case
reviewed-title
title of the item reviewed by the current item
scale
scale of e.g. a map
section
container section holding the item (e.g. "politics" for a newspaper article)
source
from whence the item originates (e.g. a library catalog or database)
status
(publication) status of the item (e.g. "forthcoming")
title
primary title of the item
title-short
short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable)
URL 链接
version 版本
year-suffix
disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a")
chapter-number
章序号
collection-number
number identifying the collection holding the item (e.g. the series number for a book)
edition
版本序号(注意和 version 的区别)
issue
(container) issue holding the item (e.g. "5" when citing a journal article from journal volume 2, issue 5)
number
number identifying the item (e.g. a report number)
number-of-pages
引用项目的总的页数
number-of-volumes
total number of volumes, usable for citing multi-volume books and such
volume
(container) volume holding the item (e.g. "2" when citing a chapter from book volume 2)
accessed
date the item has been accessed
container
?
event-date
date the related event took place
issued
date the item was issued/published
original-date
(issue) date of the original version
submitted
date the item (e.g. a manuscript) has been submitted for publication
author
collection-editor
editor of the collection holding the item (e.g. the series editor for a book)
composer
composer (e.g. of a musical score)
container-author
author of the container holding the item (e.g. the book author for a book chapter)
director
director (e.g. of a film)
editor
editorial-director
managing editor ("Directeur de la Publication" in French)
illustrator
illustrator (e.g. of a children’s book)
interviewer
interviewer (e.g. of an interview)
original-author
recipient
recipient (e.g. of a letter)
reviewed-author
author of the item reviewed by the current item
translator
\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
cs:style
元素中的 page-range-format
表示了页码的缩写规则,其取值可能是:
\\"chicago\\"
第一个数字 | \\n第二个数字 | \\n例 | \\n
---|---|---|
小于 100 | \\n使用所有的位数 | \\n3–10; 71–72 | \\n
100 或者 100 的整数 | \\n使用所有的位数 | \\n100–104; 600–613; 1100–1123 | \\n
100 到 109 (包括对应 100 的倍数的范围) | \\n仅使用有变化的部分,忽略不需要的 0 | \\n107–8; 505–17; 1002–6 | \\n
110 到 199 (包括对应 100 的倍数的范围) | \\n根据需要使用两位数或者更多 | \\n321–25; 415–532; 11564–68; 13792–803 | \\n
4 位数 | \\n如果数字是 4 位并且其中有 3 位不同,使用所有的位数 | \\n1496–1504; 2787–2816 | \\n
[!warning] WORK IN PROGRESS 此页面正在施工中。
cs:style
元素中的 page-range-format
表示了页码的缩写规则,其取值可能是:
"chicago"
第一个数字 | 第二个数字 | 例 |
---|---|---|
小于 100 | 使用所有的位数 | 3–10; 71–72 |
100 或者 100 的整数 | 使用所有的位数 | 100–104; 600–613; 1100–1123 |
100 到 109 (包括对应 100 的倍数的范围) | 仅使用有变化的部分,忽略不需要的 0 | 107–8; 505–17; 1002–6 |
110 到 199 (包括对应 100 的倍数的范围) | 根据需要使用两位数或者更多 | 321–25; 415–532; 11564–68; 13792–803 |
4 位数 | 如果数字是 4 位并且其中有 3 位不同,使用所有的位数 | 1496–1504; 2787–2816 |
"expanded"
扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816
"minimal"
第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816
"minimal-two"
和 "minimal"
类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。
\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:
\\nIf the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:
","autoDesc":true}');export{e as data}; diff --git a/assets/appendix6-links.html-f1IFMlVG.js b/assets/appendix6-links.html-f1IFMlVG.js new file mode 100644 index 00000000..c6bd08f6 --- /dev/null +++ b/assets/appendix6-links.html-f1IFMlVG.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-x3n3nnut.js";import{r,o as l,c as s,a as e,b as n,e as t}from"./app-Mf7X6hWu.js";const a={},c=e("h1",{id:"附录-vi-链接",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#附录-vi-链接","aria-hidden":"true"},"#"),n(" 附录 VI 链接")],-1),h=e("blockquote",null,[e("p",null,"[!warning] WORK IN PROGRESS 此页面正在施工中。")],-1),d=e("p",null,"The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules:",-1),p=e("p",null,"If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows:",-1),_=e("li",null,[e("code",null,"url"),n(": output as is")],-1),u=e("code",null,"doi",-1),f={href:"https://doi.org/",target:"_blank",rel:"noopener noreferrer"},g=e("code",null,"pmid",-1),b={href:"https://www.ncbi.nlm.nih.gov/pubmed/",target:"_blank",rel:"noopener noreferrer"},m=e("code",null,"pmcid",-1),w={href:"https://www.ncbi.nlm.nih.gov/pmc/articles/",target:"_blank",rel:"noopener noreferrer"},k={href:"https://doi.org/",target:"_blank",rel:"noopener noreferrer"},v=e("p",null,"Citation processors should include an option flag for calling applications to disable bibliography linking behavior.",-1);function x(I,y){const o=r("ExternalLinkIcon");return l(),s("div",null,[c,h,d,p,e("ol",null,[_,e("li",null,[u,n(": prepend with “"),e("a",f,[n("https://doi.org/"),t(o)]),n("”")]),e("li",null,[g,n(": prepend with “"),e("a",b,[n("https://www.ncbi.nlm.nih.gov/pubmed/"),t(o)]),n("”")]),e("li",null,[m,n(": prepend with “"),e("a",w,[n("https://www.ncbi.nlm.nih.gov/pmc/articles/"),t(o)]),n("”")])]),e("p",null,[n("If the identifier is rendered as a URI, include rendered URI components (e.g. “"),e("a",k,[n("https://doi.org/"),t(o)]),n("”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “).")]),v])}const L=i(a,[["render",x],["__file","appendix6-links.html.vue"]]);export{L as default}; diff --git a/assets/arc-M4yoLkG1.js b/assets/arc-M4yoLkG1.js new file mode 100644 index 00000000..3cc51ef1 --- /dev/null +++ b/assets/arc-M4yoLkG1.js @@ -0,0 +1 @@ +import{w as ln,c as U}from"./path-aUcfwwLI.js";import{aO as an,aP as Y,aQ as O,aR as rn,aS as y,aK as on,aT as z,aU as _,aV as un,aW as t,aX as sn,aY as tn,aZ as fn}from"./mermaid.core-Up0YySao.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,D,S,v,R,V,a){var E=D-l,i=S-h,n=V-v,m=a-R,r=m*E-n*i;if(!(r*r\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
引文格式有很多很多种,我们最常用的就是国标(信息与文献 参考文献著录规则),最新的国标代号是 (GB/T 7714-2015)
。大多数的引用格式都属于几个基本类别,如下:
引用格式可以分为两个主要的类型。第一种就是 in-text styles
,正文中的引用直接指向参考文献目录中的一个或者多个条目。in-text styles
还可以细分为 author-date,author,numeric
和 label
格式。
[!warning] WORK IN PROGRESS 此页面正在施工中。
引文格式有很多很多种,我们最常用的就是国标(信息与文献 参考文献著录规则),最新的国标代号是 (GB/T 7714-2015)
。大多数的引用格式都属于几个基本类别,如下:
引用格式可以分为两个主要的类型。第一种就是 in-text styles
,正文中的引用直接指向参考文献目录中的一个或者多个条目。in-text styles
还可以细分为 author-date,author,numeric
和 label
格式。
在 CSL
中,每个单独的 pointer
称为一个引用。例如,引文 “(Doe et al. 2002, Smith 1997)”
包含两个引用:一个是 Doe et al.
在 2002 年发表的文献,另外一个是 Smith
1997 年发表的文献。
author-date
引用格式会显示作者的名字和发表的日期,比如:(Van der Klei et al. 1991; Zwart et al. 1983)
。author
只显示作者名字,例如:(Gidijala et al.)
。参考文献条目一般使用字母表顺序对作者进行排序。
应该注意的是,许多引用格式使用了令人疑惑的 Harvard
术语来指代 author-date
格式,但是大多数这些格式与哈佛大学并没有关系。而且也并不存在一个官方的 Harvard
格式。
参考文献条目实例
Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.
van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.
Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.
numeric
格式由数字组成,比如 [1,2]
和 [3]
。参考文献条目一般使用作者首字母排序或者使用第一次在正文中的引用顺序排序。国标就是一种典型的 numeric
格式。
参考文献条目实例
- Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.
- Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.
- van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.
复合格式是 numeric
格式的变体。这种风格在化学领域很流行。CSL
中暂时不支持这种格式,这里也不多作介绍。
参考文献条目实例
- Gidijala L, et al. (2008) BMC Biotechnol 8: 29.
- a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23.
这种引用格式由 keys
构成,例 GBKv2008]
和 [ZwVH1983; vaHV1991]
。CSL
对这种格式支持有限,这里也不多作介绍。
参考文献条目实例
[GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active Penicillium chrysogenum isopenicillin N synthase in the yeast Hansenula polymorpha. BMC Biotechnol 8: 29.
[vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of Hansenula polymorpha: a physiological study. Arch Microbiol 156: 15-23.
[ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385.
引用格式的第二类为 Note
格式。引用中的 marker
可以是数字或者符号,例如 [*]
或者 [†]
。每个 marker
指向脚注或者尾注。CSL
不能设置使用哪些数字或者符号用于 marker
,这些应该用字处理软件 (比如 word
) 设置。与上面的 in-text
格式不同,尾注或者脚注通常显示的信息更多。
参考文献条目实例
',30),c=[n];function d(r,l){return o(),a("div",null,c)}const u=e(i,[["render",d],["__file","citation-formats.html.vue"]]);export{u as default}; diff --git a/assets/classDiagram-48ab76fb-jXeM6zOd.js b/assets/classDiagram-48ab76fb-jXeM6zOd.js new file mode 100644 index 00000000..452210bb --- /dev/null +++ b/assets/classDiagram-48ab76fb-jXeM6zOd.js @@ -0,0 +1,2 @@ +import{p as A,d as S,s as G}from"./styles-4ba6ed67-R_EEqhPc.js";import{c as v,l as y,h as B,i as W,ao as $,y as M,ar as I}from"./mermaid.core-Up0YySao.js";import{G as O,l as P}from"./layout-bNXk8SHo.js";import{l as X}from"./line-rSV082x4.js";import"./app-Mf7X6hWu.js";import"./array-Nw74a44z.js";import"./path-aUcfwwLI.js";let H=0;const Y=function(i,a,t,o,p){const g=function(e){switch(e){case p.db.relationType.AGGREGATION:return"aggregation";case p.db.relationType.EXTENSION:return"extension";case p.db.relationType.COMPOSITION:return"composition";case p.db.relationType.DEPENDENCY:return"dependency";case p.db.relationType.LOLLIPOP:return"lollipop"}};a.points=a.points.filter(e=>!Number.isNaN(e.y));const s=a.points,c=X().x(function(e){return e.x}).y(function(e){return e.y}).curve($),n=i.append("path").attr("d",c(s)).attr("id","edge"+H).attr("class","relation");let r="";o.arrowMarkerAbsolute&&(r=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,r=r.replace(/\(/g,"\\("),r=r.replace(/\)/g,"\\)")),t.relation.lineType==1&&n.attr("class","relation dashed-line"),t.relation.lineType==10&&n.attr("class","relation dotted-line"),t.relation.type1!=="none"&&n.attr("marker-start","url("+r+"#"+g(t.relation.type1)+"Start)"),t.relation.type2!=="none"&&n.attr("marker-end","url("+r+"#"+g(t.relation.type2)+"End)");let f,h;const x=a.points.length;let b=M.calcLabelPosition(a.points);f=b.x,h=b.y;let u,m,w,k;if(x%2!==0&&x>1){let e=M.calcCardinalityPosition(t.relation.type1!=="none",a.points,a.points[0]),d=M.calcCardinalityPosition(t.relation.type2!=="none",a.points,a.points[x-1]);y.debug("cardinality_1_point "+JSON.stringify(e)),y.debug("cardinality_2_point "+JSON.stringify(d)),u=e.x,m=e.y,w=d.x,k=d.y}if(t.title!==void 0){const e=i.append("g").attr("class","classLabel"),d=e.append("text").attr("class","label").attr("x",f).attr("y",h).attr("fill","red").attr("text-anchor","middle").text(t.title);window.label=d;const l=d.node().getBBox();e.insert("rect",":first-child").attr("class","box").attr("x",l.x-o.padding/2).attr("y",l.y-o.padding/2).attr("width",l.width+o.padding).attr("height",l.height+o.padding)}y.info("Rendering relation "+JSON.stringify(t)),t.relationTitle1!==void 0&&t.relationTitle1!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type1").attr("x",u).attr("y",m).attr("fill","black").attr("font-size","6").text(t.relationTitle1),t.relationTitle2!==void 0&&t.relationTitle2!=="none"&&i.append("g").attr("class","cardinality").append("text").attr("class","type2").attr("x",w).attr("y",k).attr("fill","black").attr("font-size","6").text(t.relationTitle2),H++},J=function(i,a,t,o){y.debug("Rendering class ",a,t);const p=a.id,g={id:p,label:a.id,width:0,height:0},s=i.append("g").attr("id",o.db.lookUpDomId(p)).attr("class","classGroup");let c;a.link?c=s.append("svg:a").attr("xlink:href",a.link).attr("target",a.linkTarget).append("text").attr("y",t.textHeight+t.padding).attr("x",0):c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);let n=!0;a.annotations.forEach(function(d){const l=c.append("tspan").text("«"+d+"»");n||l.attr("dy",t.textHeight),n=!1});let r=C(a);const f=c.append("tspan").text(r).attr("class","title");n||f.attr("dy",t.textHeight);const h=c.node().getBBox().height;let x,b,u;if(a.members.length>0){x=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin/2).attr("y2",t.padding+h+t.dividerMargin/2);const d=s.append("text").attr("x",t.padding).attr("y",h+t.dividerMargin+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.members.forEach(function(l){_(d,l,n,t),n=!1}),b=d.node().getBBox()}if(a.methods.length>0){u=s.append("line").attr("x1",0).attr("y1",t.padding+h+t.dividerMargin+b.height).attr("y2",t.padding+h+t.dividerMargin+b.height);const d=s.append("text").attr("x",t.padding).attr("y",h+2*t.dividerMargin+b.height+t.textHeight).attr("fill","white").attr("class","classText");n=!0,a.methods.forEach(function(l){_(d,l,n,t),n=!1})}const m=s.node().getBBox();var w=" ";a.cssClasses.length>0&&(w=w+a.cssClasses.join(" "));const e=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",m.width+2*t.padding).attr("height",m.height+t.padding+.5*t.dividerMargin).attr("class",w).node().getBBox().width;return c.node().childNodes.forEach(function(d){d.setAttribute("x",(e-d.getBBox().width)/2)}),a.tooltip&&c.insert("title").text(a.tooltip),x&&x.attr("x2",e),u&&u.attr("x2",e),g.width=e,g.height=m.height+t.padding+.5*t.dividerMargin,g},C=function(i){let a=i.id;return i.type&&(a+="<"+I(i.type)+">"),a},Z=function(i,a,t,o){y.debug("Rendering note ",a,t);const p=a.id,g={id:p,text:a.text,width:0,height:0},s=i.append("g").attr("id",p).attr("class","classGroup");let c=s.append("text").attr("y",t.textHeight+t.padding).attr("x",0);const n=JSON.parse(`"${a.text}"`).split(` +`);n.forEach(function(x){y.debug(`Adding line: ${x}`),c.append("tspan").text(x).attr("class","title").attr("dy",t.textHeight)});const r=s.node().getBBox(),h=s.insert("rect",":first-child").attr("x",0).attr("y",0).attr("width",r.width+2*t.padding).attr("height",r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin).node().getBBox().width;return c.node().childNodes.forEach(function(x){x.setAttribute("x",(h-x.getBBox().width)/2)}),g.width=h,g.height=r.height+n.length*t.textHeight+t.padding+.5*t.dividerMargin,g},_=function(i,a,t,o){const{displayText:p,cssStyle:g}=a.getDisplayDetails(),s=i.append("tspan").attr("x",o.padding).text(p);g!==""&&s.attr("style",a.cssStyle),t||s.attr("dy",o.textHeight)},N={getClassTitleString:C,drawClass:J,drawEdge:Y,drawNote:Z};let T={};const E=20,L=function(i){const a=Object.entries(T).find(t=>t[1].label===i);if(a)return a[0]},R=function(i){i.append("defs").append("marker").attr("id","extensionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 1,7 L18,13 V 1 Z"),i.append("defs").append("marker").attr("id","extensionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 1,1 V 13 L18,7 Z"),i.append("defs").append("marker").attr("id","compositionStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","compositionEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","aggregationEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyStart").attr("class","extension").attr("refX",0).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("path").attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),i.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},F=function(i,a,t,o){const p=v().class;T={},y.info("Rendering diagram "+i);const g=v().securityLevel;let s;g==="sandbox"&&(s=B("#i"+a));const c=g==="sandbox"?B(s.nodes()[0].contentDocument.body):B("body"),n=c.select(`[id='${a}']`);R(n);const r=new O({multigraph:!0});r.setGraph({isMultiGraph:!0}),r.setDefaultEdgeLabel(function(){return{}});const f=o.db.getClasses(),h=Object.keys(f);for(const e of h){const d=f[e],l=N.drawClass(n,d,p,o);T[l.id]=l,r.setNode(l.id,l),y.info("Org height: "+l.height)}o.db.getRelations().forEach(function(e){y.info("tjoho"+L(e.id1)+L(e.id2)+JSON.stringify(e)),r.setEdge(L(e.id1),L(e.id2),{relation:e},e.title||"DEFAULT")}),o.db.getNotes().forEach(function(e){y.debug(`Adding note: ${JSON.stringify(e)}`);const d=N.drawNote(n,e,p,o);T[d.id]=d,r.setNode(d.id,d),e.class&&e.class in f&&r.setEdge(e.id,L(e.class),{relation:{id1:e.id,id2:e.class,relation:{type1:"none",type2:"none",lineType:10}}},"DEFAULT")}),P(r),r.nodes().forEach(function(e){e!==void 0&&r.node(e)!==void 0&&(y.debug("Node "+e+": "+JSON.stringify(r.node(e))),c.select("#"+(o.db.lookUpDomId(e)||e)).attr("transform","translate("+(r.node(e).x-r.node(e).width/2)+","+(r.node(e).y-r.node(e).height/2)+" )"))}),r.edges().forEach(function(e){e!==void 0&&r.edge(e)!==void 0&&(y.debug("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(r.edge(e))),N.drawEdge(n,r.edge(e),r.edge(e).relation,p,o))});const u=n.node().getBBox(),m=u.width+E*2,w=u.height+E*2;W(n,w,m,p.useMaxWidth);const k=`${u.x-E} ${u.y-E} ${m} ${w}`;y.debug(`viewBox ${k}`),n.attr("viewBox",k)},U={draw:F},tt={parser:A,db:S,renderer:U,styles:G,init:i=>{i.class||(i.class={}),i.class.arrowMarkerAbsolute=i.arrowMarkerAbsolute,S.clear()}};export{tt as diagram}; diff --git a/assets/classDiagram-v2-8ecb0bfc-rRpGDOX7.js b/assets/classDiagram-v2-8ecb0bfc-rRpGDOX7.js new file mode 100644 index 00000000..6944013d --- /dev/null +++ b/assets/classDiagram-v2-8ecb0bfc-rRpGDOX7.js @@ -0,0 +1,2 @@ +import{p as M,d as N,s as $}from"./styles-4ba6ed67-R_EEqhPc.js";import{l as d,c,h as w,y as R,t as B,r as E,o as _,p as G,j as C}from"./mermaid.core-Up0YySao.js";import{G as z}from"./layout-bNXk8SHo.js";import{r as P}from"./index-67a42d7d-Sclb7lyu.js";import"./app-Mf7X6hWu.js";import"./edges-80f1ebb6-Okp3_yLQ.js";import"./createText-aebacdfe-sWKH4swq.js";import"./line-rSV082x4.js";import"./array-Nw74a44z.js";import"./path-aUcfwwLI.js";const S=s=>C.sanitizeText(s,c());let k={dividerMargin:10,padding:5,textHeight:10,curve:void 0};const q=function(s,t,y,n){const e=Object.keys(s);d.info("keys:",e),d.info(s),e.forEach(function(i){var o,r;const l=s[i],p={shape:"rect",id:l.id,domId:l.domId,labelText:S(l.id),labelStyle:"",style:"fill: none; stroke: black",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};t.setNode(l.id,p),A(l.classes,t,y,n,l.id),d.info("setNode",p)})},A=function(s,t,y,n,e){const i=Object.keys(s);d.info("keys:",i),d.info(s),i.filter(o=>s[o].parent==e).forEach(function(o){var r,l;const a=s[o],p=a.cssClasses.join(" "),f={labelStyle:"",style:""},m=a.label??a.id,b=0,h="class_box",u={labelStyle:f.labelStyle,shape:h,labelText:S(m),classData:a,rx:b,ry:b,class:p,style:f.style,id:a.id,domId:a.domId,tooltip:n.db.getTooltip(a.id,e)||"",haveCallback:a.haveCallback,link:a.link,width:a.type==="group"?500:void 0,type:a.type,padding:((r=c().flowchart)==null?void 0:r.padding)??((l=c().class)==null?void 0:l.padding)};t.setNode(a.id,u),e&&t.setParent(a.id,e),d.info("setNode",u)})},F=function(s,t,y,n){d.info(s),s.forEach(function(e,i){var o,r;const l=e,a="",p={labelStyle:"",style:""},f=l.text,m=0,b="note",h={labelStyle:p.labelStyle,shape:b,labelText:S(f),noteData:l,rx:m,ry:m,class:a,style:p.style,id:l.id,domId:l.id,tooltip:"",type:"note",padding:((o=c().flowchart)==null?void 0:o.padding)??((r=c().class)==null?void 0:r.padding)};if(t.setNode(l.id,h),d.info("setNode",h),!l.class||!(l.class in n))return;const u=y+i,g={id:`edgeNote${u}`,classes:"relation",pattern:"dotted",arrowhead:"none",startLabelRight:"",endLabelLeft:"",arrowTypeStart:"none",arrowTypeEnd:"none",style:"fill:none",labelStyle:"",curve:E(k.curve,_)};t.setEdge(l.id,l.class,g,u)})},H=function(s,t){const y=c().flowchart;let n=0;s.forEach(function(e){var i;n++;const o={classes:"relation",pattern:e.relation.lineType==1?"dashed":"solid",id:"id"+n,arrowhead:e.type==="arrow_open"?"none":"normal",startLabelRight:e.relationTitle1==="none"?"":e.relationTitle1,endLabelLeft:e.relationTitle2==="none"?"":e.relationTitle2,arrowTypeStart:D(e.relation.type1),arrowTypeEnd:D(e.relation.type2),style:"fill:none",labelStyle:"",curve:E(y==null?void 0:y.curve,_)};if(d.info(o,e),e.style!==void 0){const r=G(e.style);o.style=r.style,o.labelStyle=r.labelStyle}e.text=e.title,e.text===void 0?e.style!==void 0&&(o.arrowheadStyle="fill: #333"):(o.arrowheadStyle="fill: #333",o.labelpos="c",((i=c().flowchart)==null?void 0:i.htmlLabels)??c().htmlLabels?(o.labelType="html",o.label=''+e.text+""):(o.labelType="text",o.label=e.text.replace(C.lineBreakRegex,` +`),e.style===void 0&&(o.style=o.style||"stroke: #333; stroke-width: 1.5px;fill:none"),o.labelStyle=o.labelStyle.replace("color:","fill:"))),t.setEdge(e.id1,e.id2,o,n)})},V=function(s){k={...k,...s}},W=async function(s,t,y,n){d.info("Drawing class - ",t);const e=c().flowchart??c().class,i=c().securityLevel;d.info("config:",e);const o=(e==null?void 0:e.nodeSpacing)??50,r=(e==null?void 0:e.rankSpacing)??50,l=new z({multigraph:!0,compound:!0}).setGraph({rankdir:n.db.getDirection(),nodesep:o,ranksep:r,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=n.db.getNamespaces(),p=n.db.getClasses(),f=n.db.getRelations(),m=n.db.getNotes();d.info(f),q(a,l,t,n),A(p,l,t,n),H(f,l),F(m,l,f.length+1,p);let b;i==="sandbox"&&(b=w("#i"+t));const h=i==="sandbox"?w(b.nodes()[0].contentDocument.body):w("body"),u=h.select(`[id="${t}"]`),g=h.select("#"+t+" g");if(await P(g,l,["aggregation","extension","composition","dependency","lollipop"],"classDiagram",t),R.insertTitle(u,"classTitleText",(e==null?void 0:e.titleTopMargin)??5,n.db.getDiagramTitle()),B(l,u,e==null?void 0:e.diagramPadding,e==null?void 0:e.useMaxWidth),!(e!=null&&e.htmlLabels)){const T=i==="sandbox"?b.nodes()[0].contentDocument:document,I=T.querySelectorAll('[id="'+t+'"] .edgeLabel .label');for(const x of I){const L=x.getBBox(),v=T.createElementNS("http://www.w3.org/2000/svg","rect");v.setAttribute("rx",0),v.setAttribute("ry",0),v.setAttribute("width",L.width),v.setAttribute("height",L.height),x.insertBefore(v,x.firstChild)}}};function D(s){let t;switch(s){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}const J={setConf:V,draw:W},oe={parser:M,db:N,renderer:J,styles:$,init:s=>{s.class||(s.class={}),s.class.arrowMarkerAbsolute=s.arrowMarkerAbsolute,N.clear()}};export{oe as diagram}; diff --git a/assets/createText-aebacdfe-sWKH4swq.js b/assets/createText-aebacdfe-sWKH4swq.js new file mode 100644 index 00000000..476d78a6 --- /dev/null +++ b/assets/createText-aebacdfe-sWKH4swq.js @@ -0,0 +1,7 @@ +import{l as At,an as zt,ap as It}from"./mermaid.core-Up0YySao.js";const Tt={};function Bt(n,r){const t=r||Tt,e=typeof t.includeImageAlt=="boolean"?t.includeImageAlt:!0,u=typeof t.includeHtml=="boolean"?t.includeHtml:!0;return et(n,e,u)}function et(n,r,t){if(Lt(n)){if("value"in n)return n.type==="html"&&!t?"":n.value;if(r&&"alt"in n&&n.alt)return n.alt;if("children"in n)return Vn(n.children,r,t)}return Array.isArray(n)?Vn(n,r,t):""}function Vn(n,r,t){const e=[];let u=-1;for(;++u[*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37.
[†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107.
${e.children.map(t).join("")}
`:`Unsupported markdown: ${e.type}`}return r.map(t).join("")}function Mr(n){return Intl.Segmenter?[...new Intl.Segmenter().segment(n)].map(r=>r.segment):[...n]}function jr(n,r){const t=Mr(r.content);return gt(n,[],t,r.type)}function gt(n,r,t,e){if(t.length===0)return[{content:r.join(""),type:e},{content:"",type:e}];const[u,...i]=t,l=[...r,u];return n([{content:l.join(""),type:e}])?gt(n,l,i,e):(r.length===0&&u&&(r.push(u),t.shift()),[{content:r.join(""),type:e},{content:t.join(""),type:e}])}function Rr(n,r){if(n.some(({content:t})=>t.includes(` +`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return Bn(n,r)}function Bn(n,r,t=[],e=[]){if(n.length===0)return e.length>0&&t.push(e),t.length>0?t:[];let u="";n[0].content===" "&&(u=" ",n.shift());const i=n.shift()??{content:" ",type:"normal"},l=[...e];if(u!==""&&l.push({content:u,type:"normal"}),l.push(i),r(l))return Bn(n,r,t,l);if(e.length>0)t.push(e),n.unshift(i);else if(i.content){const[a,m]=jr(r,i);t.push([a]),m.content&&n.unshift(m)}return Bn(n,r,t)}function qr(n,r){r&&n.attr("style",r)}function Hr(n,r,t,e,u=!1){const i=n.append("foreignObject"),l=i.append("xhtml:div"),a=r.label,m=r.isNode?"nodeLabel":"edgeLabel";l.html(` + "+a+""),qr(l,r.labelStyle),l.style("display","table-cell"),l.style("white-space","nowrap"),l.style("max-width",t+"px"),l.attr("xmlns","http://www.w3.org/1999/xhtml"),u&&l.attr("class","labelBkg");let c=l.node().getBoundingClientRect();return c.width===t&&(l.style("display","table"),l.style("white-space","break-spaces"),l.style("width",t+"px"),c=l.node().getBoundingClientRect()),i.style("width",c.width),i.style("height",c.height),i.node()}function Pn(n,r,t){return n.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",r*t-.1+"em").attr("dy",t+"em")}function Nr(n,r,t){const e=n.append("text"),u=Pn(e,1,r);_n(u,t);const i=u.node().getComputedTextLength();return e.remove(),i}function Qr(n,r,t){var e;const u=n.append("text"),i=Pn(u,1,r);_n(i,[{content:t,type:"normal"}]);const l=(e=i.node())==null?void 0:e.getBoundingClientRect();return l&&u.remove(),l}function Vr(n,r,t,e=!1){const i=r.append("g"),l=i.insert("rect").attr("class","background"),a=i.append("text").attr("y","-10.1");let m=0;for(const c of t){const p=x=>Nr(i,1.1,x)<=n,f=p(c)?[c]:Rr(c,p);for(const x of f){const h=Pn(a,m,1.1);_n(h,x),m++}}if(e){const c=a.node().getBBox(),p=2;return l.attr("x",-p).attr("y",-p).attr("width",c.width+2*p).attr("height",c.height+2*p),i.node()}else return a.node()}function _n(n,r){n.text(""),r.forEach((t,e)=>{const u=n.append("tspan").attr("font-style",t.type==="emphasis"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",t.type==="strong"?"bold":"normal");e===0?u.text(t.content):u.text(" "+t.content)})}const Ur=(n,r="",{style:t="",isTitle:e=!1,classes:u="",useHtmlLabels:i=!0,isNode:l=!0,width:a=200,addSvgBackground:m=!1}={})=>{if(At.info("createText",r,t,e,u,i,l,m),i){const c=_r(r),p={isNode:l,label:zt(c).replace(/fa[blrs]?:fa-[\w-]+/g,x=>``),labelStyle:t.replace("fill:","color:")};return Hr(n,p,a,u,m)}else{const c=Pr(r);return Vr(a,n,c,m)}};export{Qr as a,Ur as c}; diff --git a/assets/css/publish.admonition.css b/assets/css/publish.admonition.css new file mode 100644 index 00000000..3b533c75 --- /dev/null +++ b/assets/css/publish.admonition.css @@ -0,0 +1,262 @@ +/** Constants */ +:root { + --admonition-details-icon: url("data:image/svg+xml;charset=utf-8,"); +} + +.admonition { + margin: 1.5625em 0; + padding: 0; + overflow: hidden; + color: var(--text-normal); + page-break-inside: avoid; + background-color: var(--background-secondary); + border-left: 0.2rem solid rgb(var(--admonition-color)); + border-radius: 0.1rem; + box-shadow: 0 0.2rem 0.5rem var(--background-modifier-box-shadow); +} + +.admonition-title { + position: relative; + padding: 0.6rem 0.25em; + font-weight: 700; + background-color: rgba(var(--admonition-color), 0.1); +} + +.admonition-title-content { + display: flex; + justify-content: flex-start; + margin-top: 0 !important; + margin-bottom: 0 !important; +} + +.admonition-title-icon { + color: rgb(var(--admonition-color)); + display: flex; + align-items: center; + justify-content: center; + margin: 0 0.5em 0 0.25em; + min-width: 1em; + width: min-content; +} + +.admonition-title-markdown { + display: block; +} + +.admonition-title.no-title { + display: none; +} + +.admonition > .admonition-title.no-title + .admonition-content-holder { + margin-top: 1rem; + margin-bottom: 1rem; +} + +.admonition-content-holder { + position: relative; +} + +.admonition-content { + margin: 10px 15px; + position: relative; + overflow-x: auto; +} + +.admonition-content-copy { + color: var(--text-faint); + cursor: pointer; + opacity: 0; + position: absolute; + right: 0.375rem; + top: -5px; + transition: 0.3s opacity ease-in; +} + +.admonition-content-copy:hover { + color: var(--text-normal); +} + +.admonition:hover .admonition-content-copy, +.admonition-content-copy:hover { + opacity: 1; +} +.admonition-title:hover + .admonition-content .admonition-content-copy { + opacity: 0; +} + +details.admonition:not([open]) { + padding-bottom: 0; +} + +details.admonition > summary { + outline: none; + display: block !important; + list-style: none !important; + list-style-type: none !important; + min-height: 1rem; + border-top-left-radius: 0.1rem; + border-top-right-radius: 0.1rem; + cursor: pointer; +} + +details.admonition > summary::-webkit-details-marker, +details.admonition > summary::marker { + display: none !important; +} + +details.admonition > summary > .collapser { + position: absolute; + top: 50%; + right: 8px; + transform: translateY(-50%); + content: ""; +} + +details.admonition > summary > .collapser > .handle { + transform: rotate(0deg); + transition: transform 0.25s; + background-color: currentColor; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: contain; + mask-size: contain; + -webkit-mask-image: var(--admonition-details-icon); + mask-image: var(--admonition-details-icon); + width: 20px; + height: 20px; +} + +details.admonition[open] > summary > .collapser > .handle { + transform: rotate(90deg); +} + +/** Settings */ +.admonition-setting-additional-container + > .setting-item:not(.setting-item-heading) { + border: 0px; +} + +.admonition-setting-additional-container { + border-bottom: 1px solid var(--background-modifier-border); + border-top: 1px solid var(--background-modifier-border); + padding: 18px 0 0 0; +} + +.admonition-setting-additional-container > .setting-item-heading:only-child { + padding-bottom: 18px; +} + +.admonition-setting-additional-container > .additional { + margin: 6px 12px; +} +.admonition-setting-additional-container > .additional > .setting-item { + border-top: 0; + padding-top: 9px; +} +.admonition-setting-additional-container + > .additional + > .setting-item + > .setting-item-control + > *:first-child { + margin: 0 6px; +} + +.setting-item > .admonition { + width: 50%; + margin: 0; +} + +.unset-align-items { + align-items: unset; +} + +.has-invalid-message { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 1fr 1fr; + grid-template-areas: + "text image" + "inv inv"; +} + +input.is-invalid { + border-color: #dc3545 !important; + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); + background-repeat: no-repeat; + background-position: right calc(0.375em + 0.1875rem) center; + background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); +} + +.admonition-type-setting input { + grid-column: span 2; +} + +.invalid-feedback { + display: block; + grid-area: inv; + width: 100%; + margin-top: 0.25rem; + font-size: 0.875em; + color: #dc3545; +} + +.suggestion-content.admonition-icon { + display: flex; + align-items: center; + justify-content: space-between; + flex-flow: row wrap; +} + +.suggestion-content.admonition-icon > .suggestion-text.admonition-text { + width: fit-content; +} + +.suggestion-content.admonition-icon + > .suggestion-flair.admonition-suggester-icon { + width: min-content; + position: relative; + top: unset; + left: unset; + right: unset; + bottom: unset; + display: flex; + align-items: center; +} + +.suggestion-content.admonition-icon > .suggestion-note { + width: 100%; +} + +.admonition-suggester-icon svg { + width: 1em; +} + +/** Internal */ + +.admonition li.task-list-item.is-checked p { + text-decoration: line-through; +} + +.admonition-settings .coffee { + width: 60%; + color: var(--text-faint); + margin: 1rem auto; + text-align: center; +} +.admonition-settings .coffee img { + height: 30px; +} + +.admonition-file-upload { + margin-right: 0; + margin-left: 12px; +} +.admonition-file-upload > input[type="file"] { + display: none; +} + +.insert-admonition-modal button:focus, +.insert-admonition-modal .clickable-icon:focus { + box-shadow: 0px 0px 5px rgb(0 0 0 / 50%); + border-color: var(--background-modifier-border-focus); +} diff --git a/assets/dcd25a6082e1989975c280213f3e1052-tli5j0BX.png b/assets/dcd25a6082e1989975c280213f3e1052-tli5j0BX.png new file mode 100644 index 00000000..07629410 Binary files /dev/null and b/assets/dcd25a6082e1989975c280213f3e1052-tli5j0BX.png differ diff --git a/assets/document-style-guide.html-EGDv-WCd.js b/assets/document-style-guide.html-EGDv-WCd.js new file mode 100644 index 00000000..2542e8b4 --- /dev/null +++ b/assets/document-style-guide.html-EGDv-WCd.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-7fdba302","path":"/code/document-style-guide.html","title":"中文技术文档的写作规范","lang":"zh-CN","frontmatter":{"title":"中文技术文档的写作规范","date":"2022-07-30T19:28:51.000Z","updated":"2022-07-30T20:06:10.000Z","description":"中文技术文档的写作规范 中文技术文档的写作规范,转自 ruanyf/document-style-guide: 中文技术文档的写作规范 (github.com)。 当前版本:b7723b8","head":[["script",{"type":"text/javascript"},"var _hmt = _hmt || []"],["script",{"src":"https://hm.baidu.com/hm.js?5574297d56b065f5137cf3654e3de360"}],["script",{"src":"https://hm.baidu.com/hm.js?92a8f6d9fbb75efa90964afcd42be758"}],["meta",{"property":"og:url","content":"https://northword.cn/code/document-style-guide.html"}],["meta",{"property":"og:site_name","content":"北辞"}],["meta",{"property":"og:title","content":"中文技术文档的写作规范"}],["meta",{"property":"og:description","content":"中文技术文档的写作规范 中文技术文档的写作规范,转自 ruanyf/document-style-guide: 中文技术文档的写作规范 (github.com)。 当前版本:b7723b8"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2022-09-16T11:15:35.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2022-07-30T19:28:51.000Z"}],["meta",{"property":"article:modified_time","content":"2022-09-16T11:15:35.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"中文技术文档的写作规范\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-07-30T19:28:51.000Z\\",\\"dateModified\\":\\"2022-09-16T11:15:35.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.cn\\"}]}"]]},"headers":[{"level":2,"title":"目录","slug":"目录","link":"#目录","children":[]},{"level":2,"title":"标题","slug":"标题","link":"#标题","children":[{"level":3,"title":"层级","slug":"层级","link":"#层级","children":[]},{"level":3,"title":"原则","slug":"原则","link":"#原则","children":[]}]},{"level":2,"title":"文本","slug":"文本","link":"#文本","children":[{"level":3,"title":"字间距","slug":"字间距","link":"#字间距","children":[]},{"level":3,"title":"句子","slug":"句子","link":"#句子","children":[]},{"level":3,"title":"写作风格","slug":"写作风格","link":"#写作风格","children":[]},{"level":3,"title":"英文处理","slug":"英文处理","link":"#英文处理","children":[]}]},{"level":2,"title":"段落","slug":"段落","link":"#段落","children":[{"level":3,"title":"原则","slug":"原则-1","link":"#原则-1","children":[]},{"level":3,"title":"引用","slug":"引用","link":"#引用","children":[]}]},{"level":2,"title":"数值","slug":"数值","link":"#数值","children":[{"level":3,"title":"半角数字","slug":"半角数字","link":"#半角数字","children":[]},{"level":3,"title":"千分号","slug":"千分号","link":"#千分号","children":[]},{"level":3,"title":"货币","slug":"货币","link":"#货币","children":[]},{"level":3,"title":"数值范围","slug":"数值范围","link":"#数值范围","children":[]},{"level":3,"title":"变化程度的表示法","slug":"变化程度的表示法","link":"#变化程度的表示法","children":[]}]},{"level":2,"title":"标点符号","slug":"标点符号","link":"#标点符号","children":[{"level":3,"title":"原则","slug":"原则-2","link":"#原则-2","children":[]},{"level":3,"title":"句号","slug":"句号","link":"#句号","children":[]},{"level":3,"title":"逗号","slug":"逗号","link":"#逗号","children":[]},{"level":3,"title":"顿号","slug":"顿号","link":"#顿号","children":[]},{"level":3,"title":"分号","slug":"分号","link":"#分号","children":[]},{"level":3,"title":"引号","slug":"引号","link":"#引号","children":[]},{"level":3,"title":"括号","slug":"括号","link":"#括号","children":[]},{"level":3,"title":"冒号","slug":"冒号","link":"#冒号","children":[]},{"level":3,"title":"省略号","slug":"省略号","link":"#省略号","children":[]},{"level":3,"title":"感叹号","slug":"感叹号","link":"#感叹号","children":[]},{"level":3,"title":"破折号","slug":"破折号","link":"#破折号","children":[]},{"level":3,"title":"连接号","slug":"连接号","link":"#连接号","children":[]}]},{"level":2,"title":"文档体系","slug":"文档体系","link":"#文档体系","children":[{"level":3,"title":"结构","slug":"结构","link":"#结构","children":[]},{"level":3,"title":"文件名","slug":"文件名","link":"#文件名","children":[]}]},{"level":2,"title":"参考链接","slug":"参考链接","link":"#参考链接","children":[]},{"level":2,"title":"License","slug":"license","link":"#license","children":[]}],"git":{"createdTime":1663326935000,"updatedTime":1663326935000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":14.74,"words":4423},"filePathRelative":"code/document-style-guide.md","localizedDate":"2022年7月31日","excerpt":"中文技术文档的写作规范,转自 ruanyf/document-style-guide: 中文技术文档的写作规范 (github.com)。
\\n当前版本:b7723b8
","autoDesc":true}');export{e as data}; diff --git a/assets/document-style-guide.html-bBx7fYPO.js b/assets/document-style-guide.html-bBx7fYPO.js new file mode 100644 index 00000000..cd90e791 --- /dev/null +++ b/assets/document-style-guide.html-bBx7fYPO.js @@ -0,0 +1,162 @@ +import{_ as s}from"./plugin-vue_export-helper-x3n3nnut.js";import{r as l,o as t,c as r,a as e,b as n,e as i,d}from"./app-Mf7X6hWu.js";const c={},o=e("h1",{id:"中文技术文档的写作规范",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#中文技术文档的写作规范","aria-hidden":"true"},"#"),n(" 中文技术文档的写作规范")],-1),u={href:"https://github.com/ruanyf/document-style-guide",target:"_blank",rel:"noopener noreferrer"},v={href:"https://github.com/ruanyf/document-style-guide/tree/b7723b845f01b402a1a453224df33156a64e6c99",target:"_blank",rel:"noopener noreferrer"},p=d(`标题分为四级。
下面是示例。
# 一级标题
+
+## 二级标题
+
+### 三级标题
+
+#### 四级标题
+
(1)一级标题下,不能直接出现三级标题。
示例:下面的文章结构,缺少二级标题。
# 一级标题
+
+### 三级标题
+
(2)标题要避免孤立编号(即同级标题只有一个)。
示例:下面的文章结构,二级标题 A
只包含一个三级标题,完全可以省略 三级标题 A
。
## 二级标题 A
+
+### 三级标题 A
+
+## 二级标题 B
+
(3)下级标题不重复上一级标题的名字。
示例:下面的文章结构,二级标题与下属的三级标题同名,建议避免。
## 概述
+
+### 概述
+
(4)谨慎使用四级标题,尽量避免出现,保持层级的简单,防止出现过于复杂的章节。
如果三级标题下有并列性的内容,建议只使用项目列表(Item list)。
示例:下面的结构二要好于结构一。结构一适用的场景,主要是较长篇幅的内容。
结构一
+
+### 三级标题
+
+#### 四级标题 A
+
+#### 四级标题 B
+
+#### 四级标题 C
+
+结构二
+
+### 三级标题
+
+**(1)A**
+
+**(2)B**
+
+**(3)C**
+
(1)全角中文字符与半角英文字符之间,应有一个半角空格。
错误:本文介绍如何快速启动Windows系统。
+
+正确:本文介绍如何快速启动 Windows 系统。
+
(2)全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。
正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。
+
+正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。
+
半角的百分号,视同阿拉伯数字。
正确:今年我国经济增长率是6.5%。
+
+正确:今年我国经济增长率是 6.5%。
+
(3)英文单位若不翻译,单位前的阿拉伯数字与单位符号之间,应留出适当的空隙。
例1:一部容量为 16 GB 的智能手机
+
+例2:1 h = 60 min = 3,600 s
+
(4)半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。
错误:他的电脑是 MacBook Air 。
+
+正确:他的电脑是 MacBook Air。
+
(1)避免使用长句。
不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,任何情况下都不能接受。
错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。
+
+正确:本产品适用于多种体系结构。无论是由一台服务器(单一节点结构),还是由多台服务器(并行处理结构)进行动作控制,均可以使用本产品。
+
逗号分割的长句,总长度不应该超过 100 字或者正文的 3 行。
(2)尽量使用简单句和并列句,避免使用复合句。
并列句:他昨天生病了,没有参加会议。
+
+复合句:那个昨天生病的人没有参加会议。
+
(3)同样一个意思,尽量使用肯定句表达,不使用否定句表达。
错误:请确认没有接通装置的电源。
+
+正确:请确认装置的电源已关闭。
+
(4)避免使用双重否定句。
错误:没有删除权限的用户,不能删除此文件。
+
+正确:用户必须拥有删除权限,才能删除此文件。
+
(1)尽量不使用被动语态,改为使用主动语态。
错误:假如此软件尚未被安装,
+
+正确:假如尚未安装这个软件,
+
(2)不使用非正式的语言风格。
错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!!
+
+正确:无法参加本次活动,我深感遗憾。
+
(3)不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。
错误:这是唯二的快速启动的方法。
+
+正确:这是仅有的两种快速启动的方法。
+
(4)用对“的”、“地”、“得”。
她露出了开心的笑容。
+(形容词+的+名词)
+
+她开心地笑了。
+(副词+地+动词)
+
+她笑得很开心。
+(动词+得+副词)
+
(5)使用代词时(比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。
错误:从管理系统可以监视中继系统和受其直接控制的分配系统。
+
+正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。
+
(6)名词前不要使用过多的形容词。
错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。
+
+正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。
+
(1)英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。
英文:...information stored in random access memory (RAMs)...
+
+中文:⋯⋯存储在随机存取存储器(RAM)里的信息⋯⋯
+
(2)外文缩写可以使用半角圆点 (.
) 表示缩写。
U.S.A.
+Apple, Inc.
+
(3)表示中文时,英文省略号(...
)应改为中文省略号(⋯⋯
)。
英文:5 minutes later...
+
+中文:5 分钟过去了⋯⋯
+
(4)英文书名或电影名改用中文表达时,双引号应改为书名号。
英文:He published an article entitled "The Future of the Aviation".
+
+中文:他发表了一篇名为《航空业的未来》的文章。
+
(5)第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。
IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。
+
(6)专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。
“American Association of Physicists in Medicine”(美国医学物理学家协会)是专有名词,需要大写。
+
+“online transaction processing”(在线事务处理)不是专有名词,不应大写。
+
引用第三方内容时,应注明出处。
One man’s constant is another man’s variable. — Alan Perlis
+
如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。
本文转载自 WikiQuote
+
使用外部图片时,必须在图片下方或文末标明来源。
本文部分图片来自 Wikipedia
+
阿拉伯数字一律使用半角形式,不得使用全角形式。
错误:这件商品的价格是1000元。
+
+正确:这件商品的价格是 1000 元。
+
数值为千位以上,应添加千分号(半角逗号)。
XXX 公司的实收资本为 ¥1,258,000 人民币。
+
对于 4 位的数值,千分号是选用的,比如 1000
和 1,000
都可以接受。对于 4 位以上的数值,应添加千分号。
货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。
$1,000
+1,000 美元
+
表示数值范围时,用波浪线(~
)或一字线(—
)连接。参见《标点符号》一节的“连接号”部分。
带有单位或百分号时,两个数字建议都要加上单位或百分号。
132 kg~234 kg
+
+67%~89%
+
数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。
增加到过去的两倍
+(过去为一,现在为二)
+
+增加了两倍
+(过去为一,现在为三)
+
数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。
降低到百分之八十
+(定额是一百,现在是八十)
+
+降低了百分之八十
+(原来是一百,现在是二十)
+
不能用“降低 N 倍”或“减少 N 倍”的表示法,要用“降低百分之几”或“减少百分之几”。因为减少(或降低)一倍表示数值原来为一百,现在等于零。
(1)中文语句的标点符号,均应该采取全角符号,这样可以与全角文字保持视觉的一致。
(2)如果整句为英文,则该句使用英文/半角标点。
(3)句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。
(4)点号(句号、逗号、顿号、分号、冒号)不得出现在标题的末尾,而标号(引号、括号、破折号、省略号、书名号、着重号、间隔号、叹号、问号)可以。
(1)中文语句的结尾处应该用全角句号(。
)。
(2)句子末尾用括号加注时,句号应在括号之外。
错误:关于文件的输出,请参照第 1.3 节(见第 26 页。)
+
+正确:关于文件的输出,请参照第 1.3 节(见第 26 页)。
+
(1)逗号(,
)表示句子内部的一般性停顿。
(2)注意避免“一逗到底”,即整个段落除了结尾,全部停顿都使用逗号。
(1)句子内部的并列词,应该用全角顿号 (、
) 分隔,而不用逗号,即使并列词是英语也是如此。
错误:我最欣赏的科技公司有 Google, Facebook, 腾讯, 阿里和百度等。
+
+正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。
+
(2)英文句子中,并列词语之间使用半角逗号(,
)分隔。
例句:Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components.
+
(3)中文句子内部的并列词,最后一个尽量使用(和
)来连接,使句子读起来更加连贯,下面两个句子都可以,第二个更优。
正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里,以及百度等。
+
+正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。
+
(1)分号(;
)表示复句内部并列分句之间的停顿。
(1)引用时,应该使用全角双引号(“ ”
),注意前后双引号不同。
例句:许多人都认为客户服务的核心是“友好”和“专业”。
+
(2)引号里面还要用引号时,外面一层用双引号,里面一层用单引号(‘ ’
),注意前后单引号不同。
例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。”
+
(1)补充说明时,使用全角圆括号(()
),括号前后不加空格。
例句:请确认所有的连接(电缆和接插件)均安装牢固。
+
(2)几种括号的中英文名称。
英文 | 中文 | |
---|---|---|
{ } | braces 或 curly brackets | 大括号 |
[ ] | square brackets 或 brackets | 方括号 |
< > | angled brackets | 尖括号 |
( ) | parentheses | 圆括号 |
(1)全角冒号(:
)常用在需要解释的词语后边,引出解释和说明。
例句:请确认以下几项内容:时间、地点、活动名称和来宾数量。
+
(2)表示时间时,应使用半角冒号(:
)。
例句:早上 8:00
+
(1)省略号(⋯⋯
)表示语句未完、或者语气的不连续。
(2)省略号占两个汉字空间、包含六个省略点,不要使用 。。。
或 ...
等非标准形式。
(3)省略号不应与“等”这个词一起使用。
错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。
+
+正确:我们为会餐准备了各色水果,有香蕉、苹果、梨⋯⋯
+
+正确:我们为会餐准备了香蕉、苹果、梨等各色水果。
+
(1)应该使用平静的语气叙述,尽量避免使用感叹号(!
)。
(2)不得多个感叹号连用,比如 !!
和 !!!
。
(1)破折号 ————
一般用于进一步解释。
(2)破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。
例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。
+
+例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。
+
(1)连接号用于连接两个类似的词。
(2)以下场合应该使用直线连接号(-
),占一个半角字符的位置。
例句:氧化-还原反应
+
+例句:图 1-1
+
(3)数值范围(例如日期、时间或数字)应该使用波浪连接号(~
)或一字号(—
),占一个全角字符的位置。
例句:2009 年~2011 年
+
注意,波浪连接号前后两个值都建议加上单位。
(4)波浪连接号也可以用汉字“至”代替。
例句:周围温度:-20 °C 至 -10 °C
+
软件手册是一部完整的书,建议采用下面的结构。
下面是两个真实范例,可参考。
`,37),E={href:"https://redux.js.org/introduction/getting-started",target:"_blank",rel:"noopener noreferrer"},y={href:"http://flight-manual.atom.io/",target:"_blank",rel:"noopener noreferrer"},A=d(`文档的文件名不得含有空格。
文件名必须使用半角字符,不得使用全角字符。这也意味着,中文不能用于文件名。
错误:名词解释.md
+
+正确:glossary.md
+
文件名建议只使用小写字母,不使用大写字母。
错误:TroubleShooting.md
+
+正确:troubleshooting.md
+
为了醒目,某些说明文件的文件名,可以使用大写字母,比如 README
、LICENSE
。
文件名包含多个单词时,单词之间建议使用半角的连词线(-
)分隔。
不佳:advanced_usage.md
+
+正确:advanced-usage.md
+
\\n\\n[!warning] WORK IN PROGRESS\\n此页面正在施工中。
\\n
这里只给出了一个基本的介绍。有关 CSL
更详细的介绍可以查看 CSL
标准文档或者其他参考文档。
[!DONE] File Types
CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl
作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml
,其中 xx-XX
表示语言以及其方言,例如 en-US
表示美式英语)。
独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。
从属样式是独立样式的别名(alias),其仅包含样式元数据,不包括任何格式的指示。
通过将具有相同引用风格的期刊(例如 "Nature Biotechnology","Nature Nanotechnology")的从属样式链接到一个单独的独立样式(例如 "Nature Journals"),从属样式就不再需要再重复一遍格式说明。
[!NOTE] 译者注
也就是说从属样式是依赖其他样式的,被依赖的样式成为称为父样式。
每个本地化文件包含一系列对某种特定的语言 / 方言的本地化数据(术语翻译,本地化日期格式以及语法选项)。
',12),r=[d];function n(h,l){return o(),a("div",null,r)}const p=e(c,[["render",n],["__file","file-types.html.vue"]]);export{p as default}; diff --git a/assets/file-types.html-w6cLRIs5.js b/assets/file-types.html-w6cLRIs5.js new file mode 100644 index 00000000..4e7c4e72 --- /dev/null +++ b/assets/file-types.html-w6cLRIs5.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-3ad3b172","path":"/code/citation-style-language/specification/file-types.html","title":"文件类型","lang":"zh-CN","frontmatter":{"title":"文件类型","date":"2022-08-01T16:55:26.000Z","updated":"2022-08-03T12:19:19.000Z","description":"文件类型 [!DONE] File Types CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl 作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml,其中 xx-XX 表示语言以及其方言,例如 en-US 表示美式英语)。 独立样式 独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。","head":[["script",{"type":"text/javascript"},"var _hmt = _hmt || []"],["script",{"src":"https://hm.baidu.com/hm.js?5574297d56b065f5137cf3654e3de360"}],["script",{"src":"https://hm.baidu.com/hm.js?92a8f6d9fbb75efa90964afcd42be758"}],["meta",{"property":"og:url","content":"https://northword.cn/code/citation-style-language/specification/file-types.html"}],["meta",{"property":"og:site_name","content":"北辞"}],["meta",{"property":"og:title","content":"文件类型"}],["meta",{"property":"og:description","content":"文件类型 [!DONE] File Types CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl 作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml,其中 xx-XX 表示语言以及其方言,例如 en-US 表示美式英语)。 独立样式 独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2022-09-16T13:52:48.000Z"}],["meta",{"property":"article:author","content":"Northword"}],["meta",{"property":"article:published_time","content":"2022-08-01T16:55:26.000Z"}],["meta",{"property":"article:modified_time","content":"2022-09-16T13:52:48.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"文件类型\\",\\"image\\":[\\"\\"],\\"datePublished\\":\\"2022-08-01T16:55:26.000Z\\",\\"dateModified\\":\\"2022-09-16T13:52:48.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"Northword\\",\\"url\\":\\"https://northword.cn\\"}]}"]]},"headers":[{"level":2,"title":"独立样式","slug":"独立样式","link":"#独立样式","children":[]},{"level":2,"title":"从属样式","slug":"从属样式","link":"#从属样式","children":[]},{"level":2,"title":"本地化文件","slug":"本地化文件","link":"#本地化文件","children":[]}],"git":{"createdTime":1663336368000,"updatedTime":1663336368000,"contributors":[{"name":"Northword","email":"northword@outlook.com","commits":1}]},"readingTime":{"minutes":1.28,"words":384},"filePathRelative":"code/citation-style-language/specification/file-types.md","localizedDate":"2022年8月2日","excerpt":"[!NOTE] 译者注 本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的
et al.
替换为等
。
\\n\\n[!DONE] File Types
\\n
CSL 文件有 3 种类型:独立样式、从属样式(都使用 .csl
作为扩展名),以及 本地化文件(名字为 locales-xx-XX.xml
,其中 xx-XX
表示语言以及其方言,例如 en-US
表示美式英语)。
独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。
","autoDesc":true}');export{e as data}; diff --git a/assets/flowDb-170db09d-WyyBGkz_.js b/assets/flowDb-170db09d-WyyBGkz_.js new file mode 100644 index 00000000..c0ed2e49 --- /dev/null +++ b/assets/flowDb-170db09d-WyyBGkz_.js @@ -0,0 +1,6 @@ +import{c as ft,u as ye,s as me,g as ve,a as Ve,b as Le,v as Ie,x as Re,l as Z1,y as At,z as Ne,j as Oe,h as N1}from"./mermaid.core-Up0YySao.js";var ht=function(){var e=function(h1,a,o,p){for(o=o||{},p=h1.length;p--;o[h1[p]]=a);return o},u=[1,4],i=[1,3],n=[1,5],c=[1,8,9,10,11,27,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],l=[2,2],h=[1,13],U=[1,14],F=[1,15],O=[1,16],z=[1,23],c1=[1,25],f1=[1,26],A1=[1,27],S=[1,49],k=[1,48],o1=[1,29],w1=[1,30],U1=[1,31],G1=[1,32],M1=[1,33],B=[1,44],x=[1,46],y=[1,42],m=[1,47],v=[1,43],V=[1,50],L=[1,45],I=[1,51],R=[1,52],K1=[1,34],j1=[1,35],Y1=[1,36],X1=[1,37],L1=[1,57],b=[1,8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],W=[1,61],q=[1,60],Q=[1,62],z1=[8,9,11,73,75],k1=[1,88],b1=[1,93],g1=[1,92],D1=[1,89],F1=[1,85],T1=[1,91],C1=[1,87],S1=[1,94],_1=[1,90],B1=[1,95],x1=[1,86],H1=[8,9,10,11,73,75],N=[8,9,10,11,44,73,75],M=[8,9,10,11,29,42,44,46,48,50,52,54,56,58,61,63,65,66,68,73,75,86,99,102,103,106,108,111,112,113],Et=[8,9,11,42,58,73,75,86,99,102,103,106,108,111,112,113],I1=[42,58,86,99,102,103,106,108,111,112,113],kt=[1,121],bt=[1,120],gt=[1,128],Dt=[1,142],Ft=[1,143],Tt=[1,144],Ct=[1,145],St=[1,130],_t=[1,132],Bt=[1,136],xt=[1,137],yt=[1,138],mt=[1,139],vt=[1,140],Vt=[1,141],Lt=[1,146],It=[1,147],Rt=[1,126],Nt=[1,127],Ot=[1,134],Pt=[1,129],wt=[1,133],Ut=[1,131],it=[8,9,10,11,27,32,34,36,38,42,58,81,82,83,84,85,86,99,102,103,106,108,111,112,113,118,119,120,121],Gt=[1,149],T=[8,9,11],K=[8,9,10,11,14,42,58,86,102,103,106,108,111,112,113],f=[1,169],P=[1,165],w=[1,166],A=[1,170],d=[1,167],E=[1,168],y1=[75,113,116],g=[8,9,10,11,12,14,27,29,32,42,58,73,81,82,83,84,85,86,87,102,106,108,111,112,113],Mt=[10,103],l1=[31,47,49,51,53,55,60,62,64,65,67,69,113,114,115],Z=[1,235],J=[1,233],$=[1,237],t1=[1,231],e1=[1,232],s1=[1,234],u1=[1,236],i1=[1,238],m1=[1,255],Kt=[8,9,11,103],H=[8,9,10,11,58,81,102,103,106,107,108,109],rt={trace:function(){},yy:{},symbols_:{error:2,start:3,graphConfig:4,document:5,line:6,statement:7,SEMI:8,NEWLINE:9,SPACE:10,EOF:11,GRAPH:12,NODIR:13,DIR:14,FirstStmtSeperator:15,ending:16,endToken:17,spaceList:18,spaceListNewline:19,verticeStatement:20,separator:21,styleStatement:22,linkStyleStatement:23,classDefStatement:24,classStatement:25,clickStatement:26,subgraph:27,textNoTags:28,SQS:29,text:30,SQE:31,end:32,direction:33,acc_title:34,acc_title_value:35,acc_descr:36,acc_descr_value:37,acc_descr_multiline_value:38,link:39,node:40,styledVertex:41,AMP:42,vertex:43,STYLE_SEPARATOR:44,idString:45,DOUBLECIRCLESTART:46,DOUBLECIRCLEEND:47,PS:48,PE:49,"(-":50,"-)":51,STADIUMSTART:52,STADIUMEND:53,SUBROUTINESTART:54,SUBROUTINEEND:55,VERTEX_WITH_PROPS_START:56,"NODE_STRING[field]":57,COLON:58,"NODE_STRING[value]":59,PIPE:60,CYLINDERSTART:61,CYLINDEREND:62,DIAMOND_START:63,DIAMOND_STOP:64,TAGEND:65,TRAPSTART:66,TRAPEND:67,INVTRAPSTART:68,INVTRAPEND:69,linkStatement:70,arrowText:71,TESTSTR:72,START_LINK:73,edgeText:74,LINK:75,edgeTextToken:76,STR:77,MD_STR:78,textToken:79,keywords:80,STYLE:81,LINKSTYLE:82,CLASSDEF:83,CLASS:84,CLICK:85,DOWN:86,UP:87,textNoTagsToken:88,stylesOpt:89,"idString[vertex]":90,"idString[class]":91,CALLBACKNAME:92,CALLBACKARGS:93,HREF:94,LINK_TARGET:95,"STR[link]":96,"STR[tooltip]":97,alphaNum:98,DEFAULT:99,numList:100,INTERPOLATE:101,NUM:102,COMMA:103,style:104,styleComponent:105,NODE_STRING:106,UNIT:107,BRKT:108,PCT:109,idStringToken:110,MINUS:111,MULT:112,UNICODE_TEXT:113,TEXT:114,TAGSTART:115,EDGE_TEXT:116,alphaNumToken:117,direction_tb:118,direction_bt:119,direction_rl:120,direction_lr:121,$accept:0,$end:1},terminals_:{2:"error",8:"SEMI",9:"NEWLINE",10:"SPACE",11:"EOF",12:"GRAPH",13:"NODIR",14:"DIR",27:"subgraph",29:"SQS",31:"SQE",32:"end",34:"acc_title",35:"acc_title_value",36:"acc_descr",37:"acc_descr_value",38:"acc_descr_multiline_value",42:"AMP",44:"STYLE_SEPARATOR",46:"DOUBLECIRCLESTART",47:"DOUBLECIRCLEEND",48:"PS",49:"PE",50:"(-",51:"-)",52:"STADIUMSTART",53:"STADIUMEND",54:"SUBROUTINESTART",55:"SUBROUTINEEND",56:"VERTEX_WITH_PROPS_START",57:"NODE_STRING[field]",58:"COLON",59:"NODE_STRING[value]",60:"PIPE",61:"CYLINDERSTART",62:"CYLINDEREND",63:"DIAMOND_START",64:"DIAMOND_STOP",65:"TAGEND",66:"TRAPSTART",67:"TRAPEND",68:"INVTRAPSTART",69:"INVTRAPEND",72:"TESTSTR",73:"START_LINK",75:"LINK",77:"STR",78:"MD_STR",81:"STYLE",82:"LINKSTYLE",83:"CLASSDEF",84:"CLASS",85:"CLICK",86:"DOWN",87:"UP",90:"idString[vertex]",91:"idString[class]",92:"CALLBACKNAME",93:"CALLBACKARGS",94:"HREF",95:"LINK_TARGET",96:"STR[link]",97:"STR[tooltip]",99:"DEFAULT",101:"INTERPOLATE",102:"NUM",103:"COMMA",106:"NODE_STRING",107:"UNIT",108:"BRKT",109:"PCT",111:"MINUS",112:"MULT",113:"UNICODE_TEXT",114:"TEXT",115:"TAGSTART",116:"EDGE_TEXT",118:"direction_tb",119:"direction_bt",120:"direction_rl",121:"direction_lr"},productions_:[0,[3,2],[5,0],[5,2],[6,1],[6,1],[6,1],[6,1],[6,1],[4,2],[4,2],[4,2],[4,3],[16,2],[16,1],[17,1],[17,1],[17,1],[15,1],[15,1],[15,2],[19,2],[19,2],[19,1],[19,1],[18,2],[18,1],[7,2],[7,2],[7,2],[7,2],[7,2],[7,2],[7,9],[7,6],[7,4],[7,1],[7,2],[7,2],[7,1],[21,1],[21,1],[21,1],[20,3],[20,4],[20,2],[20,1],[40,1],[40,5],[41,1],[41,3],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,8],[43,4],[43,4],[43,4],[43,6],[43,4],[43,4],[43,4],[43,4],[43,4],[43,1],[39,2],[39,3],[39,3],[39,1],[39,3],[74,1],[74,2],[74,1],[74,1],[70,1],[71,3],[30,1],[30,2],[30,1],[30,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[80,1],[28,1],[28,2],[28,1],[28,1],[24,5],[25,5],[26,2],[26,4],[26,3],[26,5],[26,3],[26,5],[26,5],[26,7],[26,2],[26,4],[26,2],[26,4],[26,4],[26,6],[22,5],[23,5],[23,5],[23,9],[23,9],[23,7],[23,7],[100,1],[100,3],[89,1],[89,3],[104,1],[104,2],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[105,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[110,1],[79,1],[79,1],[79,1],[79,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[88,1],[76,1],[76,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[117,1],[45,1],[45,2],[98,1],[98,2],[33,1],[33,1],[33,1],[33,1]],performAction:function(a,o,p,r,C,t,R1){var s=t.length-1;switch(C){case 2:this.$=[];break;case 3:(!Array.isArray(t[s])||t[s].length>0)&&t[s-1].push(t[s]),this.$=t[s-1];break;case 4:case 176:this.$=t[s];break;case 11:r.setDirection("TB"),this.$="TB";break;case 12:r.setDirection(t[s-1]),this.$=t[s-1];break;case 27:this.$=t[s-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=r.addSubGraph(t[s-6],t[s-1],t[s-4]);break;case 34:this.$=r.addSubGraph(t[s-3],t[s-1],t[s-3]);break;case 35:this.$=r.addSubGraph(void 0,t[s-1],void 0);break;case 37:this.$=t[s].trim(),r.setAccTitle(this.$);break;case 38:case 39:this.$=t[s].trim(),r.setAccDescription(this.$);break;case 43:r.addLink(t[s-2].stmt,t[s],t[s-1]),this.$={stmt:t[s],nodes:t[s].concat(t[s-2].nodes)};break;case 44:r.addLink(t[s-3].stmt,t[s-1],t[s-2]),this.$={stmt:t[s-1],nodes:t[s-1].concat(t[s-3].nodes)};break;case 45:this.$={stmt:t[s-1],nodes:t[s-1]};break;case 46:this.$={stmt:t[s],nodes:t[s]};break;case 47:this.$=[t[s]];break;case 48:this.$=t[s-4].concat(t[s]);break;case 49:this.$=t[s];break;case 50:this.$=t[s-2],r.setClass(t[s-2],t[s]);break;case 51:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"square");break;case 52:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"doublecircle");break;case 53:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"circle");break;case 54:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"ellipse");break;case 55:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"stadium");break;case 56:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"subroutine");break;case 57:this.$=t[s-7],r.addVertex(t[s-7],t[s-1],"rect",void 0,void 0,void 0,Object.fromEntries([[t[s-5],t[s-3]]]));break;case 58:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"cylinder");break;case 59:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"round");break;case 60:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"diamond");break;case 61:this.$=t[s-5],r.addVertex(t[s-5],t[s-2],"hexagon");break;case 62:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"odd");break;case 63:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"trapezoid");break;case 64:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"inv_trapezoid");break;case 65:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_right");break;case 66:this.$=t[s-3],r.addVertex(t[s-3],t[s-1],"lean_left");break;case 67:this.$=t[s],r.addVertex(t[s]);break;case 68:t[s-1].text=t[s],this.$=t[s-1];break;case 69:case 70:t[s-2].text=t[s-1],this.$=t[s-2];break;case 71:this.$=t[s];break;case 72:var j=r.destructLink(t[s],t[s-2]);this.$={type:j.type,stroke:j.stroke,length:j.length,text:t[s-1]};break;case 73:this.$={text:t[s],type:"text"};break;case 74:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 75:this.$={text:t[s],type:"string"};break;case 76:this.$={text:t[s],type:"markdown"};break;case 77:var j=r.destructLink(t[s]);this.$={type:j.type,stroke:j.stroke,length:j.length};break;case 78:this.$=t[s-1];break;case 79:this.$={text:t[s],type:"text"};break;case 80:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 81:this.$={text:t[s],type:"string"};break;case 82:case 97:this.$={text:t[s],type:"markdown"};break;case 94:this.$={text:t[s],type:"text"};break;case 95:this.$={text:t[s-1].text+""+t[s],type:t[s-1].type};break;case 96:this.$={text:t[s],type:"text"};break;case 98:this.$=t[s-4],r.addClass(t[s-2],t[s]);break;case 99:this.$=t[s-4],r.setClass(t[s-2],t[s]);break;case 100:case 108:this.$=t[s-1],r.setClickEvent(t[s-1],t[s]);break;case 101:case 109:this.$=t[s-3],r.setClickEvent(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 102:this.$=t[s-2],r.setClickEvent(t[s-2],t[s-1],t[s]);break;case 103:this.$=t[s-4],r.setClickEvent(t[s-4],t[s-3],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 104:this.$=t[s-2],r.setLink(t[s-2],t[s]);break;case 105:this.$=t[s-4],r.setLink(t[s-4],t[s-2]),r.setTooltip(t[s-4],t[s]);break;case 106:this.$=t[s-4],r.setLink(t[s-4],t[s-2],t[s]);break;case 107:this.$=t[s-6],r.setLink(t[s-6],t[s-4],t[s]),r.setTooltip(t[s-6],t[s-2]);break;case 110:this.$=t[s-1],r.setLink(t[s-1],t[s]);break;case 111:this.$=t[s-3],r.setLink(t[s-3],t[s-2]),r.setTooltip(t[s-3],t[s]);break;case 112:this.$=t[s-3],r.setLink(t[s-3],t[s-2],t[s]);break;case 113:this.$=t[s-5],r.setLink(t[s-5],t[s-4],t[s]),r.setTooltip(t[s-5],t[s-2]);break;case 114:this.$=t[s-4],r.addVertex(t[s-2],void 0,void 0,t[s]);break;case 115:this.$=t[s-4],r.updateLink([t[s-2]],t[s]);break;case 116:this.$=t[s-4],r.updateLink(t[s-2],t[s]);break;case 117:this.$=t[s-8],r.updateLinkInterpolate([t[s-6]],t[s-2]),r.updateLink([t[s-6]],t[s]);break;case 118:this.$=t[s-8],r.updateLinkInterpolate(t[s-6],t[s-2]),r.updateLink(t[s-6],t[s]);break;case 119:this.$=t[s-6],r.updateLinkInterpolate([t[s-4]],t[s]);break;case 120:this.$=t[s-6],r.updateLinkInterpolate(t[s-4],t[s]);break;case 121:case 123:this.$=[t[s]];break;case 122:case 124:t[s-2].push(t[s]),this.$=t[s-2];break;case 126:this.$=t[s-1]+t[s];break;case 174:this.$=t[s];break;case 175:this.$=t[s-1]+""+t[s];break;case 177:this.$=t[s-1]+""+t[s];break;case 178:this.$={stmt:"dir",value:"TB"};break;case 179:this.$={stmt:"dir",value:"BT"};break;case 180:this.$={stmt:"dir",value:"RL"};break;case 181:this.$={stmt:"dir",value:"LR"};break}},table:[{3:1,4:2,9:u,10:i,12:n},{1:[3]},e(c,l,{5:6}),{4:7,9:u,10:i,12:n},{4:8,9:u,10:i,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(c,[2,9]),e(c,[2,10]),e(c,[2,11]),{8:[1,54],9:[1,55],10:L1,15:53,18:56},e(b,[2,3]),e(b,[2,4]),e(b,[2,5]),e(b,[2,6]),e(b,[2,7]),e(b,[2,8]),{8:W,9:q,11:Q,21:58,39:59,70:63,73:[1,64],75:[1,65]},{8:W,9:q,11:Q,21:66},{8:W,9:q,11:Q,21:67},{8:W,9:q,11:Q,21:68},{8:W,9:q,11:Q,21:69},{8:W,9:q,11:Q,21:70},{8:W,9:q,10:[1,71],11:Q,21:72},e(b,[2,36]),{35:[1,73]},{37:[1,74]},e(b,[2,39]),e(z1,[2,46],{18:75,10:L1}),{10:[1,76]},{10:[1,77]},{10:[1,78]},{10:[1,79]},{14:k1,42:b1,58:g1,77:[1,83],86:D1,92:[1,80],94:[1,81],98:82,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},e(b,[2,178]),e(b,[2,179]),e(b,[2,180]),e(b,[2,181]),e(H1,[2,47]),e(H1,[2,49],{44:[1,96]}),e(N,[2,67],{110:109,29:[1,97],42:S,46:[1,98],48:[1,99],50:[1,100],52:[1,101],54:[1,102],56:[1,103],58:k,61:[1,104],63:[1,105],65:[1,106],66:[1,107],68:[1,108],86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(M,[2,174]),e(M,[2,135]),e(M,[2,136]),e(M,[2,137]),e(M,[2,138]),e(M,[2,139]),e(M,[2,140]),e(M,[2,141]),e(M,[2,142]),e(M,[2,143]),e(M,[2,144]),e(M,[2,145]),e(c,[2,12]),e(c,[2,18]),e(c,[2,19]),{9:[1,110]},e(Et,[2,26],{18:111,10:L1}),e(b,[2,27]),{40:112,41:38,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(b,[2,40]),e(b,[2,41]),e(b,[2,42]),e(I1,[2,71],{71:113,60:[1,115],72:[1,114]}),{74:116,76:117,77:[1,118],78:[1,119],113:kt,116:bt},e([42,58,60,72,86,99,102,103,106,108,111,112,113],[2,77]),e(b,[2,28]),e(b,[2,29]),e(b,[2,30]),e(b,[2,31]),e(b,[2,32]),{10:gt,12:Dt,14:Ft,27:Tt,28:122,32:Ct,42:St,58:_t,73:Bt,77:[1,124],78:[1,125],80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:123,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(it,l,{5:148}),e(b,[2,37]),e(b,[2,38]),e(z1,[2,45],{42:Gt}),{42:S,45:150,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{99:[1,151],100:152,102:[1,153]},{42:S,45:154,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{42:S,45:155,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,100],{10:[1,156],93:[1,157]}),{77:[1,158]},e(T,[2,108],{117:160,10:[1,159],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,110],{10:[1,161]}),e(K,[2,176]),e(K,[2,163]),e(K,[2,164]),e(K,[2,165]),e(K,[2,166]),e(K,[2,167]),e(K,[2,168]),e(K,[2,169]),e(K,[2,170]),e(K,[2,171]),e(K,[2,172]),e(K,[2,173]),{42:S,45:162,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{30:163,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:171,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:173,48:[1,172],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:174,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:175,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:176,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{106:[1,177]},{30:178,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:179,63:[1,180],65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:181,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:182,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{30:183,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(M,[2,175]),e(c,[2,20]),e(Et,[2,25]),e(z1,[2,43],{18:184,10:L1}),e(I1,[2,68],{10:[1,185]}),{10:[1,186]},{30:187,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{75:[1,188],76:189,113:kt,116:bt},e(y1,[2,73]),e(y1,[2,75]),e(y1,[2,76]),e(y1,[2,161]),e(y1,[2,162]),{8:W,9:q,10:gt,11:Q,12:Dt,14:Ft,21:191,27:Tt,29:[1,190],32:Ct,42:St,58:_t,73:Bt,80:135,81:xt,82:yt,83:mt,84:vt,85:Vt,86:Lt,87:It,88:192,102:Rt,106:Nt,108:Ot,111:Pt,112:wt,113:Ut},e(g,[2,94]),e(g,[2,96]),e(g,[2,97]),e(g,[2,150]),e(g,[2,151]),e(g,[2,152]),e(g,[2,153]),e(g,[2,154]),e(g,[2,155]),e(g,[2,156]),e(g,[2,157]),e(g,[2,158]),e(g,[2,159]),e(g,[2,160]),e(g,[2,83]),e(g,[2,84]),e(g,[2,85]),e(g,[2,86]),e(g,[2,87]),e(g,[2,88]),e(g,[2,89]),e(g,[2,90]),e(g,[2,91]),e(g,[2,92]),e(g,[2,93]),{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,193],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:L1,18:194},{10:[1,195],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,196]},{10:[1,197],103:[1,198]},e(Mt,[2,121]),{10:[1,199],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{10:[1,200],42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:109,111:L,112:I,113:R},{77:[1,201]},e(T,[2,102],{10:[1,202]}),e(T,[2,104],{10:[1,203]}),{77:[1,204]},e(K,[2,177]),{77:[1,205],95:[1,206]},e(H1,[2,50],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),{31:[1,207],65:f,79:208,113:A,114:d,115:E},e(l1,[2,79]),e(l1,[2,81]),e(l1,[2,82]),e(l1,[2,146]),e(l1,[2,147]),e(l1,[2,148]),e(l1,[2,149]),{47:[1,209],65:f,79:208,113:A,114:d,115:E},{30:210,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{49:[1,211],65:f,79:208,113:A,114:d,115:E},{51:[1,212],65:f,79:208,113:A,114:d,115:E},{53:[1,213],65:f,79:208,113:A,114:d,115:E},{55:[1,214],65:f,79:208,113:A,114:d,115:E},{58:[1,215]},{62:[1,216],65:f,79:208,113:A,114:d,115:E},{64:[1,217],65:f,79:208,113:A,114:d,115:E},{30:218,65:f,77:P,78:w,79:164,113:A,114:d,115:E},{31:[1,219],65:f,79:208,113:A,114:d,115:E},{65:f,67:[1,220],69:[1,221],79:208,113:A,114:d,115:E},{65:f,67:[1,223],69:[1,222],79:208,113:A,114:d,115:E},e(z1,[2,44],{42:Gt}),e(I1,[2,70]),e(I1,[2,69]),{60:[1,224],65:f,79:208,113:A,114:d,115:E},e(I1,[2,72]),e(y1,[2,74]),{30:225,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(it,l,{5:226}),e(g,[2,95]),e(b,[2,35]),{41:227,42:S,43:39,45:40,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},{10:Z,58:J,81:$,89:228,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:239,101:[1,240],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:241,101:[1,242],102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{102:[1,243]},{10:Z,58:J,81:$,89:244,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{42:S,45:245,58:k,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R},e(T,[2,101]),{77:[1,246]},{77:[1,247],95:[1,248]},e(T,[2,109]),e(T,[2,111],{10:[1,249]}),e(T,[2,112]),e(N,[2,51]),e(l1,[2,80]),e(N,[2,52]),{49:[1,250],65:f,79:208,113:A,114:d,115:E},e(N,[2,59]),e(N,[2,54]),e(N,[2,55]),e(N,[2,56]),{106:[1,251]},e(N,[2,58]),e(N,[2,60]),{64:[1,252],65:f,79:208,113:A,114:d,115:E},e(N,[2,62]),e(N,[2,63]),e(N,[2,65]),e(N,[2,64]),e(N,[2,66]),e([10,42,58,86,99,102,103,106,108,111,112,113],[2,78]),{31:[1,253],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,254],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},e(H1,[2,48]),e(T,[2,114],{103:m1}),e(Kt,[2,123],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(H,[2,125]),e(H,[2,127]),e(H,[2,128]),e(H,[2,129]),e(H,[2,130]),e(H,[2,131]),e(H,[2,132]),e(H,[2,133]),e(H,[2,134]),e(T,[2,115],{103:m1}),{10:[1,257]},e(T,[2,116],{103:m1}),{10:[1,258]},e(Mt,[2,122]),e(T,[2,98],{103:m1}),e(T,[2,99],{110:109,42:S,58:k,86:B,99:x,102:y,103:m,106:v,108:V,111:L,112:I,113:R}),e(T,[2,103]),e(T,[2,105],{10:[1,259]}),e(T,[2,106]),{95:[1,260]},{49:[1,261]},{60:[1,262]},{64:[1,263]},{8:W,9:q,11:Q,21:264},e(b,[2,34]),{10:Z,58:J,81:$,102:t1,104:265,105:230,106:e1,107:s1,108:u1,109:i1},e(H,[2,126]),{14:k1,42:b1,58:g1,86:D1,98:266,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{14:k1,42:b1,58:g1,86:D1,98:267,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1,117:84},{95:[1,268]},e(T,[2,113]),e(N,[2,53]),{30:269,65:f,77:P,78:w,79:164,113:A,114:d,115:E},e(N,[2,61]),e(it,l,{5:270}),e(Kt,[2,124],{105:256,10:Z,58:J,81:$,102:t1,106:e1,107:s1,108:u1,109:i1}),e(T,[2,119],{117:160,10:[1,271],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,120],{117:160,10:[1,272],14:k1,42:b1,58:g1,86:D1,102:F1,103:T1,106:C1,108:S1,111:_1,112:B1,113:x1}),e(T,[2,107]),{31:[1,273],65:f,79:208,113:A,114:d,115:E},{6:11,7:12,8:h,9:U,10:F,11:O,20:17,22:18,23:19,24:20,25:21,26:22,27:z,32:[1,274],33:24,34:c1,36:f1,38:A1,40:28,41:38,42:S,43:39,45:40,58:k,81:o1,82:w1,83:U1,84:G1,85:M1,86:B,99:x,102:y,103:m,106:v,108:V,110:41,111:L,112:I,113:R,118:K1,119:j1,120:Y1,121:X1},{10:Z,58:J,81:$,89:275,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},{10:Z,58:J,81:$,89:276,102:t1,104:229,105:230,106:e1,107:s1,108:u1,109:i1},e(N,[2,57]),e(b,[2,33]),e(T,[2,117],{103:m1}),e(T,[2,118],{103:m1})],defaultActions:{},parseError:function(a,o){if(o.recoverable)this.trace(a);else{var p=new Error(a);throw p.hash=o,p}},parse:function(a){var o=this,p=[0],r=[],C=[null],t=[],R1=this.table,s="",j=0,jt=0,Se=2,Yt=1,_e=t.slice.call(arguments,1),_=Object.create(this.lexer),d1={yy:{}};for(var at in this.yy)Object.prototype.hasOwnProperty.call(this.yy,at)&&(d1.yy[at]=this.yy[at]);_.setInput(a,d1.yy),d1.yy.lexer=_,d1.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ct=_.yylloc;t.push(ct);var Be=_.options&&_.options.ranges;typeof d1.yy.parseError=="function"?this.parseError=d1.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function xe(){var n1;return n1=r.pop()||_.lex()||Yt,typeof n1!="number"&&(n1 instanceof Array&&(r=n1,n1=r.pop()),n1=o.symbols_[n1]||n1),n1}for(var G,E1,Y,ot,v1={},W1,r1,Xt,q1;;){if(E1=p[p.length-1],this.defaultActions[E1]?Y=this.defaultActions[E1]:((G===null||typeof G>"u")&&(G=xe()),Y=R1[E1]&&R1[E1][G]),typeof Y>"u"||!Y.length||!Y[0]){var lt="";q1=[];for(W1 in R1[E1])this.terminals_[W1]&&W1>Se&&q1.push("'"+this.terminals_[W1]+"'");_.showPosition?lt="Parse error on line "+(j+1)+`: +`+_.showPosition()+` +Expecting `+q1.join(", ")+", got '"+(this.terminals_[G]||G)+"'":lt="Parse error on line "+(j+1)+": Unexpected "+(G==Yt?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(lt,{text:_.match,token:this.terminals_[G]||G,line:_.yylineno,loc:ct,expected:q1})}if(Y[0]instanceof Array&&Y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E1+", token: "+G);switch(Y[0]){case 1:p.push(G),C.push(_.yytext),t.push(_.yylloc),p.push(Y[1]),G=null,jt=_.yyleng,s=_.yytext,j=_.yylineno,ct=_.yylloc;break;case 2:if(r1=this.productions_[Y[1]][1],v1.$=C[C.length-r1],v1._$={first_line:t[t.length-(r1||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(r1||1)].first_column,last_column:t[t.length-1].last_column},Be&&(v1._$.range=[t[t.length-(r1||1)].range[0],t[t.length-1].range[1]]),ot=this.performAction.apply(v1,[s,jt,j,d1.yy,Y[1],C,t].concat(_e)),typeof ot<"u")return ot;r1&&(p=p.slice(0,-1*r1*2),C=C.slice(0,-1*r1),t=t.slice(0,-1*r1)),p.push(this.productions_[Y[1]][0]),C.push(v1.$),t.push(v1._$),Xt=R1[p[p.length-2]][p[p.length-1]],p.push(Xt);break;case 3:return!0}}return!0}},Ce=function(){var h1={EOF:1,parseError:function(o,p){if(this.yy.parser)this.yy.parser.parseError(o,p);else throw new Error(o)},setInput:function(a,o){return this.yy=o||this.yy||{},this._input=a,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var o=a.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var o=a.length,p=a.split(/(?:\r\n?|\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var r=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),p.length-1&&(this.yylineno-=p.length-1);var C=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:p?(p.length===r.length?this.yylloc.first_column:0)+r[r.length-p.length].length-p[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),o=new Array(a.length+1).join("-");return a+this.upcomingInput()+` +`+o+"^"},test_match:function(a,o){var p,r,C;if(this.options.backtrack_lexer&&(C={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(C.yylloc.range=this.yylloc.range.slice(0))),r=a[0].match(/(?:\r\n?|\n).*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-r[r.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],p=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p)return p;if(this._backtrack){for(var t in C)this[t]=C[t];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,o,p,r;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),t=0;t