From: NL0242T@NLZCL (Oscar van Eijk)
Newsgroups: comp.os.vms
Subject: Vms News Manual (0/8)
Date: 15 Nov 92 21:33:23 GMT
Organization: Philips Communication & Processing Services
X-News-Reader: VMS NEWS 1.24

This is part 0 of News$Doc

News$Doc is the second edition of the Vms News User Documentation. Vms News
is an NNTP based VMS News client, written by Bernd Onasch (onasch@ira.uka.de),
current version 1.24.

*** If you don't have Vms News yet, it is available via anonymous ftp
    from ftpvms.ira.uka.de (129.13.10.1), or send a mail to
    fileserv@irav17.ira.uka.de with the command HELP in the body of the message

Changes since the first edition:
 - Added a 'forgotten' chapter
 - Added two appendices : a chapter about the additional program Talk
                      and a quick reference
 - Lots of changes in the index
 - Corrected a lot of type errors and grammatical errors, thanks to Tijs
   Coumans (rutges_ass@rugb38.bdk.rug.nl) who pointed me at most of the
   errors 
 - Designed a 'Vms News'- logo
 - Wrote a small program which extracts the .TEX- files and generates a
   .DVI- file

If you want to use the extract- program which is included in this part 0,
you should do the following:
 - Save the program below as a .com- file (eg. "News$Doc.Com")
 - Save all 8 parts (with or without headers) in 8 seperate files with the
   extensions '.1' up to '.8', corresponing with the part which is stored
   in that file (eg. "Nd.1", "Nd.2" ... "Nd.8")
 - Run the extract- program (eg. "@news$doc nd")

The program will prompt for a few questions, if you want to exit at any of
them, just press Ctrl_Z.
This will result in the file [.NEWS$DOC]NEWS$DOC.UUE

If you want the program to create the file NEWS$DOC.DVI, the following commands
should be defined:
 - uudecode  (If you don't have uudecode, send a mail to me
             (nl0242t@nlzcl.decnet.philips.nl) and I'll send you the source)
 - unzip     (If you don't have unzip, send a mail to fileserv@wkuvx1.bitnet
             with the command SENDME UNZIP41 in the body of your message)
 - LaTeX     (if you don't have LaTeX, you can ftp it from ymir.claremond.edu
             (134.173.4.23); executables are in [.tex.exe], sources are in
             [.tex.source] and [.tex.sources.tex3_1] contains TeX v3.1. If
             you can't ftp, send a mail with the command HELP in the body
             to mailserv@ymir.claremont.edu)
 - makeindex (if you don't have makeindex, send a mail to me and you'll receive
             makeindex.zip)

If you want me to send uudecode and/or makeindex to you, let me know this
before December 1st.

Below you'll find the files 1NEWS$DOC.READMEA (you don't need to save this
since it is included in the .ZIP file) and the News$Doc extractor described
above,
Any comments are welcome, Happy Reading :-}

Oscar.

!------------  Begin 1News$Doc.ReadMe ------------------------------------------
 When generating this document you might get the error message
 '! TeX capacity exceeded, sorry'
 Well, I'm not a wizard, but editing the mathchar-definition on
 line 16 in News$Doc.Tex might help. Change the '1' into a '0'
 (\smallexn="0).
 I'm not gonna tell ya what the difference is since you probably
 won't notice it anyway :-}
 If it still doesn't work, well, you do need a wizzard after all...
!-------------  End 1News$Doc.ReadMe -------------------------------------------

!-----------  Begin News$Doc extractor -----------------------------------------
$	set noverify
$	on error then $ goto error_occured
$	on severe_error then $ goto error_occured
$	on control_y then $ goto handler
$!
$ get_input:
$!
$	if p1 .eqs. "" 
$	   then
$		write sys$output ""
$		write sys$output "You should have saved all files as" + -
		  " <file_name>.1 to <file_name>.8"
$		write sys$output "in the right order"
$		write sys$output ""
$		read/end=end/promt="File_name ? " sys$command p1
$		goto get_input
$	endif
$	if f$locate(".",p1) .lt. f$length(p1) then $ p1 = f$extract(0, -
	   f$locate(".",p1),p1)
$	write sys$output ""
$	write sys$output "Input files:"
$	write sys$output "  ''p1'.1"
$	write sys$output "  ''p1'.2"
$	write sys$output "  ''p1'.3"
$	write sys$output "  ''p1'.4"
$	write sys$output "  ''p1'.5"
$	write sys$output "  ''p1'.6"
$	write sys$output "  ''p1'.7"
$	write sys$output "  ''p1'.8"
$	write sys$output ""
$	read/end=end/prompt="Correct ? ([Y]/N) : " sys$command conf
$	if f$edit(f$extract(0,1,conf),"upcase") .eqs. "N"
$	   then
$		p1 = ""
$		goto get_input
$	endif
$	fc_counter = 1
$!
$ final_check:
$!
$	if f$search("''p1'.''fc_counter'") .eqs. ""
$	   then
$		write sys$output "*** ''p1'.''fc_counter' not found, exiting"
$		exit 44
$	endif
$	fc_counter = fc_counter + 1
$	if fc_counter .lt. 9 then $ goto final_check
$!
$	write sys$output "To generate the Dvi- file you should have the" + -
	   " following commands defined:"
$	write sys$output "    _ uudecode"
$	write sys$output "    - unzip"
$	write sys$output "    - LaTeX"
$	write sys$output "    - MakeIndex"
$	write sys$output ""
$	read/end=end/prompt="Generate Dvi- file ? ([Y]/N) : " sys$command dvi
$	if f$edit(f$extract(0,1,dvi),"upcase") .eqs "N"
$	   then
$		write sys$output ""
$		write sys$output "A subdirectory [.NEWS$DOC] will be" + -
		   " created containing a file called"
$		write sys$output "NEWS$DOC.UUE. This file should be" + -
		   " uudecoded manually and the resulting"
$		write sys$output "NEWS$DOC.ZIP should be unzipped. This" + -
		   " archive containes all .TEX- files"
$		write sys$output ""
$	   else
$		write sys$output ""
$		write sys$output "A subdirectory [.NEWS$DOC] will be" + -
		   " created containing a file called"
$		write sys$output "NEWS$DOC.DVI. and a lot of .TEX-" + -
		   " files. The DVI- file should"
$		write sys$output "be converted to you favorite print-" + -
		   " file."
$		write sys$output ""
$	endif
$!
$ start_run:
$!
$	file_counter = 1
$	open/write headers unarc.headers
$	open/write output news$doc.tmp
$!
$ file_loop:
$!
$	current_file = "''p1'.''file_counter'"
$	write sys$output "Processing ''current_file'..."
$	open/read input 'current_file'
$	output = "headers"
$!
$ read_loop:
$!
$	read/end_of_file=end_read input line
$!	if f$locate("+-+-+-",line) .lt. f$length(line) .and. -
!	   f$locate("END",line) .lt. f$length(line) then $ output = "headers"
$	if f$extract(0,6,line) .eqs. "+-+-+-" then $ output = "headers"
$	write 'output' line
$	if f$extract(0,6,line) .eqs. "-+-+-+" then $ output = "output"
$!	if f$locate("+-+-+-",line) .lt. f$length(line) .and. -
!	   f$locate("START",line) .lt. f$length(line) then $ output = "output"
$	goto read_loop
$!
$ end_read:
$!
$	close input
$	file_counter = file_counter + 1
$	if file_counter .eq. 9 then $ goto end_run
$	goto file_loop
$!
$ end_run:
$!
$	close headers
$	close output
$	write sys$output "Format complete"
$	write sys$output "Creating directory News$Doc"
$	write sys$output "Running Archive"
$	create/dir [.news$doc]
$	set default [.news$doc]
$	@[-]news$doc.tmp
$	delete/nolog/noconfirm [-]news$doc.tmp;
$	delete/nolog/noconfirm [-]unarc.headers;
$	if f$edit(f$extract(0,1,dvi),"upcase") .eqs. "N" then $ goto end
$	assign/user TT: sys$input
$	uudecode news$doc.uue
$	if $status then $ delete/nolog/noconfirm news$doc.uue;
$	unzip -j news$doc
$	if $status then $ delete/nolog/noconfirm news$doc.zip;
$	type/page 1news$doc.readme
$	write sys$output ""
$	read/end=end/prompt="Press <Return> to continue" sys$command dummy
$	assign/user TT: sys$input
$	latex news$doc
$	makeindex news$doc
$	latex news$doc
$	assign/user TT: sys$input
$	delete/noconfirm/nolog *.aux;*,*.lis;*,*.toc;*,*.idx;*,*.ind;*,*.ilg;*
$	write sys$output ""
$	write sys$output "Dvi- file created"
$	write sys$output ""
$	goto end
$!
$!******************************************************************************

$!******************************************************************************
$!
$!==>	Something weird happened. A message of the error will be displayed
$!	after which the program exits
$!
$ error_occured:
$!
$	error_status  = "''$status'"
$	error_message = f$message('error_status')
$	on error then $ continue
$	write sys$output ""
$	write sys$output "*** ERROR ***  Some Undefined Error Occured."
$	write sys$output ""
$	write sys$output "-- Status  was  : ''error_status'"
$	write sys$output "-- Message was  : ''error_message'"
$	goto handler
$!
$!******************************************************************************

$!******************************************************************************
$!
$!==>	On errors and interrupts some resets might have to be made
$!
$ handler:
$!
$	set message/notext/nofaci/nosever/noiden
$	close input
$	close output
$	close headers
$	set message/text/faci/sever/iden
$	exit
$!
$!******************************************************************************

$!
$ end:
$!
$	exit
!------------  End News$Doc extractor ------------------------------------------
Newsgroups: comp.os.vms