Skip to main content

Posts

Showing posts from November, 2014

微软 Office Word 快捷样式公文标准化

使用 MS Word 设定分级标题的样式时发现这个软件得到了不符合中文习惯的结果,段前后间距、字形、字体3方面的样式显得与全文格格不入,以前使用的几个微软 Word 工具一直有这些特点。

MS Win Word 默认的标题样式:段前间距13磅、段后间距3磅、字形加粗。标题1则使用段前间距17磅、段后间距16.5磅、字形加粗、行距2.41倍。这些段落样式用在个性化出书问题不大,要是用来印制规范的公文或专著,可能在交稿后让审校人不得不大刀阔斧重新改一遍。


查了一下模板的样式设定,发现微软就是这么干的。当然,它也给强制 MS Word 满足中文阅读习惯留下了伏笔。这里以 GB/T 9704-2012 的正文样式标准为例说明怎样在 MS Word 设定快捷样式。

启动 Word 软件后,用键盘快捷键组合弹出快捷样式窗口:

Ctrl+Alt+Shift+S

基于默认模板 Normal.dotm 的正文样式修改并新建一个快捷样式,修改设定样式为:

样式类型:段落样式基准:正文格式:仿宋三号字体颜色:自动对齐:两端对齐大纲级别:正文特殊格式:首行缩进2字符段前后间距:0行距:固定值28磅
为了容易辨识这是用于公文书信的样式,为这个快捷样式的名称命名为 GB 正文


同法炮制 GB 标题、GB 标题1、GB 标题2。令分层标题的样式也符合标准化文件样式的要求。

磨刀不误砍柴工。用一点时间设定快捷样式不仅提高自己撰写公文信函的效率,编排他人的 Word 文档也有事半功倍之效。

总结一下,Word 样式远不止提高阅读美感那么简单,背后在于严格分层布列段落的大纲级别。而大纲级别是计算机(至少是微软 Office 自己)读得懂的一种文书结构,为人工排版、编辑的关键基础。

Google Spreadsheet 转跳列末操作

谷歌云端硬盘的电子表格的键盘与鼠标操作和微软 Excel 还是有不同,从当前数据行转跳尾数据行时,不能照搬微软 Office 的快捷操作。令这半年处理数千数据行在一个工作表时,快速翻滚屏幕的效率很低。

Microsoft Excel 跳至末行的键盘操作为:

Ctrl+End

如果在谷歌云端电子表格使用这个键盘快捷键组合,选中的单元格将转跳至空白值的尾行,脱离了工作表操作的真实意图。

所谓空白值等同于 Excel 的 ="" ,在计算机里还是有数值意义。而绝大多数情况下我们只是要将阅读界面转跳至字符串的尾行,也就是看起来有内容的单元格,不论它们是日期字符串、文本字符串、还是数字字符串。

在网上百度一番后找到了一份 Google Spreadsheet 的键盘快捷说明,给出的答案是:

Ctrl+↓

实操后发现这个 Ctrl 加上下箭头真实有效。在任意一列里同时按下这两个按键,即转跳至列的末端。选中行头,同时按下三个键盘键 Ctrl+Shift+↓ 则选中多行。这样要删除多个数据行变得简单多了。

这样看来,Google 电子表格的便捷性和微软 Excel 差距并不像原来认为的那么大。

Google Pinyin 自定义默认词典

自使用谷歌拼音(Google Pinyin)输入法以来,我几乎放弃了五笔输入法。为什么?键盘汉字输入量越大,拼音云输入在长句输入的优点越明显,可以完全遮盖五笔输入在单字、短词组的优势。这款输入法重度依赖者一定知道,谷歌能时刻保存你的输入习惯,如果有拼音重复的字、词、句,谷歌能根据你的键盘选取自动将选用频率最高的拼音排列首位,方便选取并提高拼音输入效率。

使用谷歌云输入法即时保存输入字词句也有弊端,它将键盘击打错误也保存在云服务器个人账户下。按照我检查自己谷歌拼音词典的发现,里面就有一定比例的同音别字,平时再次输入这段拼音时还会自动提取这些别字。自动保存拼音输入词典还有另外一个弊端:如果家庭多个成员公用一个 Google Pinyin 账户,多个人的输入习惯全部都记录在这个账号下。

虽然没有很奇怪的隐私,而且工作和私人交流的拼音输入都在一个谷歌账号下,有时候有点强迫的我还是习惯清理字典,让那些同音别字、错字、以及孩子的孩子气词语或句子都消失。

目前删除无效词典只有一个办法:点击「用户词典管理」清空按钮。操作很简单,不过得到的是谷歌默认的词典,自己常常使用的词组和句子全部会因此消失。正确和错误之间不好平衡。

好在找到了 Google 词典文件格式,其实用电子表格按照3列录入默认词典即可:

第一列:汉语字、词、句;
第二列:词频(1)
第三列:拼音字符串

按照 Google 的帮助文件,建立起含有上述3列信息的拼音词典文件后,保存为后缀名为 txt 或 lib 的字典文件,就可以在谷歌拼音的设置面板中导入。如果导入过程弹出警告,部分拒绝或全部拒绝刚才自己编写的默认词典,一般原因有这些:

第一列出现了非汉字字符;第三列音节数错误。
其实上面的问题已经在谷歌帮助文件说得很清楚。一般情况下,没有人会用拼音输出一些特别的标点符号,而且谷歌拼音自身就拒绝拼音具备这一功能。反而第二种错误容易受大家忽视,而且不太好查出原因。大家看了下面的例子就会明白了:

某人姓名的拼音为:

Xi Jinping
Xi Jin Ping

问题就出现在这里,谷歌拼音输入按照每个音节辨认而且对应字符串,而第一种将名字并列在一起的做法虽然得到翻译公认,却不能成为拼音的标准。Google 这样做自有它的道理,不过习惯了复姓的我们还真的不留意,看见司马、欧阳、上官这些姓氏和复名很自然地就联想到在 Sima、Ouyan…

Google Spreadsheet 评估慢病随访及时性

高血压或糖尿病健康管理看两个日期间隔能否同时满足病人分级随访的两个要求:末次随访与它上一次随访的日期间隔,以及末次随访与目前的日期间隔。末1次、末2次的随访分级结果不同,往往给电子表格的查询、运算、报告带来麻烦。

这一张病人随访抽样结果的工作表,存放在谷歌云端硬盘的电子表格:

社区卫生站慢病随访抽样校验表1ABCD2患者随访1随访2随访分级3张三2014/6/32014/4/724李四2014/8/122014/4/223
1. 用电子表格计算日期差值
任意两次随访的间隔通过算术减法 - 得出。日期字符串先通过 datevalue 命令求值,转换为日期数值才变得具有比较的操作性。比如,比较分别录入在 R 数据行两个不同单元格的日期字符:

=datevalue("b3")-datevalue("c3")
一般常识告诉我们,一前一后的两个随访日期比较,要将最末一次随访日期(D1)列为被减数、它的早一次随访日期(D2)列为减数,这样算术结果会是一个正数,表示间隔日数。

2. 查询随访分级对应的随访间隔标准
还记不记得查询命令VLOOKUP 能查找随访分级对应的单元格?

VLOOKUP(搜索键值, 范围, 索引, 已排序)
以随访病情基本稳定的高血压病人张三为例,这个病人按照医生要求在均衡饮食、科学运动、坚持服用降压药方面积极努力,他被评估为2级随访对象,随访团队近期能与张三每2个月见面或电话随访一次,用谷歌云端硬盘电子表格 VLOOKUP 命令查询2级随访的时间间隔标准:

=VLOOKUP(2, setup!$a$z, 7, false)
这里假定了2级随访时间间隔标准放在了标准工作表 setup,自该表A列起Z列结束的第7列。不论标准工作表是否有列的升序或降序排序,必须完全匹配标准工作表第1列数值为3的行。

3. 比较随访日期差值和随访间隔标准有了日期数值算术差、列查询  VLOOKUP 的命令和公式,评估随访间隔有无达到随访时间要求就容易多了:

=(datevalue("b2")-datevalue("c2"))-VLOOKUP(3, setup!$a$z, 7, false)
实际运用时,结合条件判断 if,and 等命令能得到变化多端的查询、判断、报告应用。本案中,随访间隔需要与随访标准时间范围比较…

用谷歌云端硬盘检验报表数据逻辑

广东省慢病基本公共卫生服务信息报表(表2)实行月报告制度,由基层医疗机构自行人工填报。由于数据信息化管理标准不一,审核报表逻辑性极具挑战。如果使用谷歌云端硬盘实现自动审阅,将大大减轻我们的工作负担。

思路为:建立标准工作表,建立动态工作表,建立质量控制表。使用标准工作表罗列比较依据,其数据恒定,因此需要锁定其权限,避免共享、协作时受到破坏性改动。动态数据工作表加入各基层医疗机构上报的数据,适当增加辅助处理数据列(行)用以提高校验效率。质量控制表中建立校验、审阅条件,圈出异常数据。

1 建立标准工作表 在 Google Spreadsheet 建立包含校验参数与校验值的工作表,工作表命名既要简短、又要容易辨识。我个人爱好命名标准工作表为 setup,这样为了其后跨工作表管理数据时,能得到比中文工作表名有更简易的操作。

别忘了核准数据列、数据行之间的对应关系。

广东省慢病报表(表2)校验设置中心常住人口数估计高血压人数估计糖尿病人数社区A4,8171,0063,52社区B3,537739258社区C4,463933326……………………SUM25,3265,1401,764
2 建立动态数据工作表
按照广东省慢病基本公共卫生服务信息报表(表2)相同标题行建立动态数据工作表。该表导入或复制粘贴各基层社区上报的 xls/xlsx 数据行,同样地,为了跨工作表操作便捷,这里以英文半角字符命名为 monthly

如果要历史对比某中心慢病报表数据,或者对这个中心的慢病数据建立透视图(Pivot Table),务必要建立辅助数据列。我为这个动态数据表加入了日期列,数据格式为日期时间 yyyy/mm/dd,最后简明显示为 yyyymm。

各月结束日可能为 28、29、30、31,为了标准化,在这一步里应当规定为 25日,也就是说日期数据为 yyyy/mm/25。25日同时也是广东省慢病基本公共卫生服务信息月报表的截止日期。

增加日期列之外,还要通过 value 命令额外增加赋值列,其命令为:

=C4&value(B4)

该辅助列将日期型数据转换为数字型数据,视觉上都是 yyyy/mm 的样式,满足人工审阅需要。

有了日期列赋值列后,即使多个基层医疗机构全年12个月数据摆放在一张动态数据工作表中,均能完成下一步:校验。

3 建立校验工作表
有了第一步的标准工作表 setup
TOP