我有一段Stata代码,我想在我的网站上发布。
代码如下所示:
/* creating temporary files*/
forval i = 1964/2012 {
use mar`i', clear
unab allvars: _all
local masterlist "income race age grdatn edlev grdhi hisp spneth recnum state cntyfp cbsa hhtype hhid numper"
local keeplist: list allvars & masterlist
keep `keeplist'
save temporaryMar`i'
}
capture erase stateLevel`yearStart'-`yearEnd'.dta
/* end of temporary files establishment */
/* *** INCOME ADJUSTMENTS ***
** variable name "incomeStandard". making sure that
** income does not contain any coded values. ................ etc
为了将其转换为好看的HTML并将其发布到我的网站上,我需要写下以下内容:
<div class="geshifilter">
<pre class="java geshifilter-java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Integers <span style="color: #009900;">{</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">(</span><span style="color: #003399;">String</span><span style="color: #009900;">[</span><span style="color: #009900;">]</span> arguments<span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
<span style="color: #000066; font-weight: bold;">int</span> c<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//declaring a variable</span>
<span style="color: #666666; font-style: italic;">/* Using for loop to repeat instruction execution */</span>
<span style="color: #000000; font-weight: bold;">for</span> <span style="color: #009900;">(</span>c <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> c <span style="color: #339933;"><=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span> c<span style="color: #339933;">++</span><span style="color: #009900;">)</span> <span style="color: #009900;">{</span>
<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">(</span>c<span style="color: #009900;">)</span><span style="color: #339933;">;</span>
<span style="color: #009900;">}</span>
<span style="color: #009900;">}</span>
<span style="color: #009900;">}</span></pre></div>
这样做太麻烦了。有没有更简单的方法?像语法荧光笔?
答案 0 :(得分:2)
从SSC安装的Stata log2html
至少有一个荧光笔。给定一个do.file,你可以这样做
. ssc inst log2html
. log using mydo.smcl
. type mydo.do
. log close
. log2html mydo.smcl
你有一个HTML文件。您需要编辑一些行,并且样式选择可能不适合。系统的变化将是一个体面的文本编辑器或脚本语言的问题。使用ssc
的安装只需要完成一次。
顺便说一句,对于其他读者,如果不是你自己,行
. capture erase stateLevel`yearStart'-`yearEnd'.dta
如果没有事先定义同一.do文件中使用的本地宏,那么就毫无意义。
答案 1 :(得分:0)
是的,而且我写了! : - )
这是一个名为Statax的 JavaScript 引擎,只需添加一行代码并将Stata代码放在中,您就可以轻松地在任何网站或博客上实现它标记sh.stata类。
您可以在我的网站上阅读详细信息:http://www.haghish.com/statax/statax.php
这是怎么回事:
<script type="text/javascript" src='http://haghish.com/statax/Statax.js'></script>
现在您只需将Stata代码放在pre tag中即可。但是,您还应该指定类,<pre class="sh_stata">
。就这样。从现在开始直到</pre>
标记的任何Stata代码都会突出显示与Stata do-file编辑器一样好。您可以在我的网站上找到更多示例,也可以学习如何自定义它并使用任何语法高亮主题,这些都是通过应用Stata主题制作的。
我还为它写了一个名为Statax的软件包,它可以在ssc ssc install statax
上找到。它基本上使用相同的JavaScript引擎。但是,它允许您将.do和.ado文件转换为HTML并自动应用语法高亮显示,只是为了让生活更轻松......