查看: 2704|回复: 43
打印 上一主题 下一主题

[讨论] 图片词典的制作规范与开源工具

[复制链接]
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    跳转到指定楼层
    1
    发表于 2020-6-28 15:44:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 VimVim 于 2020-6-28 16:01 编辑

    ## 背景

    时常遇到好资料,怎奈只有PDF扫描版,辛苦制作好词条,但成品的导航却不够理想,梳理
    一下现有获知的工具,提出图片词典应有的标准,希望各路高手能够借鉴打造理想的工
    具,造福广大词典爱好者。


    ### 现有图片词典制作技术点评

        * 图像版mdict字典制作方法 by tsiank
            - src: https://www.pdawiki.com/forum/thread-13451-1-1.html
            - 这是最优秀的原创教程了,入门必修
            - 优点:理解图片词典的基本原理
            - 问题:导航简陋,难以在页面中定位具体词条
        * 图片版mdx源文件生成工具 by tsiank
            - src: https://www.pdawiki.com/forum/thread-33574-1-1.html
            - 这是上述教程的升级版,带工具了!
            - 优点:导航体验大大提升;技术门槛极低,小白都可以使用
            - 问题1:不能自动处理多部分构成的书籍,目前主要处理正文部分
            - 问题2:生成的mdx源文件有很多细节问题需要进一步处理,如CSS缺文件名、多
              个标签属性之间缺空格、nobomb格式等
            - 问题3:鉴于使用Excel,无法与其他工具链结合,从修订原始词条文件到生成
              mdx源文件无法一步到位
            - 问题4:导航依然有改进空间,VBA不熟悉,改造困难
        * 以Picture Capture为代表的切图版词典制作软件 by chigre3 等
            - src: https://www.pdawiki.com/forum/thread-19040-1-1.html
            - 这是对终端词典用户体验最好的工具
            - 优点:直接定位到具体词条、导航丰富
            - 缺点1:工具非开源、偶尔开放下载、遇到问题没有反馈处理机制
            - 缺点2:对于普通词典制作者来说极其复杂、体验糟糕
        * 使用CSS精确定位Visual词典 by 孤影 等
            - src: https://www.pdawiki.com/forum/thread-20350-1-1.html
            - 对于Visual Dictionary词典用户来说,体验很不错
            - 优点:关键词加亮、可直接在图片上点击关键词链接
            - 缺点:具体技术细节不开放,仅可观摩案例Chinese-English Bilingual
              Visual Dictionary (https://www.pdawiki.com/forum/thread-35929-1-1.html ),
              大致是先OCR图片,并通过类似Picture Capture工具切片获取每个关键词的相
              对定位,最后使用CSS隐藏文字层并定位关键词,太复杂了

    ### 优秀的图片词典工具链标准

        * 词典成品的导航体验要足够好:核心是有助于快速定位具体词条位置
        * 词典要能够适应不同尺寸的屏幕:阅读体验好,字体太大或太小都不可取
        * 图片处理要足够简单:使用扫描的整页图片即可,不要切片等复杂操作
        * 词条的录入、校对要足够简单:要一目了然,不容易出错,技术门槛降至最低
        * 词典修订要快捷:修订原始词头文件后,通过工具可一步到位生成最终的mdx源文件

    为了实现上述目标,拟根据自己制作十来个图片词典的实践经验,提出如下制作规范,大
    家可将其看作是开发相应图片制作工具的用户需求文档。

    ## 成品图片词典的导航构想

        * 在页面顶部显示Pages导航 和 Keywords导航(或有)
            - Pages:Previous Next Cover Preface Content Index etc.
            - Keywords:A B C D E F G
        * 在页面底部显示Pages导航
            - Pages:Previous Next Cover Preface Content Index etc.

        * 在Pages导航中:
            - 上下页,可自动处理first和last页面
            - 上下页,可自动处理多个部分的页码体系为一个连续整体,如:
                - 正文前123(封面、目录等)、正文123、正文后123(索引、封底等)
            - 除了上下页外,可自定义添加封面、前言、目录、索引等固定链接。
        * 在Keywords导航中:
            - 若没有关键词,则不显示Keywords导航,适配封面、前言、目录、索引等页面
            - 若某个关键词作为mdx的keywords,即使用Keywords导航中的某个关键词进行查
              询,则在Keywords导航中加亮该关键词。
            - 若页面作为mdx的keywords,即使用Pages导航中的页码等进行查询,则在
              Keywords导航中的关键词不做加亮处理。

    ## 源文件格式规范

        * 图片文件命名格式:
            - 根据页码编排需要,可将书籍分为多个部分,如:正文前123(封面、目录
              等)、正文 123、正文后123(索引、封底等)
            - 对于不同部分的图片,相应文件名命名规范为“前缀名+页码+后缀名”:
                - 前导名可自定义,中英文均可,建议采用书籍英文名或拼音缩写等个性化
                  名称,避免多词典之间命名冲突
                - 页码位数可自定义,默认4位,可根据需要设为3位或5位等
                - 需要正确识别图片后缀名,如jpg、png等
                - 图片文件名案例:某书前0001.jpg…某书正文0001.jpg…某书后0001.jpg

        * Keywords源文件格式:
            - 对应书籍的多个部分,将keywords源文件分为多个部分,如:正文前123.txt(封
              面、目录等)、正文123.txt、正文后123.txt(索引、封底等)
            - 具体内容格式(极大化方便用户输入词头、校对和修订):
                * 第1行页码:0001
                * 第2行关键词:A
                * 第3行关键词:B
                * 第n行关键词:N
                * 第n+1行页码:0002
                * 第n+2行关键词:X
                * 第n+3行关键词:Y
                * 第n+4行关键词:Z
                * ……
            - 页码之后,可以没有关键词
                - 若有关键词,则同时生成相应的Pages导航和Keywords导航
                - 若没有关键词,则仅生成Pages导航,而没有Keywords导航

    ## 处理程序及配置文件规范

        * 建议使用Python3,毕竟用户多,大家有能力按需改造
        * 程序作适当配置后,应可一键生成最终的mdx源文件和css
        * 主要配置包括:
            - 书籍多个部分对应的Keywords源文件和图片文件
                - Keywords源文件名称
                - 对应的图片文件名:前缀名 + 页码位数 + 后缀名
            - Pages导航中的自定义固定链接:
                - 固定链接名称(如封面目录) + 对应图片文件名
            - mdx目标文件名
            - CSS文件名
            - 导航的中英文
                - 简中:页面、上一页、下一页、关键词
                - 繁中:頁面、上一頁、下一頁、關鍵詞
                - 英文:Pages、Previous、Next、Keywords

    ## 目标文件格式规范

        * mdx源文件txt需要满足mdx源文件的格式标准:dos,nobomb,UTF-8
        * 生成的CSS可进一步配置:
            - Pages导航样式
            - Keywords导航样式
            - 加亮Keyword样式
            - 图片宽度:百分比(默认100%)或固定大小(px或em)

    ## 扩展1:整页版和多栏切片版二合一

    为适应手机等移动设备的查阅,需要将整页版适度分栏切片

        * 词条需要分栏处理
        * 图片文件名需要分栏处理
        * CSS要能够自适应不同屏幕尺寸的设备

    具体改造略


    ## 扩展2:多层次词头优化

    为优化类似Longman Language Activator、朗文多功能分类词典、现代汉语词典等词头有
    多个层次的词典,可在原有标准基础上,进一步将Keywords区分为多个层次,如字、词:

        * 在页面顶部显示Pages导航 和 字词导航(或有)
            - 页面:Previous Next Cover Preface Content Index etc.
            - 字:A B C D E F G
            - 词: WordA1 WordA2 WordA3 WordA4
        * 在页面底部显示Pages导航
            - 页面:Previous Next Cover Preface Content Index etc.

        * 当查询页码(并未查询具体的字或词)时,仅显示页列表
        * 当查询某个字或某个词时,不仅显示字列表,还显示这个字所包含的词列表

    具体改造略

    ## 诚邀Python等高人打造开源的图片词典制作工具

    若能够制作符合上述标准的工具(先有标准版的即可,扩展版再逐步优化),必将造福广
    大词典爱好者,无论是字典制作者,还是字典使用者。

    若有需要,我可提供相关案例词典:包括完整的图片、词条等。

  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    来自 26楼
     楼主| 发表于 2020-8-12 17:13:20 | 只看该作者
    已发布

    图片词典制作小工具 MdxSourceBuilder
    https://www.pdawiki.com/forum/thread-41287-1-1.html
    (出处: 掌上百科 - PDAWIKI)
  • TA的每日心情
    擦汗
    2020-7-3 13:51
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    90

    主题

    277

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10032
    推荐
    发表于 2020-8-12 09:22:07 | 只看该作者
    本帖最后由 starmars 于 2020-8-12 20:40 编辑

    实在不明白为什么大家都要舍本逐末地去追求一些无关痛痒的细节小问题而对重大问题视而不见??!!

    强烈建议图片词典增加一个比任何其他花里胡哨的次要功能都更重要千倍万倍的功能:

    如果一个词头解释跨两页显示,我需要这两页 同时 都显示在屏幕上一起看!!!!!!我需要在 屏上看到这个词条的完整解释!!!!!请 同时 显示词典的两个页面!!!!!


    现在所有图片词典都做成:看完到了页末,必须点击下一页,结果下一页倒是显示出来了,但前面那页消失了!更糟糕的是,大多数人都不会只同时打开一部词典吧,肯定同时开了很多其他词典的,结果呢?你会发现下一页显示得孤孤单单啊,怎么下一页前面和后面本应该有的其他词典对该词条的解释统统消失了呢?哦,原来上一页中的下一页的链接对应的词头根本就不是一个单词,而是一个与页码相关的东西比如entry://1083(上一页是1082,下一页是1083) 啊!图片词典一个词头“1083”对应第1083页的图片,可惜其他词典没有这个叫1083的词头啊!等我查看完这孤零零的图片词典的下一页,如果还要继续查看该词头在其他词典中的解释,我只能在词典软件中点击回退按钮,而这一回退就又出现了问题:词典软件做得不完美它往往退不到之前显示图片词典上页的那个位置而是到了一个莫名其妙的位置!如果说这个问题不是总出现的可以原谅,那还有一个更大的问题:当点击后退时其实相当于在词典软件中重新查询这个词头然后再定位到刚才的位置,就是说这相当于重新来一遍啊!什么?我已经对这些词典软件渲染的速度够不满意了,现在查一个词你竟要我等查两个词的两倍的渲染时间吗?!当你在GoldenDict中同时打开二三十部词典,你试试渲染速度吧?我见过有帖子里的狂人同时打开上百部词典的,卡死你!不信你输入take这个词看看!

    请不要跟我说“一个词头解释跨两页很罕见!!!”。图片词典的最重要的功能是什么?其实就是能象看pdf书一样看到一整页,能查到很多相关词(主要是同根词)!谁都不能否认这对英语学习扩大词汇量有重大的帮助!这些相关词跨两页三页甚至更多页的情况都有,是非常常见的!那些将每个词条辛苦切图分离出来的朋友我不得不佩服你们的愚公移山的精神,但你们这样做不是适得其反吗?你们反而将图片词典最重要的功能给抹杀了!

    坛子里几乎所有图片词典都是这种糟糕用户体验,要解决其实很容易!

    不要将上一页/下一页做成类似entry://1083的词头链接吧,点击上下页的时候触发点击事件用JavaScript在DOM树上动态添加下一页或者上一页显示就可以了,这样的话,上一页已经其他同时打开词典的同一词条的解释统统还在那里绝对不会消失呢!
    就这么简单为什么不去做呢?!你们不做,我来做好了!




  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    推荐
     楼主| 发表于 2020-7-13 07:37:59 | 只看该作者
    本帖最后由 VimVim 于 2020-7-13 07:58 编辑
    Mandolin 发表于 2020-6-30 10:02
    提议很好,但有些功能还是不容易实现的,个人观点。按你的意思是工具的功能是一键从校对好的词头文本生成md ...

    您的理解和意见非常正确!我预期的理想处理方式:所有词条、图片都“额外”按照一定规范预处理好,之后一键生成mdx源文件。毕竟词条、图片的处理都很麻烦,但也都有很专业的软件处理,我们不必放在这个程序里处理,而这个程序的意义是,一旦我按照规范整备好了词条,就能一键生成mdx源文件,不必有繁琐的步骤,从而将制作、修订mdx的过程极大愉悦化。更进一步,这个工具若是python等开源代码,将可以非常灵活地整合/改造加入大家各自熟悉的工作链条中,从而实现词典的个性化。

    我现在的困境:
    ①费了老大劲,好不容易编辑了一部分词条,需要转为mdx,中间需要好多工具,好多步骤;一次还好,但是词典编辑过程需要不断修订、不断调整,这时这个过程就很讨厌了。。。。
    ②现有论坛里的很多图片词典,内容非常好,但是体验真是差,改造非常有必要,但是也很麻烦,想想头都疼。。。


    针对您提出的问题,我现有的处理方式:
    ① 前页和附页中的前言、凡例、附表等等索引:手工处理,且不与正文混在一起,根据书籍特点单独使用一个或多个文件(尽量同类型的使用一个文件),但处理过程中会用程序将其与正文部分合并。我使用vim,可以很方便地实现分别处理和合并。s5 p, w9 O& Q, D& ^
    ② 图片处理优化:使用另外的专业工具,常用的有 photoshop、ComicEnhancer Pro等;同理,音频的处理,也是使用另外的专业工具。
    ③ “图片分栏的功能词头:人工处理,需要一分为二,关键是需要一定的格式标准,以方便今后的各种交流,也很容易使用git之类的比较工具。

    规范化与个性化:
    我提出这个问题,初衷是实现一定质量标准之上的个性化。目前的个性化质量太差。。。理想状态是制定一个质量不差的基础版本,之后的个性化就会站在前人的肩膀上。

    我想这个程序的个性化可以体现在以下方面:
    1、最基本的配置文件、CSS:可以让大家自由发挥一定程度的个性化。
    2、程序是高质量的开源代码,且使用流行的程序语言,如python等:大家可以自由地改造源代码,从而最大化地实现个性化。

    若能有这样的工具,我想目前的图片词典将发生极大的变化:

    1、新的图片词典制作将非常容易,基本人人皆可上手,而且生成的质量都还很不错,这些将促进新词典的产生。
    2、对于已有的图片词典,非常容易转换为新标准下的导航,且实现个性化处理,这将极大提升词典的使用体验。



    该用户从未签到

    539

    主题

    3046

    回帖

    25万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    251476

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    2
    发表于 2020-6-28 17:03:19 | 只看该作者
    * 词条的录入、校对要足够简单:要一目了然,不容易出错,技术门槛降至最低

    我建议,如果要做工具的话,一要有放大镜,二要有常见易错字提示,三要有新旧字形对比提示,这样能解决一批「日曰」「冑胄」「宧宦」「研硏」这样的问题

    我之前做了一本书(还没发布),书里只有「目覩」,我要不要加一个兼容词条「目睹」呢?我想了想加了,毕竟《常用國字標準字體表》里面已经认「睹」为正字了,不认识「覩」的估计大有人在,不加兼容词条,大家搜不到。这种兼容词条,要是工具能解决最好了

  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    3
     楼主| 发表于 2020-6-28 17:34:40 | 只看该作者
    本帖最后由 VimVim 于 2020-6-28 22:21 编辑
    klwo2 发表于 2020-6-28 17:03
    * 词条的录入、校对要足够简单:要一目了然,不容易出错,技术门槛降至最低

    我建议,如果要做工具的话,一 ...

    图片词典的真正痛点,肯定是词条的录入和校对。但这一步很难解决,您提出的是高要求。

    说实话,我的本意是,追求满意解,而非最优解:随便找个文本工具就可以开始录入、修订词条,然后用工具一键生成mdx源文件。这样虽然无法实现您所说的智能化处理,但好处是很多人都可以参与一起制作词条。孰优孰劣还真不一定。

    也正因为这样,我的聚焦点是“从词头文件如何一键生成mdx源文件”(词典制作者角度),以及“如何确保词典成品有较好的导航、缩放等使用体验”(词典终端用户角度)。

    当然,如果都能实现地话就最好不过,只是这样太奢求,太难实现了。分段分解处理比较好。
  • TA的每日心情
    开心
    2019-8-21 19:27
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    61

    主题

    627

    回帖

    16万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    162733

    QQ 章灌水大神章笑傲江湖章

    5
    发表于 2020-6-30 10:02:22 | 只看该作者
    提议很好,但有些功能还是不容易实现的,个人观点。按你的意思是工具的功能是一键从校对好的词头文本生成mdx源文件,按这样理解,我认为你需要的是一个处理文本的正则批处理工具集,或再附加一些图片处理功能。那就这样的工具而言,我提出几点比较难实现的需求:
    ① 前页和附页中的前言、凡例、附表等等索引一般都只能手动输入调整,无法自动完成,因为一是不是每本书都有这些部分,二是这些书的这些名称也可能各异。
    ② 图片处理优化这个太难实现了,光这一个功能都可以单独做个软件了,或者还是不管?直接用扫描的源图片?
    ③ 就算该工具都具有自动图片分栏的功能了的话,那么还要同时把每页的词头(就是你说的keywords)一分为二,这个也无法自动处理,需要人工校对的。

    对于你说的其它的如导航、缩放、统一文件命名这些是可以统一设置一个规范的,但也可能因词典不一样、个人需求不一样、审美不一样、制作词典的习惯不一样,可能会有人并不喜欢这样的统一规范。
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    6
     楼主| 发表于 2020-7-13 07:14:10 | 只看该作者
    “图片版mdx源文件生成工具 by tsiank”的问题补充:

    1、页码不连续,或连续页码但某页面的keyword为空,其生成的源文件是无法编译为mdx,需要将源文件中keyword为空的词条删除。

    2、若图片文件名的前缀和页码数字之间没有下划线等作为分隔,将无法正确提取css文件名,从而需要在输出的源文件中进一步修订。

    3、若keyword中包含有反斜杠`\`,则excel无法生成源文件。

    以下是我用vim写的vimscript,对excel生成的源文件进行修订,这样就可以解决上述1-2的问题,从而在加入封面、扉页、序言、目录、附录、封底等内容时可以无所顾忌。须根据具体情况灵活应用:若没有css文件名,则在css那一行加上文件名;若图片文件名为jpg,则将png更改为jpg,如此等等。

    1. " 修正mdx文件格式
    2. echo "开始修正mdx文件格式……"
    3. set ff=dos
    4. set nobomb
    5. set fileencoding=UTF-8
    6. echo "已修正mdx文件格式"

    7. " 修正语法格式
    8. echo "开始修正语法格式……"
    9. silent! %s/stylesheet"type/stylesheet" type/ge
    10. silent! %s/\.css"/\.css" /ge
    11. silent! %s/\(goto.\{-}\)\(href\)/\1 \2/ge
    12. silent! %s/img class.\{-}png"/\0 \//ge
    13. silent! %s/<pagetitle><\/pagetitle>//ge
    14. echo "已修正语法格式"

    15. " 清除没有词条页面产生的错误空词条
    16. echo "开始清除错误的空词条……"
    17. silent! %s/^$\n.*\n<\/>//ge
    18. silent! g/^$/d
    19. echo "已清除错误的空词条"

    20. w
    复制代码

  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    8
     楼主| 发表于 2020-7-13 11:34:28 | 只看该作者
    本帖最后由 VimVim 于 2020-7-13 11:41 编辑

    对于前言、正文、附录多套页码系统的处理

    目前,可用tsiank的excel工具分别处理前言、正文和附录,然后再Merge到一起。
    理想状态则可以更加方便地个性化定制:

    导航系统可以这样改造(不同部分有不同的页码,切换起来像动画):
    * 封面 1...9 10 /11/ 12 13...88 正文 附录
    * 封面 正文 1...9 10 /11/ 12 13...1700 附录
    * 封面 正文 附录 1...9 10 /11/ 12 13...39

    或者这样(不同的内容展示在不同地方,代码更好处理,更加容易定制):

    * Pages:1...9 10 /11/ 12 13...88
    * Keywords:A B C D E F G
    正文内容
    * Cover Preface Content Index etc.
    * Pages:1...9 10 /11/ 12 13...88





  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    9
    发表于 2020-7-13 21:40:07 | 只看该作者
    楼主的建议很好,不过你能否提供详细的示例文件(初始格式文件、中间文件、最终mdx源文件、css文件等),会编程的不一定熟悉词典制作,熟悉词典制作的不一定会编程
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    10
    发表于 2020-7-15 23:12:36 | 只看该作者
    以Picture Capture为代表的切图版词典制作软件 by chigre3 等.

    chigre3 的这个软件没有对外放开吧,帖子中的没有软件下载地址
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    11
     楼主| 发表于 2020-7-16 19:33:53 | 只看该作者
    本帖最后由 VimVim 于 2020-7-16 19:42 编辑

    先完成一个基本框架,适用于封面、扉页、前言、目录、附录、封底之类的简单情形,可以说是正文的简化版:
    • input: 页码 + 词条
    • 处理程序:配置相关参数,一键完成转换
    • output:可以直接被mdxbuilder使用的mdx源文件




  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    12
    发表于 2020-7-16 19:45:57 | 只看该作者
    VimVim 发表于 2020-7-16 19:33
    先完成一个基本框架,适用于封面、扉页、前言、目录、附录、封底之类的简单情形,可以说是正文的简化版:[/ ...

    你是在什么操作系统上使用Vim的呀?Windows、Unix、Linux还是Mac OS呀
    感觉专业程序员才会使用这个工具吧

    点评

    我在windows使用gvim。每个平台都可以使用,也都很好用。  发表于 2020-7-16 19:55
    Vim并非程序员专用,人人都可以用的。我一直用它记笔记而已,但已经比各种商业笔记软件强太多了。  发表于 2020-7-16 19:51
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    13
     楼主| 发表于 2020-7-16 20:17:59 | 只看该作者
    VimVim 发表于 2020-7-16 19:33
    先完成一个基本框架,适用于封面、扉页、前言、目录、附录、封底之类的简单情形,可以说是正文的简化版:[/ ...

    目前两套导航兼容在一个词典里,未来可以进一步统一:





  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    14
     楼主| 发表于 2020-8-5 23:36:22 | 只看该作者
    本帖最后由 VimVim 于 2020-8-6 10:06 编辑

    已完成雏形,效果预览如下。

    程序特点:

    • 从标准的词条可以一键输出mdx源文件
    • 对词条格式的兼容性强:页码可以跳跃(比如不想要某些页面),页码可以没有词条(比如某些词条跨了好几页,关键词只要一个即可,页码却都需要保留),页码可以乱序排列,页码可以重复。。。
    • 在一个词典中兼容多个导航系统:封面、前言、正文、附录,各有各的页面导航
    • 可以自定义导航内容,如:封面、版权、凡例、正文、附录、封底。
    • 使用Vimscript编写,从此,词条文件编辑、转换都只要在vim中即可完成。


    样式特点

    • 正文导航系统中有keywords导航,一个页面的多个多音字等会同时加亮显示
    • 页面导航的CSS定义可以很细致:区分首页、前两页、前一页、当前页、后一页、后两页、末页,案例中,实现了当前页逐渐向两边缩小的dock效果。
    • 页面导航在top和bottom可以设置不同的样式,便于多个词典区分浏览。











  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    15
     楼主| 发表于 2020-8-6 07:20:31 | 只看该作者
    现在可以完全不用tsiank的excel工具了
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    16
    发表于 2020-8-6 11:15:54 | 只看该作者
    VimVim 发表于 2020-8-6 07:20
    现在可以完全不用tsiank的excel工具了

    你这个工具需要使用chigre3的 20161017_图片版词典万能模板.xlsx 吗?有没有涉及坐标数据?
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    17
     楼主| 发表于 2020-8-6 12:05:19 | 只看该作者
    本帖最后由 VimVim 于 2020-8-6 12:06 编辑
    wjl 发表于 2020-8-6 11:15
    你这个工具需要使用chigre3的 20161017_图片版词典万能模板.xlsx 吗?有没有涉及坐标数据? ...

    完全不需要。

    仅需要:vim(开源软件,vim.org,小巧强大,号称编辑器之神) + MdxSourceBuilder(vim脚本文件,我暂定的上述软件的名称) + 词条文本文件(符合一行页码+n行词条的格式标准即可)
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    18
    发表于 2020-8-6 12:51:51 | 只看该作者
    VimVim 发表于 2020-8-6 12:05
    完全不需要。

    仅需要:vim(开源软件,vim.org,小巧强大,号称编辑器之神) + MdxSourceBuilder(vim脚 ...

    最好能增加词条和页码格式处理的灵活性,比如也能处理以下格式的

    Q. and A. ;        2312
    Q in a corner ;        2312
    Q. T. ;        2312
    quack titles ;        2312
    Quae fuerunt vitia, mores sunt ;        2312
    Quaerens quem devoret ;        2312
    quaff off ;        2312
    quail at/before ;        2312
    quail at ;        2312
    quail before ;        2312
    quail before→quail at/before;        2312
    quake like an aspen leaf ;        2312
    quake ooze ;        2312
    quake with ;        2312
    Quaker City ;        2312
    Quaker gun ;        2312
    Quaker/Quaker's meeting ;        2312
    Quaker meeting ;        2312

    词条和页码之间的分隔符可以自定义

    点评

    你这个格式还是太复杂。直接一行2312,其他每行一个词条,管他什么内容都可以。  发表于 2020-8-6 12:57
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    19
     楼主| 发表于 2020-8-6 12:58:54 | 只看该作者
    本帖最后由 VimVim 于 2020-8-6 13:11 编辑
    wjl 发表于 2020-8-6 12:51
    最好能增加词条和页码格式处理的灵活性,比如也能处理以下格式的

    Q. and A. ;        2312

    我的词条设计是这样的:

    1. 2312
    2. Q. and A.
    3. Q in a corner
    4. Q. T.
    5. quack titles
    6. Quae fuerunt vitia, mores sunt
    7. Quaerens quem devoret
    8. quaff off
    9. quail at/before
    10. quail at
    11. quail before
    12. quail before→quail at/before
    13. quake like an aspen leaf
    14. quake ooze
    15. quake with
    16. Quaker City
    17. Quaker gun
    18. Quaker/Quaker's meeting
    19. Quaker meeting
    复制代码


    也就是标准格式是:


    0001
    a
    b
    c
    0002
    k
    l
    m
    n
    0003
    x
    y
    z

    当然还可以这样(兼容性):页码不必按序排列,可以不从0001开始(如没有0001),可以跳页(没有0004),可以同一页码多次出现(如0003,程序按序合并),可以只有页码没有词条(如0006、0007),可以有空行(忽略不计,如0005、0007)


    0005
    ab
    cd

    0002
    0003
    xyz
    0006
    0007

    0003
    mn
    0009


  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    20
    发表于 2020-8-6 13:12:51 | 只看该作者
    VimVim 发表于 2020-8-6 12:58
    我的词条设计是这样的:

    感觉你这个有些简单,最好是能处理各种复杂情况的,比如

    词条,当前页,上一页,下一页,左上角X,左上角Y,左上角X%,左上角Y%,右上角X,右上角Y,右上角X%,右上角Y%,图片宽度

    这种格式,以便能够增加坐标信息,从而高亮显示词头行和词条内容,甚至裁剪显示词条内容,而无需真得裁剪图片,当然各种信息都是模块化的,可以自定义增减,最简单的形式就是你现在的形式

    点评

    我要的就是简洁(人人都能看得懂),但是又足够好(导航足够好)、可个性化自定义(开源、可配置,想怎么复杂请自行定制)  发表于 2020-8-6 13:15
  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    21
    发表于 2020-8-6 14:19:44 | 只看该作者
    你的地盘你做主
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    22
     楼主| 发表于 2020-8-11 23:39:16 | 只看该作者
    本帖最后由 VimVim 于 2020-8-12 00:10 编辑

    终于完成第一个自我满意的可发布版本了(待明后天学习了git,再在github发布)。

    没邀请到高人,只好自己动手使用熟悉的Vim来处理了。

    非码农,这是人生第一个具备完整功能的程序,现学现卖,高人勿喷,多提意见啊。

    视频演示:https://www.bilibili.com/video/BV1Ki4y1g74X/
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    23
     楼主| 发表于 2020-8-12 00:01:00 | 只看该作者
    wjl 发表于 2020-8-6 12:51
    最好能增加词条和页码格式处理的灵活性,比如也能处理以下格式的

    Q. and A. ;        2312

    现在已经兼容3种词条格式了,大家还可以继续自定义添加各种输入的词条格式。

    1、标准词条格式:'一行页码 + 多行关键词(每行一个关键词)'
    2、压缩词条格式:'一个页码+多个中文单字符的关键词'
    3、啰嗦行格式:'页码 + 分隔符 + 单个中或英关键词'


  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    73

    主题

    1552

    回帖

    9万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    96973

    QQ 章笑傲江湖章灌水大神章推广专家

    24
     楼主| 发表于 2020-8-12 00:30:19 | 只看该作者
    本帖最后由 VimVim 于 2020-8-12 08:46 编辑
    VimVim 发表于 2020-8-11 23:39
    终于完成第一个自我满意的可发布版本了(待明后天学习了git,再在github发布)。
    ...

    相比最初的设想,目前在如下方面得到了进一步加强:
    • 关于input的词条格式,不再局限于某一种。因为我发现,不同词典的词条数据源多种多样,尽量使用原始的格式,这样修订最方便。因此,程序默认提供了三种词条格式,大家还可以在此基础上不断添加适应自己需求的词条格式。实现思路大致是:原始词条==》标准词条格式==》mdx源文件。
    • 关于output的导航的内容及样式,不再局限于某一种。一方面满足词典不同组成部分的导航特点;另一方面也满足大家的个性化定制。程序默认也提供了三种导航,大家还可以在此基础上不断添加个性化的导航内容及样式。
    • 增加了自动化打包mdx。从原始的词条到最终的mdx词典,只需要一个命令即可实现全自动转换:原始词条==》标准词条格式==》mdx源文件==》mdx词典文件。
    • 极大增强对词条的兼容性:页码不必按序排列(但输出的结果会按页码顺序排列),可以不从0001开始(如有些附录延续正文页码),可以跳页(有些页面不想要,比如空白页等),可以同一页码多次出现(比如从别人那里拿来词条,但不清楚是否覆盖所有页面,那么可以自行添加一个完整的页码即可,不同处的词条会按序合并),可以只有页码没有词条(比如有些词条跨了好几页,只要保留第一页有词条即可,其他页留空),可以有空行(忽略不计,避免编辑疏忽)。
    • 完全使用开源工具,甚至跨平台使用Win\Linux\Mac。