{smcl} {* *! version 1.0.0 20dec2005}{...} {cmd:help sjlog}{...} {right:also see: {help sjlatex}} {hline} {title:Title} {pstd} {hi:sjlog} {hline 2} Creating and managing logs for Stata Journal articles {title:Syntax} {phang2} {cmd:sjlog} {it:subcmd} ... {title:Opening and closing logs} {phang2} {cmd:sjlog} {cmd:using} {it:filename} [, {cmd:append} | {cmd: replace} ] {phang2} {cmd:sjlog} {cmd:close} [, {cmd:noclean} {cmd:no}{cmdab:log:file} {cmd:replace} {cmd:book} ] {title:Logging the results of a do-file} {phang2} {cmd:sjlog} {cmd:do} {it:filename} [, {cmd:clear} {cmd:replace} {cmd:book} {cmd:nostop} {cmdab:sav:ing:(}{it:basename}{cmd:)} ] {title:Utilities} {pstd} Removing unwanted lines from a log. {phang2} {cmd:sjlog} {cmd:clean} {it:filename} [, {cmd:log} | {cmd:logclose} | {cmd:sjlog} | {cmd:sjlogdo} ] {pstd} Copy a file to be included in an Stata Journal article. {phang2} {cmd:sjlog} {cmd:type} {it:filename} [, {cmd:replace} {cmd:find} {cmd:path(}{it:path}{cmd:)} {cmdab:log:file} {cmdab:smcl:file} ] {pstd} Split a file name into three parts. {phang2} {cmd:sjlog} {cmdab:base:name} {it:filename} [, {cmdab:d:isplay} ] {pstd} Note that filenames containing spaces should be enclosed in quotes. {title:Description} {pstd} {cmd:sjlog} is a tool for Stata users who are writing documents that contain Stata output. It was written to help authors of the Stata Journal. {phang} {cmd:sjlog} {cmd:using}/{cmd:close} open and close log files similar to the log command, see help {help log}. {phang} {cmd:sjlog} {cmd:do} logs the output generated by the specified do-file. {phang} {cmd:sjlog} {cmd:clean} removes lines of text from {cmd:smcl} files. This subcommand was added to facilitate the removal of the header and footer generated by the {cmd:log} command, as well as the command that closed the log. {phang} {cmd:sjlog} {cmd:type} makes a copy of a file with some substitutions to make the file is suitable for inclusion in a TeX or LaTeX document. {phang} This subroutine facilitates the inclusion of do-files and ado-files in Stata Journal articles without having to manually maintain duplicate copies of the same file. {phang} {cmd:sjlog} {cmd:type} can also be used to copy {cmd:smcl} files to a format suitable for inclusion in a TeX or LaTeX document provided you also have stata.sty, a LaTeX package written for the Stata Journal. For more information about LaTeX packages written for the Stata Journal, see help {help sjlatex}. {phang} {cmd:sjlog} {cmd:basename} is something of a combination of the UNIX commands {bf:basename} and {bf:dirname}. It simply splits the specified file into three distinct parts: {pmore} 1. the directory path (e.g. {cmd:/work/}, {cmd:C:\work\}){break} 2. the suffix (e.g. {cmd:.do}, {cmd:.log}, {cmd:.smcl}){break} 3. the basename (what is left over from 1 and 2) {phang} The {cmd:display} option causes {cmd:sjlog} {cmd:basename} to display the results. {title:Options for {cmd:sjlog} {cmd:using}/{cmd:close}/{cmd:do}} {phang} {cmd:append} ({cmd:sjlog} {cmd:using} only) allows the output to be appended onto the end of an already existing file. See the {cmd:append} option in help {help log}. {phang} {cmd:replace} (for all {cmd:sjlog} subroutines) indicates that exiting {it:filename} (with a {cmd:.smcl}, {cmd:.log}, or {cmd:.log.tex} suffix) will be overwritten. {phang} {cmd:noclean} ({cmd:sjlog} {cmd:close} only) prevents {cmd:sjlog} from "cleaning" the {cmd:smcl} log before generating the plain text and TeX version. {phang} {cmd:clear} ({cmd:sjlog} {cmd:do} only) causes {cmd:sjlog} to run "{cmd}program drop _all{reset}" prior to running "{cmd:do} {it:filename}". {phang} {cmd:book} ({cmd:sjlog} {cmd:close}/{cmd:do} only) causes {cmd:sjlog} to use special escape characters in the generated TeX file. This option is no longer necessary, but was added to facilitate maintenance of legacy documents that used the LaTeX listings environment to display Stata logs. {phang} {cmd:nostop} ({cmd:sjlog} {cmd:do} only) allows the do-file to continue executing even if an error occurs. {phang} {cmd:saving(}{it:basename}{cmd:)} ({cmd:sjlog} {cmd:do} only) allows for the logs to be saved to {it:basename}.smcl, {it:basename}.log, and {it:basename}.log.tex, instead of using the 'basename' of the do-file. {title:Options for {cmd:sjlog} {cmd:clean}} {phang} {cmd:log} (default) indicates that {it:filename} was created by {cmd:log} {cmd:using} and {cmd:log} {cmd:close}. This results in the removal of the log header and footer created by the {cmd:log} command (if they exist), as well as the removal of the last executed command (and the preceding blank) if it is: {pmore2} {cmd}. log close{reset} {phang} {cmd:logclose} indicates that {it:filename} was created by {cmd:log} {cmd:using} and {cmd:logclose}. This results in the removal of the log header and footer created by the {cmd:log} command (if they exist), as well as the removal of the last executed command (and the preceding blank) if it is: {pmore2} {cmd}. logclose{reset} {phang} {cmd:sjlog} indicates that {it:filename} was created by {cmd:sjlog} {cmd:using} and {cmd:sjlog} {cmd:close}. This results in the removal of the last executed command (and the preceding blank) if it is: {pmore2} {cmd}. sjlog close{reset} {phang} {cmd:sjlogdo} indicates that {it:filename} was created by {cmd:sjlog} {cmd:do}. This results in the removal of the last line of output (and the preceding blank) if it is: {pmore2} {cmd}end of do-file{reset} {title:Options for {cmd:sjlog} {cmd:type}} {phang} {cmd:find} indicates that {it:filename} is somewhere on the ado path. This option requires the {cmd:findfile} command introduced in Stata 8, see help {help findfile}. {phang} {cmd:path()} specifies the path over which {cmd:findfile} is to search, see the {cmd:path()} option description in help {help findfile}. {phang} {cmd:logfile} specifies that a plain text file also be created. {phang} {cmd:smclfile} specifies that a SMCL file also be created. {title:Details: generating logs} {pstd} The logged output will be saved in three formats: {phang} 1. The plain text log will have a {cmd:.log} suffix. {break} 2. The smcl log will be saved with a {cmd:.smcl} suffix. {break} 3. The TeX log will have a {cmd:.log.tex} suffix. {pstd} The TeX log utilizes some tailored TeX macros defined in stata.sty, a LaTeX package designed for the Stata Journal. {pstd} Logs can be generated in one of two ways: {phang} (1) {cmd:sjlog} {cmd:using} {it:filename} turns Stata's logging on, and saves the output to {it:filename}. {pmore2} It is recommended that {it:filename} not have a suffix; in any case, an appropriate suffix will be supplied according to the above list. {phang2} {cmd:sjlog} {cmd:close} closes the current log. {phang} (2) {cmd:sjlog} {cmd:do} {it:filename} is almost exactly like running the following commands: {pmore2} {cmd} . sjlog using {it:filename} {break} . do {it:filename}.do {break} . sjlog close {reset} {phang} where {it:filename} is the base name (having no suffix) of a Stata do-file, except the command "{cmd}do {it:filename}.do{reset}" is removed from the log. {pstd} When you begin logging, {cmd:sjlog} will first close the current log (if there is one) before opening a new log with the given options. Also the {help more} and {help trace} settings are turned off. {title:Details: copying files} {pstd} {cmd:sjlog} {cmd:type} is almost exactly like running the following commands: {pmore2} {cmd} . sjlog using {it:filename}.tex {break} . type {it:filename} {break} . sjlog close {reset} {title:Saved results} {pstd} {cmd:sjlog} {cmd:close} saves in {cmd:r()}: Macros {cmd:r(fn)} name of the TeX log {pstd} {cmd:sjlog} {cmd:clean} saves in {cmd:r()}: Macros {cmd:r(fn)} {it:filename} {cmd:r(fnbak)} {it:filename}.bak, backup copy of {it:filename} {pstd} {cmd:sjlog} {cmd:type} saves in {cmd:r()}: Macros {cmd:r(fn)} {it:filename}.tex, copy of {it:filename} {pstd} {cmd:sjlog} {cmd:basename} saves in {cmd:r()}: Macros {cmd:r(fn)} {it:filename} {cmd:r(dir)} directory path of {it:filename} {cmd:r(base)} basename of {it:filename} {cmd:r(ext)} extension suffix of {it:filename} {title:Also see} {psee} Manual: {hi:[R] log}, {hi:[P] program}, {hi:[P] smcl}, {hi:[R] translate} {p 4 13 2} Online: {help log}, {help program}, {help smcl}, {help translate} {p_end}