Skip to content

Latest commit

 

History

History
308 lines (303 loc) · 17.5 KB

CHANGELOG.md

File metadata and controls

308 lines (303 loc) · 17.5 KB

开发日志

  • 2020.12.05~2020.12.06:

    • 总结CQU排版要求[@ilcpm]
    • python编程实现[@Hagb]
  • 2020.12.07:

    • 开始模版制作
    • 遇到pandoc的bug
      • 触发条件为两端对齐+换行符,会导致第一行变成“分散对齐”的效果

      • 解决方案为:在settings.xml中添加节点

        <w:compat>
          <w:doNotExpandShiftReturn/>
        </w:compat>
  • 2020.12.08~2020.12.09:

    • 大量完善模版和相关功能
  • 2020.12.25:

    • 增加对标题编号的引用功能
    • 修改取消标题编号的逻辑,改为直接使用ooxml代码,不使用第三方样式
    • 从以前的文档中翻出一篇适作为英文模版格式参考的PDF
  • 2021.01.10:

    • 根据同学的反馈增加了格式要求的细节
    • 细化排版要求
  • 2021.01.19

    • 再三确认带合并单元格的表格无法实现
      • 无法用公式中的表格转换
      • 也不支持文本类型的表格合并
      • 如果强行转换会非常麻烦,目前不考虑表格合并的问题
  • 2021.01.24~2021.01.25

    • CQU排版要求
      • 对参考文献(重点)内容作出了重大修订
        • 查阅并验证了csl文件关于“等”的相关内容
      • 对行内公式的行高问题(重点)进行了研究并给出方案(行距设置采用“最小值”而非“固定值”)
      • 对图片&表格进行了补充
      • 补充了研究生的附录部分
      • 细节修改
    • 公式行距问题
      • 正文中出现了比较高的公式,例如\sum,会使得20磅的行高不够,如何处理?
      • 解决方案找到,设置行距为最小值
      • 修改模版
      • 删除了Unnumbered Heading样式
    • 页眉
      • 页眉的标题需要编号
      • 目录区域的页眉需要再单独设置右上角的样式
      • pandoc采用模版中的第一个分节符作为文档最后的分节符!而不是模版的最后一个分节符
    • 尝试修改引用块的样式为Markdown中的样式
      • 效果不好,放弃
      • 修改引用块的边框上边距为6磅
  • 2021.01.28~2021.01.29

    • 段前段后:经测试无法通过在标题段落前增加换行符来达到一模一样的手动空行的效果,因为一级标题里的换行符会被添加到页眉中
    • 行间公式间距问题
      • 发现:在正常的Word文档中,表格中的公式行距比较正常,但是在pandoc输出的文档中,公式底部看着像被裁掉了一磅左右
      • 解决:满山遍野找bug,结果发现是因为文档网格,Word默认定义了文档网格,公式被对齐到文档网格上,间距看着正常
    • pandoc发现bug
      • 网格线显示问题:在研究公式行距问题过程中,发现pandoc输出的文档无法显示“网格线”,经查是settings.xml文件中部分内容与常规文档有所区别,具体xml内容后期整理并提交issue
      • 含有公式的表格公式对齐问题:设置表格内容居中,公式居中,结果公式位置偏右,经查是settings.xml中部分设置与pandoc表格所用的ooxml代码有关,后续提issue等pandoc解决
    • 日志
      • 拆分了文档TODO部分,文档部分要开始写了
  • 2021.02.14

    • 为公式增加了noindent样式
  • 2021.02.15~2021.02.16

    • 增加《排版指导》
      • 完成“公式字体”部分编写
    • 完成代码文件的拆分
    • 调整排版要求文件夹结构
    • 验证脚注和内联代码的字号问题
  • 2021.02.20

    • 增加用来解压和压缩docx的py文件,可能会用来修改最后生成的docx文件
      • 经验证,因为各个文件都不是直接嵌入,所以只能通过解析xml树实现对功能的实现
  • 2021.02.28~2021.03.01

    • 开始制作封面
    • 对无题注的图片套用Figure样式
  • 2021.03.06

    • 修改Key Word样式的使用逻辑,使用\KeyWord{关键词}关键词1,关键词2这样的语法
      • KeyWord{}等语法的括号中的内容,不能用pf.str()函数来解析,会生成纯文本,应当使用原生的pandoc功能对文本进行重新解析
      • 考虑采用\KeyWord{}xxx这样的形式生成内容(2021.01.25)
      • 经研究发现,这样做会导致单独的RawBlock变成RawInline,就无法插入段落在其中了
      • 能否直接利用子元素获取到父元素然后在前面插入段落?
    • 实现了对段落的自定义样式
  • 2021.03.16

    • 优化todo,细分项目进度
    • 测试用\newcommand{}定义命令来替换成ooxml命令,失败,输出结果只能是tex命令,不支持其他格式
  • 2021.03.26

    • 开始拆分CQU模版部分
  • 2021.04.02

    • 深入讨论如何插件设计,如何拆解
    • 具体到插件拆解进度,进展并不多
  • 2021.04.04

    • 完成了对域代码引用功能的制作
    • 域代码实现 `qwe`{=field}
    • 引用嵌套怎么办[@page-[@xxx]]
  • 2021.04.05

    • 完成了对嵌套解析的支持
      • ★对LaTeX语法花括号中内容的嵌套解析
    • 抽离了CQU的页眉页脚配置
    • 经测试,目录的标题在Windows端存在问题,待修改
      • 修改内置的目录命令为\tocRaw,留下\toc供模版定义
  • 2021.04.08

    • 参考文献没有超链接,无法跳转
      • 翻出了以前的工作编译脚本,找到了插入超链接的参数,解决问题
    • 文档撰写
  • 2021.04.23

    • 行间公式如果是出现在一个段落的中间,也就是没有分段的情况下,需要对行间公式后面的内容取消首行缩进,因为这个公式是出现在这个段落中间的
      • 2021.05.10 疑似于这时去掉了noindent样式
    • 测试使用Link域代码插入其他文档来实现表格问题,同一个文档只会出现在同一个页面,多余部分会被截去,相当于是图片,因此无法对大型表格生效,失败
    • 测试使用IncludeText样式嵌套外部文件实现复杂表格应用,成功!!!
      • 空段落还存在一些问题,问题不大
    • 反馈了pandoc的换行符bug
    • ★文本的自定义样式(该如何设计语法?)
      • 采用[text]{style="text_style_name"}的方式
    • 下划线pf.Underline()
      • [text]{.underline}[text]{.U}
    • ~~经查,pandoc输出的文档“文档网格”与Word原生文档的文档网格大小无法相同是因为styles.xml文件~~经查,是因为正文样式的字号不一样,导致文档的上限行数不一样
      • 可以考虑新建一个原生文档,把所有用到的样式全部覆盖进去
    • 通过域代码实现页眉左上角参数自定义,原理为自定义meta data然后写入xml中引用
    • 适配“图表目录”标题
    • 增加了图目录
    • 通过修改reference.docx解决了页眉右上角标题的加粗问题
  • 2021.04.24

    • 增加产生空格的函数来使“摘要”中间生成数个空格
    • 拆分插件到单独的仓库,改名
    • ★对编号列表中的项目编号进行引用
    • 自定义图片的前缀后缀
    • 图目录,表目录
  • 2021.04.25

    • 修改模版文档,增加singlePage参数,为1表示单面打印
    • 因为修改页眉页脚造成rId变动,重写所有页眉页脚的rId值
    • 修正head.md中的bug
    • 在文档中对页眉页脚的机制做了相关说明
    • 通过域代码,实现了单面双面打印的页眉页脚问题
      • 单面打印/双面打印
        • 需要制作两个模版……
        • 只做一个然后让用户自己看着办?
      • 双面打印的页眉页脚设计
  • 2021.04.26

    • 修复脚注编号功能
    • 重新适配页眉页脚rId值
    • 修改metadata参数更好预览,性能问题,去掉
    • 对兼容性问题增加说明
    • 修正模版的编号样式后缀和目录样式的对齐方式
  • 2021.05.08

    • 讨论完成了定理环境的语法设计,代码还没写,样式还没做
    • 讨论完成了文档结构组织方式,LaTeX用户可以用类似的语法来调用
    • 讨论敲定了类LaTeX的多文件写法的语法
    • 附录的二级标题及其编号如何实现?
      • 单独定义了附录二级标题的样式以及编号
      • 通过代码来修改附录的二级标题套用的样式解决附录编号问题
      • 通过代码单独对附录的题注使用不一样的域代码即可实现附录的题注编号
  • 2021.05.09

    • 尝试寻找方式直接用同一份域代码实现页眉页脚,无果
      • 要么手动定义书签,要么通过固定的节号来实现对“目录”所在节的指定
      • 可以在metadata中写入“目录”所在的节号
    • 尝试通过Word的查找替换功能来实现页码的字号修改,无果解决!
      • 无法在目录查找到类似“\数字\回车符”这样的标记,应该是域中的特殊环境阻断了搜索
      • 生成目录时,如果域代码中带有\h参数,即“让生成的目录带有超链接”,此时目录中的标题会被应用“超链接”的文本样式,而中间的分隔符和页码为“默认段落字体”的文本样式
      • 于是可以通过带样式的查找替换完成
    • 增加了对代码行号的显示功能
    • 增加参数开关,把代码中的空格显示为&blank;,即“␣”
      • 这个需要代码字体支持,否则会影响代码的等宽显示效果,且会影响代码高亮的识别,默认关闭,不建议开启
  • 2021.05.10

    • 模版:更新了定理环境的样式
      • 定理环境样式设计
    • 模版:更新了附录的二级三级样式及其编号,修改相关命名
    • 模版:修改SourceCode样式的标点缩进
    • 模版:修改Equation样式的段前段后,取消对齐文档网格,不在相同段落之间增加间距
    • 模版:修改题注样式
    • 模版:完成了三线表样式的制作,三线表样式为Table隐藏样式,pandoc默认套用该样式
      • 应当选中标题行之后,对标题行设置在每一页重复,而不是选中整个表格进行这个设置,否则所有表格都会被当成标题行处理
    • 模版:修改Compact样式,表格默认样式,同时影响列表
    • 代码:跟新\includeDoc功能,可以直接用相对路径插入文档,解决表格问题
  • 2021.05.11

    • 文档:优化了文档结构,使更符合阅读习惯,微调了一些语句写法,增加了大量注释
    • 代码:修复\includeDoc功能,可以正确显示Windows下的路径斜杠
    • bug:找到了includeDoc文档后,多出首行缩进的问题
      • 文档:增加noindent样式,该样式无首行缩进
      • 代码:对\includeDoc套用noindent样式
      • 仍然无法解决!
    • 代码:使用noindent样式修复了分隔线的问题
    • 重写自定义段落样式功能
  • 2021.05.16

    • bug:发现第一页的标尺是歪的……

    • 模版:修改styles.xml中相关tag,修正了文档网格无法正确设置的bug

      • 文档网格:在研究公式行距问题过程中,发现pandoc输出的文档无法显示“网格线”,经查是styles.xml文件中部分内容与常规文档有所区别,具体xml内容后期整理并提交issue
          <w:rPr>
            <w:rFonts w:asciiTheme="minorHAnsi" w:eastAsiaTheme="minorEastAsia" w:hAnsiTheme="minorHAnsi" w:cstheme="minorBidi"/>
            <w:kern w:val="2"/>
            <w:sz w:val="21"/>
            <w:szCs w:val="22"/>
            <w:lang w:val="en-US" w:eastAsia="zh-CN" w:bidi="ar-SA"/>
          </w:rPr>
      
    • 向pandoc提交了脚注分隔线缩进的issue

    • pandoc官方回复增加了继承settings.xml中的tag的功能,等待新版本发布

  • 2021.05.19

    • 代码:增加了表格编号功能
    • 代码:增加了\metadata{}功能
    • 搜索表格样式问题:该问题目前无解,可通过另一python库对指定表格的样式进行修改
    • 对代码块的行号增加了“显示行号的最小行数”参数
    • 代码:增加了metadata读取参数功能
  • 2021.05.20~2021.05.21

    • 文档:修正metadata空格转义的问题,细节增加
    • 模版:提交了修复文档表格的文件
    • 模版:增加了公式表格EquationTable的样式
    • 模版:修正了普通表格table的首行横线
    • 代码:用ooxml实现了对公式编号的表格功能,但有bug(已修复)
    • 代码:修复了公式编号表格的bug
    • 代码:在表格后增加了空段落以符合CQU的要求
    • 代码:增加了表格题注的书签标记功能
    • 代码:增加了metadata参数来自定义表格后面的空段落,至此,表格所有功能完成
    • ★加入表格
      • 表格三线表样式
      • 用文档引入外部表格文件
      • 表格编号
      • 解决表格样式问题
      • 表格的书签标记
      • 表格套用自定义样式无法实现
    • 代码:增加了题注自定义第二题注分隔符的metadata参数及功能
    • 代码&模版:代码和模版结合修复了公式编号右对齐
    • ★反馈pandoc的bug
      • 换行符问题
      • 建议保留settings.xml文件设定
      • 脚注问题
      • 含有公式的表格公式对齐问题:设置表格内容居中,公式居中,结果公式位置偏右,经查是settings.xml中部分设置与pandoc表格所用的ooxml代码有关,后续提issue等pandoc解决
    • 代码:增加了公式编号的前缀后缀
      • 公式前缀后缀(括号)
    • ★通过metadata传参设置题注的语法
      • 图片,表格
      • 行号,空格
      • 公式,定理,代码编号
  • 2021.05.22

    • 代码:优化引用书签的逻辑
    • 语法:改为使用@fig:xxx:page这样的书签标记和引用
    • 文档:增加交叉引用的测试章节
    • 代码:metadata中chaptersfalse时,可以把图片的标题编号去掉
    • 代码:定理环境初步实现,暂未套用样式
      • 代码:证毕符号自定义功能
      • 代码:实现定理环境的引用功能
    • 代码:高级的编号前缀引用功能
      • @fig:xxx-@fig:xxx
      • bug:前缀lst引用存在问题
  • 2021.05.24

    • 模版:正文样式的字号是错误的……
    • 代码:完成了通过metadata的chapters去掉标题编号的功能
      • 编号不要标题编号,即图1.1,去掉标题的编号1.,变成图1
    • 模版:增加了封面的相关样式,完成了初稿,不过本科和研究生的格式差距过大……定义两套模版?
    • 模版:本科封面样式制作完成
      • 封面
    • 代码:公式引用的后缀bug修复
    • 代码:\newSecction{}命令改为\newSectionRaw{},让\newSection{}命令作为不带页眉页脚的分节符
    • 代码:高级编号引用功能全部完成
      • 高级的编号引用前缀功能
        • 前缀lst存在bug
        • [@xxx]@xxx-@xxx
        • 要不要前缀Fig
        • 连续的“根据式(3.1-3.7)
    • 代码:定理环境格式微调,现在只剩最后的域代码编号了
  • 2021.05.26

    • 代码:修复了定理和证明环境的第一段没有套用样式的bug
    • 代码:定理样式修改实现逻辑,改为用Word中Ctrl + Alt + Enter产生的能合并两个段落的特殊段落标记实现,至此,定理环境全部实现
      • ★定理环境实现
        • ref.py文件需要增加定理环境的前缀支持
        • 重写公式断行功能,解决样式继承问题
    • 模版:敲定定理环境的样式
    • 模版:增加qed符号的文本样式,使方框显示正常
    • 代码:允许qed证毕符号使用完整的Markdown语法来套用样式
  • 2021.05.27

    • 代码:公式增加{.raw}功能,对单个公式保留LaTeX代码不渲染,以供其他软件转换
    • 代码:修改多级列表的解析,使列表中的公式等能够正常解析
    • 代码:增加图片表格公式的自动编号功能开关
    • 代码:优化代码结构,所有文件只需要解析一次metadata即可
    • bug:图片编号丢失(2021.05.29修复)
    • bug:多参考文献的引用出错(2021.05.29修复)
    • bug:定理环境中的列表变为compact
  • 2021.05.29

    • pandoc更新,bug记录:
      • 表格的编号出错
        • 表格题注样式变为compact(确认因pandoc引起)
      • pandoc的代码块高亮问题修复,目前因为代码块编号需要拆散代码块,导致高亮问题
    • pandoc更新,新功能记录
      • 增加了表格的合并功能
      • 表格支持多标题行
      • 拼写检查支持继承
      • settings.xml中的tag继承
    • 模版:修改兼容性设置以供继承
    • 模版:修改默认公式字体为XITS Math以适配整体字体风格
    • 文档:根据pandoc更新删改“已知问题”部分
    • 修复2021.05.27代码中的两个bug
  • 2021.05.30

    • 模版:修改参考文献“书目”样式的悬挂缩进为3字符,以适配3位数的参考文献数量
  • 2021.05.31

    • pandoc:手动编译了修复bug的pandoc程序用于展示
    • 代码:所有TeX命令不区分大小写
    • 代码:优化列表段落的缩进和样式
    • 代码:bug修复,公式多出了一个空段落
    • 代码:新增workPath参数,作为引入外部文档的基准位置
  • 2021.12.18

    • 模板:修改了noindent, compact, 题注 共3个样式,使其从正文继承样式而后去掉首行缩进
      • 这样可以解决使用域代码IncludeText引入外部文件时表格的错误缩进问题
      • 实际上是因为引入外部文件时,默认继承了正文样式的缩进,所以基于正文样式之后再手动去掉首行缩进就可以强制取消这个属性
    • 模板:修正表格“compact”和“题注”样式的字号
  • 2022.02.11

    • 完善,修正,发布