Category Archives: 未分类

Intro: Balare 批量xelatex报告工具

LaTeX工具作为批量制作报告的手段具有先天优势:

  • 使用UTF8纯文本
  • 简单的指令结构
  • 丰富的包支持

对于大部头的书籍或文章排版,使用带有项目管理的编辑器如WinEdt是不错的选择。但当需要批量制作格式类似的10个,几十个报告时,传统的模板复制粘贴方式就显得效率低下了。

BaLaRe即是针对这种情况开发的,基于目录结构的tex文件管理工具。

其简要工作流程为:

  1. 选择一个目录作为报告的工作目录,程序自动在此目录下创建一套默认的模板(tex文件、样式或文档类)。模板分为主目录报告模板和子目录报告模板:主目录模板即对所有要生成的报告公用的模板,而子目录模板是在每个报告的独立文件夹下。这些模板都可以进行编辑。
  2. 导入批量报告变量表。变量表是一张保存有所有待出报告信息的CSV表单,在表单中包含一些报告的属性值,例如编号、接受人、报告内容等,这些属性被赋予一个变量名,可以在编辑时使用。
  3. 定义需要的编译条件。可以在用户界面修改一些条件符号的真值,用于配合if指令,有条件地进行排版输出。
  4. 定义多选变量。多选变量可以在任何时刻设置,程序将记录下曾经设置的值,使用时从下拉表中选择。这些变量在编译时生成到特定的文件,在主模板中有对此文件的引用。
  5. 编辑报告内容。在报告的列表中选择要编辑的子报告,使用之前定义的变量及符号,完成内容编写。
  6. 生成PDF文件。在列表中使用鼠标操作,进行xelatex编译生成报告,并进行查看。

需要注意:BaLaRe本身只是文件管理工具,要实现其功能,必须要搭配xelatex和合适的编辑器(如notepad++)。

将CSV文件导入excel

csv文件一般以系统默认编码格式编码(ANSI),excel支持直接打开查看。但是,csv作为文本文件,在excel直接打开时会产生如下问题:

  1. 占位数字的丢失。如文本 “001”,直接打开后变为数值 1;
  2. 自动转换。带有括号的数字,如 “(1)”,直接打开后变为 -1。

这些问题是由于excel打开后默认以“自动”数值格式套用所有单元格产生的,而且转换不可逆,将文件再保存成csv时,原文本均被转换后的内容取代。

对于这种情况,需要巧妙利用excel的数据导入功能:

  1. 将csv后缀改为txt;
  2. 从excel中打开该文件,显示 文本导入向导;
  3. 按照向导提示,选择半角逗号为分隔符,设计数据格式时,依次选择数据列,设置为 “文本”