Stata16新功能之putdocx生成页眉页脚
本文作者:王碧琪
文字编辑:余术玲
技术总编:闫续文
爬虫俱乐部将于2019年8月22日至28日在湖北武汉举行为期一周的Stata编程技术定制培训,此次培训采用Stata16进行讲解,采取初级班和高级班分批次培训。课程通过案例教学模式,旨在帮助大家在短期内掌握Stata软件编程、金融计量知识和实证分析方法,使大家熟悉Stata核心的爬虫技术,以及Stata与其他软件交互的高端技术。目前正在火热招生中~
详细培训大纲及报名方式,请点击文末阅读原文呦~
putdocx命令是Stata15最闪亮的功能之一,有了putdocx,用户可以通过程序生成word文档,可以控制文档的页面大小、页边距以及每一个字的字体、大小、颜色、背景色,还可以向文档中插入图片、表格,控制表格内每一个单元格的格式、对齐方式、单元格的网格状态等。
在往期推文《玩转stata15—putdocx生成word文档》、《使用putdocx输出list的结果》、《玩转stata15—putdocx导入图表》、《玩转Stata15—putdocx append将它们粘起来!》中,我们详细介绍了Stata15中putdocx的基本用法。而Stata16的更新,为putdocx命令增加了一系列新功能,包括生成页眉页脚、添加文本块等等,而且还可以实现同一个文档中横向和纵向两种布局并存,同时对其设置不同的页眉页脚。
这些新功能,不仅进一步满足了用户更改word布局的需求,而且提升了用户体验。本文将主要介绍如何使用putdocx生成页眉页脚,接下来跟小编一起来探索吧!
一、准备工作
由于putdocx命令首先会打开一个空白的word文档,为防止内存中存在尚未关闭的word文档而导致程序报错,我们首先需要清空内存。
clear all
cap mkdir e:\putdocx
cd e:\putdocx
! taskkill /F /IM WINWORD.EXE /T //强制关闭已经打开的word文档,关于taskkill的详细介绍参见推文《玩转Stata15—putdocx生成word文档》
二、迅速开始
1.页眉和页脚
putdocx begin是putdocx命令的开始,表示新建word文档,此时Stata会在内存中打开一个空白的word文档。句法如下:
putdocx begin [, begin_options]
其中Stata16的begin_options里附加了新的选项,包括pagenum、header、footer。选项详细的用法如下:
(1).pagenum(pnformat [, start [, chapStyle [, chapSep]]])
pagenum选项用来设置页码和章节编号等内容。
其中,pnformat设置页码的格式,包括十进制数decimal、大(小)写英文字母upper_letter(lower_letter)、大(小)写罗马数字upper_roman(lower_roman)格式等。
start指明页码的开始数字,默认为1。
chapStyle用来设置章节标题的样式,默认为Heading1样式。
chapSep用来设置分节符和分页符,可选样式包括冒号、句号、破折号、连字符,默认样式为连字符。
值得注意的是,如果只需设置页码样式,则无需指定chapStyle和chapSep。如果想要设置章节编号和页码,则需配合chapStyle指定章节样式以及chapSep设置可选的分节符和分页符。详细使用方法参见help文件。
(2).header(hname)
header用来向文档中插入页眉。页眉的名称通过(hname)设置,页眉的内容使用putdocx paragraph或putdocx table来定义,还可以插入页码。
(3).footer(fname)
类似地,footer用来向文档中插入页脚。页脚的名称通过(fname)设置,页脚内容定义方法如上。
接下来,我们使用上述命令进行操作,插入页眉、页脚,设置页码格式和页面大小。
putdocx begin, header(header1) footer(footer1) pagenum(lower_roman,1) pagesize(A3) //新建word文档,生成名为header1的页眉和名为footer1的页脚,生成页码并设置格式为小写罗马数字、起始页码为1,另外设置页面大小为A3
值得注意的是,通过以上命令仅仅是生成了内容为空的页眉header1和页脚footer1。对于空白的页眉和页脚,我们需要使用putdocx paragraph命令向其中添加内容。putdocx paragraph新增了两个选项toheader(hname)和tofooter(fname),分别表示将以下段落内容添加至名为hname的页眉或名为fname的页脚,而不再添加段落至文档正文中。
putdocx paragraph, toheader(header1) halign(center) //生成一个段落,将该段落的内容插入到名为header1的页眉中,居中对齐
putdocx pagenumber //该段落的内容为使用pagenum()生成的小写罗马数字页码,若在putdocx begin中未指定pagenum(),则默认为十进制数decimal格式的页码
页眉内容为“ⅰ”,如下图所示:
putdocx paragraph, tofooter(footer1) halign(right) //生成一个段落,将段落内容插入名为footer1的页脚中,右对齐
putdocx text ("This is the footer.") //该段落的内容为"This is the footer."
生成页脚如下图所示:
我们使用putdocx paragraph命令生成段落,并使用putdocx text命令向该段落中添加文本内容。
putdocx paragraph, halign(left) //生成一个段落,设置对齐方式为左对齐
putdocx text ("实证结果展示"), font("宋体",25,black) bold linebreak //文本内容为“实证结果展示”,字体格式为宋体,字号25,颜色为黑色,加粗显示并换行
putdocx text ("Empirical Results"), font("Times New Roman",25,blue) italic linebreak //文本内容为"Empirical Results",字体格式为Times New Roman,字号25,颜色为蓝色,斜体显示并换行
putdocx text (""),linebreak //设置一个空行
putdocx text ("爬虫俱乐部和你一起学习"), font ("黑体",20,red) underline(double) //文本内容为"爬虫俱乐部和你一起学习",字体格式为黑体,字号20,颜色为红色,使用下划线的格式为双线
文本内容截图如下:
最后,我们使用putdocx save命令把生成的文档保存下来,使用shellout命令打开这个word文档,一起来看看文档的内容吧!
putdocx save word1.docx, replace
shellout word1.docx
当然,Stata16对putdocx命令的功能还有其他更新,我们会在后续的推文中陆续给大家介绍!
对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!
往期推文推荐
对抗bug方法介绍——爆款pysnooper你用了吗?(下篇)
关于我们
微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。
此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。
投稿邮箱:statatraining@163.com
投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。