在 djvused 书签格式中,要禁用 djvused 书签格式中具有特殊含义的字符:
djvu 文件的书签格式
djvused
例如:(bookmarks ("1 first chapter" "#10" ("1.1 first section" "#11" ("1.1.1 first subsection" "#12" )) ("1.2 second section" "#13" )) ("2 second chapter" "#14" ("2.1 first section" "#16" ) ("2.2 second section" "#13" )) )
...其中要点是左右括号的配对,以实现节和章节的树状组织,每个书签项的双引号,以及每个页码前面都有一个
#
.如何转义 、 等字符
"
,(
以免)
被解释为章节标题中的控制字符?例如,以下示例将不被接受
djvused
:("2.2 "Hello!" " "#13" ) ("2.2 f(g)" "#13" )
我用来将书签嵌入 djvu 文件的命令是
djvused in.djvu -e 'set-outline bmks' -s
,其中bmks
是书签的文本文件。在 djvused 书签格式中,要启用一般文本文件中具有特殊含义的字符:
该字符
\n
表示换行。但如果直接以 djvu 书签格式使用它,它将按原样显示,不会被解释为换行。例如:
(bookmarks ("long title part 1 \n long title part 2" "#10" )
\n
长标题不会在指定的地方分成两行。
答案1
引用http://djvu.sourceforge.net/doc/man/djvused.html
字符串表示任意字节序列,通常解释为 UTF-8 编码字符序列。 djvused 文件中的字符串与 C 语言中的字符串类似。它们被双引号字符包围。某些以反斜杠(“\”)开头的字符序列具有特殊含义。反斜杠后跟字母“a”、“b”、“t”、“n”、“v”、“f”、“r”、“\”,代表 ascii 字符 BEL(007)、BS(分别为 008)、HT(009)、LF(010)、VT(011)、FF(012)、CR(013)、反斜杠(134) 和双引号(042)。反斜杠后跟一到三位数字代表字节,其八进制代码由数字表示。所有其他反斜杠序列都是非法的。所有不可打印的 ascii 字符都必须转义。