如何在 djvused 书签中指定特殊字符

如何在 djvused 书签中指定特殊字符
  1. 在 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是书签的文本文件。

  2. 在 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 字符都必须转义。

相关内容