.\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "SCURVY 1" .TH SCURVY 1 "2004-11-01" "scurvy" "" .UC scurvy \- Format scripts / screenplays .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBscurvy\fR [options] <\fIfile\fR> [\fI\-o\ <\fIfile\fI>\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" scurvy converts text files in a simple format into proper screenplay format. It's something I wrote because I hate using snifty \s-1GUI\s0 editors when I believe a text editor is all you need. .PP .Vb 1 \& "If you can't vi it, it sucks" .Ve It takes a text file as input and outputs a screenplay. More formats may occur someday.. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-out\fR \fIfile\fR" 4 .IX Item "-out file" Set the output file (otherwise write to standard out) .IP "\fB\-c\fR" 4 .IX Item "-c" Number the scene headings (\s-1INT/EXT\s0) .IP "\fB\-C\fR" 4 .IX Item "-C" Show the \*(L"\s-1CONTINUED\s0\*(R" page breaks .IP "\fB\-i\fR" 4 .IX Item "-i" Add the left margin indentation. (Good for final print) .IP "\fB\-indent\fR \fItabs\fR" 4 .IX Item "-indent tabs" Add the left margin indentation with a specific number of tabs. .IP "\fB\-in_indent\fR \fItabs\fR" 4 .IX Item "-in_indent tabs" Specify the extra number of indent tabs in the input file. (Defaults to three for 'final' input format) .IP "\fB\-n\fR" 4 .IX Item "-n" Show page/line numbers .IP "\fB\-I\fR \fIfmt\fR" 4 .IX Item "-I fmt" Specify the input format: .Sp \&\fBscurvy\fR Our simple input format (described below) .Sp \&\fBtext\fR The default text script output (can be an input format also) .Sp \&\fBfinal\fR Final Draft format (text\-with\-layout) .Sp \&\fBrtf\fR \s-1RTF\s0 (input only) format Using the Final Draft style sheet with styles: \s-1GENERAL\s0 \s-1SCENE\s0 \s-1HEADING\s0 \s-1ACTION\s0 \s-1CHARACTER\s0 \s-1NAME\s0 \s-1PARENTHETICAL\s0 \s-1DIALOG\s0 \s-1TRANSITION\s0 \s-1SHOT\s0 .Sp If you want to convert a Final Draft document so you can edit it in scurvy, then first save it as text-with-layout \- we'll call this file 'mymovie.fdr' .Sp Then you can use scurvy to convert this to scurvy format: .Sp % scurvy \-I final mymovie.fdr \-O scurvy \-o mymovie.scr .Sp It's possible you'll get an error if your margins are different \- the default margins should be read correctly, but if not try adjusting \-in_indent. .Sp You can also try saving as \s-1RTF\s0 and then reading in the \s-1RTF\s0, though this isn't guaranteed to work with all versions of Final Draft. If you have a different script writer that does \s-1RTF\s0 output, I'd love to see a sample copy. To convert rtf we would save as rtf and: .Sp % scurvy \-I rtf mymovie.rtf \-O scurvy \-o mymovie.scr .Sp Then you can edit mymovie.scr and get the final output with scurvy: .Sp % scurvy mymovie.scr \-o mymovie.txt .Sp You will, of course, lose any aliases you may have had. Try a simple search and replace. For example, to convert the name \*(L"Dave\*(R" to be an alias \*(L"D\*(R" you can add the alias line to the top: .Sp .Vb 1 \& Dv:=Dave Madison .Ve And then do the search and replace (example using vi/vim): .Sp .Vb 2 \& :%s/^Dave Madison/Dv:/ \& :%s/^Dave Madison (/Dv (/ .Ve (The second line is for quotes with parenthesis) .IP "\fB\-O\fR \fIfmt\fR" 4 .IX Item "-O fmt" Specify the output format. (Same formats as input) .SH "SCURVY FORMAT" .IX Header "SCURVY FORMAT" There are five types of line formats: heading, action, dialogue, transition, general. Each type \fBmust\fR be on it's own line. (Use \fI:set wrap\fR in vi/vim to make it easier to edit) .IP "\fBscene heading\fR" 4 .IX Item "scene heading" Scene headings are automatically recognized since they start with \s-1INT\s0 or \s-1EXT\s0. .IP "\fBaction\fR" 4 .IX Item "action" Action lines start after one tab. .IP "\fBtransition\fR" 4 .IX Item "transition" Transition lines start after two tabs .IP "\fBdialogue\fR" 4 .IX Item "dialogue" Dialogue follows the characters name, a colon and a tab. Some examples: .Sp .Vb 3 \& Dave: I think we should go shopping! \& God (V.O.): That's a bad idea, Dave \& Dave: (pondering) You're probably right. .Ve Parentheticals go after the colon, but V.O., O.S. go before. .IP "\fBgeneral\fR" 4 .IX Item "general" Generals are just regular text not prefaced by tabs. .IP "\fBcomments\fR" 4 .IX Item "comments" Any line that starts with a '#' character is ignored. .SH "ALIASES" .IX Header "ALIASES" Aliases for characters can be defined on any line: .PP .Vb 1 \& D:=Dave .Ve And then they can be used as the character speaking dialogue: .PP .Vb 1 \& D: I think we should go shopping! .Ve Or in any line of text if inside {curly braces} .PP .Vb 1 \& God (V.O.): That's a bad idea, {D} .Ve .SH "EXAMPLE" .IX Header "EXAMPLE" Here's an example input file: .PP .Vb 8 \& D:=Dave (aliases for characters look like this) \& INT. SCENE HEADING - DAY \& Actions have one tab \& Transitions have two tabs \& General text is just plain text. \& Dave: dialogue follows the ":" \& John (V.O.): voice overs go before the : \& D: (using an alias!) And parentheticals go after! .Ve .SH "BUGS" .IX Header "BUGS" Garbage in, garbage out. .PP When reading 'final' or 'text' formats, it's impossible to differentiate between a new '\s-1GENERAL\s0' line or a continuation of an '\s-1ACTION\s0' line since they look the same. Sad but true. Hence I assume them to all be ACTIONs. .PP The different format parsing/output is somewhat beta \- if you find any bugs please send me an example script and the problem. .SH "AUTHOR" .IX Header "AUTHOR" David Ljung Madison