<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<head>
<style>.content {
padding: 20px;
height: 100%;
width: 944px;
margin-left: auto;
margin-right: auto;
}
.fold {
width: 20px;
float: left;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.number {
width: 45px;
float: left;
margin-right: 10px;
text-align: right;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.line {
}
.content {
font-family: "Monospace";
font-size: 1em;
background: #3f3f3f;
color: White;
width: 944px;
padding: 20px;
height: 100%;
margin-left: auto;
margin-right: auto;
}
font.Alert {
color: Yellow;
font-weight: bold;
}
font.Annotation {
color: Yellow;
font-style: italic;
}
font.Attribute {
color: LightPink;
}
font.BaseN {
color: Gold;
}
font.BuiltIn {
color: Coral;
}
font.Char {
color: Cyan;
}
font.Comment {
color: Beige;
font-style: italic;
}
font.CommentVar {
color: LightBlue;
font-style: italic;
}
font.Constant {
color: White;
font-weight: bold;
}
font.ControlFlow {
color: DeepPink;
}
font.DataType {
color: CadetBlue;
}
font.DecVal {
color: MediumPurple;
font-weight: bold;
}
font.Documentation {
color: Gold;
font-style: italic;
}
font.Error {
color: Red;
font-weight: bold;
}
font.Extension {
color: DarkGray;
font-weight: bold;
}
font.Float {
color: DarkViolet;
font-weight: bold;
}
font.Function {
color: RosyBrown;
}
font.Import {
color: PaleVioletRed;
}
font.Information {
color: LightGreen;
font-style: italic;
}
font.Keyword {
color: LightGreen;
font-weight: bold;
}
font.Normal {
color: White;
}
font.Operator {
color: Magenta;
}
font.Others {
color: GreenYellow;
}
font.Preprocessor {
color: DarkSeaGreen ;
font-weight: bold;
}
font.RegionMarker {
color: Plum;
}
font.SpecialChar {
color: Plum;
font-weight: bold;
}
font.SpecialString {
color: LightBlue;
}
font.String {
color: MediumAquaMarine;
}
font.Variable {
color: Turquoise;
font-weight: bold;
}
font.VerbatimString {
color: LightSkyBlue;
}
font.Warning {
color: Brown;
font-weight: bold;
}
</style>
<title>Kamelon output</title>
</head>
<body>
<div class="content">
<div id="1" class="line"><font class="Comment">/* Test file for kate's stata syntax highlighting</font></br></div>
<div id="2" class="line"><font class="Comment">*/</font></br></div>
<div id="3" class="line"><font class="Normal">*! </font><font class="Keyword">version</font><font class="Normal"> 1.2.0 2mar2003 E. Leuven</font></br></div>
<div id="4" class="line"><font class="Keyword">program</font><font class="Normal"> </font><font class="Keyword">define</font><font class="Normal"> spellsplit</font></br></div>
<div id="5" class="line"><font class="Normal"> </font><font class="Keyword">version</font><font class="Normal"> 7</font></br></div>
<div id="6" class="line"><font class="Normal"> </font><font class="Keyword">syntax</font><font class="Normal"> [anything], spell(</font><font class="Keyword">varlist</font><font class="Normal"> </font><font class="Function">min</font><font class="Normal">=2 </font><font class="Function">max</font><font class="Normal">=2) [ </font><font class="Keyword">by</font><font class="Normal">(</font><font class="Keyword">varlist</font><font class="Normal">)]</font></br></div>
<div id="7" class="line"><font class="Normal"> </font><font class="Keyword">tokenize</font><font class="Normal"> </font><font class="Others">`spell'</font></br></div>
<div id="8" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> date0 </font><font class="Others">`1'</font></br></div>
<div id="9" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> date1 </font><font class="Others">`2'</font></br></div>
<div id="10" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> f0 : </font><font class="Keyword">format</font><font class="Normal"> </font><font class="Others">`date0'</font></br></div>
<div id="11" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> f1 : </font><font class="Keyword">format</font><font class="Normal"> </font><font class="Others">`date1'</font></br></div>
<div id="12" class="line"></br></div>
<div id="13" class="line"><font class="Normal"> </font><font class="Comment">/* set default statistic */</font></br></div>
<div id="14" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> current </font><font class="String">"mean"</font></br></div>
<div id="15" class="line"></br></div>
<div id="16" class="line"><font class="Normal"> gettoken left anything : anything, </font><font class="Function">match</font><font class="Normal">(prns)</font></br></div>
<div id="17" class="line"><font class="Normal"> </font><font class="Keyword">while</font><font class="Normal"> </font><font class="String">"`left'"</font><font class="Normal">!=</font><font class="String">""</font><font class="Normal"> {</font></br></div>
<div id="18" class="line"><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> </font><font class="String">"`prns'"</font><font class="Normal">!=</font><font class="String">""</font><font class="Normal"> {</font></br></div>
<div id="19" class="line"><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> !</font><font class="Function">inlist</font><font class="Normal">(</font><font class="String">"`left'"</font><font class="Normal">,</font><font class="String">"mean"</font><font class="Normal">,</font><font class="String">"sum"</font><font class="Normal">) {</font></br></div>
<div id="20" class="line"><font class="Normal"> </font><font class="Keyword">di</font><font class="Normal"> </font><font class="Keyword">as</font><font class="Normal"> </font><font class="Keyword">error</font><font class="Normal"> </font><font class="String">"Statistic `left' not supported"</font></br></div>
<div id="21" class="line"><font class="Normal"> </font><font class="Keyword">exit</font><font class="Normal"> 198</font></br></div>
<div id="22" class="line"><font class="Normal"> }</font></br></div>
<div id="23" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> current </font><font class="String">"`left'"</font></br></div>
<div id="24" class="line"><font class="Normal"> }</font></br></div>
<div id="25" class="line"><font class="Normal"> </font><font class="Keyword">else</font><font class="Normal"> {</font></br></div>
<div id="26" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> </font><font class="Others">`current'</font><font class="Normal">vars </font><font class="Others">``current'</font><font class="Normal">vars' </font><font class="Others">`left'</font></br></div>
<div id="27" class="line"><font class="Normal"> }</font></br></div>
<div id="28" class="line"><font class="Normal"> gettoken left anything : anything, </font><font class="Function">match</font><font class="Normal">(prns)</font></br></div>
<div id="29" class="line"><font class="Normal"> }</font></br></div>
<div id="30" class="line"><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> (</font><font class="String">"`meanvars'"</font><font class="Normal">!=</font><font class="String">""</font><font class="Normal">) {</font></br></div>
<div id="31" class="line"><font class="Normal"> </font><font class="Keyword">confirm</font><font class="Normal"> </font><font class="Keyword">var</font><font class="Normal"> </font><font class="Others">`meanvars'</font></br></div>
<div id="32" class="line"><font class="Normal"> </font><font class="Keyword">unab</font><font class="Normal"> meanvars : </font><font class="Others">`meanvars'</font></br></div>
<div id="33" class="line"><font class="Normal"> }</font></br></div>
<div id="34" class="line"><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> (</font><font class="String">"`sumvars'"</font><font class="Normal">!=</font><font class="String">""</font><font class="Normal">) {</font></br></div>
<div id="35" class="line"><font class="Normal"> </font><font class="Keyword">confirm</font><font class="Normal"> </font><font class="Keyword">var</font><font class="Normal"> </font><font class="Others">`sumvars'</font></br></div>
<div id="36" class="line"><font class="Normal"> </font><font class="Keyword">unab</font><font class="Normal"> sumvars : </font><font class="Others">`sumvars'</font></br></div>
<div id="37" class="line"><font class="Normal"> }</font></br></div>
<div id="38" class="line"></br></div>
<div id="39" class="line"><font class="Normal"> </font><font class="Keyword">quietly</font><font class="Normal"> {</font></br></div>
<div id="40" class="line"><font class="Normal"> g _count = 1</font></br></div>
<div id="41" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> xvars </font><font class="Others">`meanvars'</font><font class="Normal"> </font><font class="Others">`sumvars'</font><font class="Normal"> _count</font></br></div>
<div id="42" class="line"></br></div>
<div id="43" class="line"><font class="Normal"> </font><font class="Comment">/* create dummy by-var if no by option is specified */</font></br></div>
<div id="44" class="line"><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> </font><font class="String">"`by'"</font><font class="Normal">==</font><font class="String">""</font><font class="Normal"> {</font></br></div>
<div id="45" class="line"><font class="Normal"> </font><font class="Keyword">tempvar</font><font class="Normal"> </font><font class="Keyword">by</font></br></div>
<div id="46" class="line"><font class="Normal"> g </font><font class="Keyword">byte</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal"> = 1</font></br></div>
<div id="47" class="line"><font class="Normal"> }</font></br></div>
<div id="48" class="line"><font class="Normal"> </font><font class="Keyword">tempvar</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> </font><font class="Others">`by'</font></br></div>
<div id="49" class="line"></br></div>
<div id="50" class="line"><font class="Normal"> </font><font class="Comment">/* create negative for subtraction when spell ends */</font></br></div>
<div id="51" class="line"><font class="Normal"> cap </font><font class="Keyword">foreach</font><font class="Normal"> v </font><font class="Keyword">of</font><font class="Normal"> </font><font class="Keyword">varlist</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> {</font></br></div>
<div id="52" class="line"><font class="Normal"> g </font><font class="Keyword">double</font><font class="Normal"> </font><font class="Others">``v'</font><font class="Normal">' = -</font><font class="Others">`v'</font></br></div>
<div id="53" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> txvars </font><font class="Others">`txvars'</font><font class="Normal"> </font><font class="Others">``v'</font><font class="Normal">'</font></br></div>
<div id="54" class="line"><font class="Normal"> }</font></br></div>
<div id="55" class="line"><font class="Normal"> cap </font><font class="Keyword">foreach</font><font class="Normal"> v </font><font class="Keyword">of</font><font class="Normal"> </font><font class="Keyword">varlist</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal"> {</font></br></div>
<div id="56" class="line"><font class="Normal"> g </font><font class="Keyword">double</font><font class="Normal"> </font><font class="Others">``v'</font><font class="Normal">' = </font><font class="Others">`v'</font></br></div>
<div id="57" class="line"><font class="Normal"> </font><font class="Keyword">local</font><font class="Normal"> txvars </font><font class="Others">`txvars'</font><font class="Normal"> </font><font class="Others">``v'</font><font class="Normal">'</font></br></div>
<div id="58" class="line"><font class="Normal"> }</font></br></div>
<div id="59" class="line"></br></div>
<div id="60" class="line"><font class="Normal"> </font><font class="Keyword">stack</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal"> </font><font class="Others">`date1'</font><font class="Normal"> </font><font class="Others">`txvars'</font><font class="Normal">, into(</font><font class="Others">`date0'</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal">) </font><font class="Keyword">clear</font></br></div>
<div id="61" class="line"></br></div>
<div id="62" class="line"><font class="Normal"> </font><font class="Comment">/* calculate totals per date */</font></br></div>
<div id="63" class="line"><font class="Normal"> cap </font><font class="Keyword">foreach</font><font class="Normal"> v </font><font class="Keyword">of</font><font class="Normal"> </font><font class="Keyword">varlist</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> {</font></br></div>
<div id="64" class="line"><font class="Normal"> </font><font class="Keyword">egen</font><font class="Normal"> </font><font class="Keyword">double</font><font class="Normal"> </font><font class="Others">``v'</font><font class="Normal">' = </font><font class="Keyword">sum</font><font class="Normal">(</font><font class="Others">`v'</font><font class="Normal">), </font><font class="Keyword">by</font><font class="Normal">(</font><font class="Others">`by'</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal">)</font></br></div>
<div id="65" class="line"><font class="Normal"> }</font></br></div>
<div id="66" class="line"></br></div>
<div id="67" class="line"><font class="Normal"> </font><font class="Comment">/* unique dates only */</font></br></div>
<div id="68" class="line"><font class="Normal"> </font><font class="Keyword">by</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal">, </font><font class="Keyword">sort</font><font class="Normal">: </font><font class="Keyword">keep</font><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> </font><font class="DataType">_n</font><font class="Normal">==1</font></br></div>
<div id="69" class="line"></br></div>
<div id="70" class="line"><font class="Normal"> </font><font class="Comment">/* calculate totals (+ when spell starts - when ends) */</font></br></div>
<div id="71" class="line"><font class="Normal"> </font><font class="Keyword">sort</font><font class="Normal"> </font><font class="Others">`by'</font></br></div>
<div id="72" class="line"><font class="Normal"> cap </font><font class="Keyword">foreach</font><font class="Normal"> v </font><font class="Keyword">of</font><font class="Normal"> </font><font class="Keyword">varlist</font><font class="Normal"> </font><font class="Others">`xvars'</font><font class="Normal"> {</font></br></div>
<div id="73" class="line"><font class="Normal"> </font><font class="Keyword">by</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal">: </font><font class="Keyword">replace</font><font class="Normal"> </font><font class="Others">`v'</font><font class="Normal"> = </font><font class="Keyword">sum</font><font class="Normal">(</font><font class="Others">``v'</font><font class="Normal">')</font></br></div>
<div id="74" class="line"><font class="Normal"> }</font></br></div>
<div id="75" class="line"><font class="Normal"> </font><font class="Keyword">by</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal">: g </font><font class="Others">`date1'</font><font class="Normal"> = </font><font class="Others">`date0'</font><font class="Normal">[</font><font class="DataType">_n</font><font class="Normal"> + 1]</font></br></div>
<div id="76" class="line"></br></div>
<div id="77" class="line"><font class="Normal"> </font><font class="Keyword">drop</font><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal">></font><font class="Others">`date1'</font></br></div>
<div id="78" class="line"><font class="Normal"> </font><font class="Keyword">drop</font><font class="Normal"> _stack</font></br></div>
<div id="79" class="line"><font class="Normal"> </font><font class="Keyword">drop</font><font class="Normal"> </font><font class="Keyword">if</font><font class="Normal"> _count==0</font></br></div>
<div id="80" class="line"><font class="Normal"> </font><font class="Keyword">order</font><font class="Normal"> </font><font class="Others">`by'</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal"> </font><font class="Others">`date1'</font><font class="Normal"> </font><font class="Others">`xvars'</font></br></div>
<div id="81" class="line"><font class="Normal"> </font><font class="Keyword">format</font><font class="Normal"> </font><font class="Others">`date0'</font><font class="Normal"> </font><font class="Others">`f0'</font></br></div>
<div id="82" class="line"><font class="Normal"> </font><font class="Keyword">format</font><font class="Normal"> </font><font class="Others">`date1'</font><font class="Normal"> </font><font class="Others">`f1'</font></br></div>
<div id="83" class="line"></br></div>
<div id="84" class="line"><font class="Normal"> cap </font><font class="Keyword">for</font><font class="Normal"> </font><font class="Keyword">var</font><font class="Normal"> </font><font class="Others">`meanvars'</font><font class="Normal">: </font><font class="Keyword">replace</font><font class="Normal"> X = X/_count</font></br></div>
<div id="85" class="line"></br></div>
<div id="86" class="line"><font class="Normal"> </font><font class="Keyword">compress</font></br></div>
<div id="87" class="line"><font class="Normal"> }</font></br></div>
<div id="88" class="line"></br></div>
<div id="89" class="line"><font class="Keyword">end</font></br></div>
</div>
</body>
</html>