doファイル中のコマンド区切りの変更

通常Stataは行頭から改行文字までを1つのコマンドとして認識している。しかしdoファイル中に限り改行文字ではなく;をコマンドの区切りとすることができる。たとえば

sysuse uslifeexp, clear
gen diff = le_wm - le_bm
label var diff "Difference"
line le_wm year, yaxis(1 2) xaxis(1 2) || line le_bm year|| line diff  year|| lfit diff  year||,ylabel(0(5)20, axis(2) gmin angle(horizontal))ylabel(0 20(10)80,     gmax angle(horizontal))ytitle("", axis(2))xlabel(1918, axis(2)) xtitle("", axis(2))ytitle("Life expectancy at birth (years)")title("White and black life expectancy")subtitle("USA, 1900-1999")note("Source: National Vital Statistics, Vol 50, No. 6"     "(1918 dip caused by 1918 Influenza Pandemic)")legend(label(1 "White males") label(2 "Black males"))legend(col(1) pos(3))

のような冗長なコマンドがあったとして、コマンド区切りを変更すれば、

sysuse uslifeexp, clear
gen diff = le_wm - le_bm
label var diff "Difference"
#delimit ;
line le_wm year, yaxis(1 2) xaxis(1 2) 
|| line le_bm year
|| line diff  year
|| lfit diff  year
||,
ylabel(0(5)20, axis(2) gmin angle(horizontal))
ylabel(0 20(10)80,     gmax angle(horizontal))
ytitle("", axis(2))
xlabel(1918, axis(2)) xtitle("", axis(2))
ytitle("Life expectancy at birth (years)")
title("White and black life expectancy")
subtitle("USA, 1900-1999")
note("Source: National Vital Statistics, Vol 50, No. 6"
     "(1918 dip caused by 1918 Influenza Pandemic)")
legend(label(1 "White males") label(2 "Black males"))
legend(col(1) pos(3));
#delimit cr

のように見やすく書くことができる。#delimit ;でコマンド区切りを;にして#delimit crでコマンド区切りを改行文字に戻す。crはcarriage returnの略で改行のことだと思っとけばいい。
また、

#delimit ;
sysuse uslifeexp, clear;gen diff = le_wm - le_bm;label var diff "Difference";
#delimit cr

のように1行に複数個のコマンドを書くこともできる。