in reply to Re^2: combining lists, formatting and printing on windows
in thread combining lists, formatting and printing on windows

Where do I put the backslash sequences to create a right margin of 4000 twips?

I seem to have figured this out by a lot of error and trial:

sub format_texts { use strict; use 5.010; use RTF::Writer; my ( $rvars, $reftext1 ) = @_; my %vars = %$rvars; my $text1 = $$reftext1; my $rtf = RTF::Writer->new_to_file( $vars{word} ); $rtf->prolog( 'title' => "List of fears", ); $rtf->number_pages; $rtf->paragraph(\'\qc\f0\fs120\b ', "Fears"); $rtf->paragraph(\'\ri3000\li-500\f0\fs30\b0\ql',$text1); $rtf->close;

This creates a centered, oversized headline and then sets a left indent of negative 500 twips (moving it left a centimeter or so), and a right indent of 3000 twips, which, with the rather large default margins creates the space on the right side of the page that I wanted. Screenshot of output on Tinypic

I was wrong to expect the title to print out: it's not supposed to. I was also wrong that the page number didn't print out. The reference that got me over the hump on rtf syntax was Sean Burke's summary of rtf syntax . Also informative was MS specification of rtf on sourceforge

Still puzzled why "Fear of" doesn't get inserted with this substitution:

for (@fears) { s/\s+$/ /; $_ = lc($_); s/^(\d+\. )(.) /$1 Fear of $2/; }

Replies are listed 'Best First'.
Re^4: combining lists, formatting and printing on windows
by soonix (Chancellor) on Apr 20, 2015 at 11:47 UTC

    There is a space after the (.)> in s/^(\d+\. )(.)_/ (where I put the underscore).

    As for the right place for the margin settings, I would have supposed it should go into the prolog, but my experiments seem to indicate this particular setting is stored outside of the RTF file (perhaps in a stylesheet) (at least by WordPad) Aargh! reading the docs is better than experimenting (sometimes). A simple $rtf->print( \'\margl567\margr567' ); after the Prolog sets the left and right margin to 1cm.