Mercurial > hg > sv-dependency-builds
diff src/fftw-3.3.3/doc/FAQ/m-lout.pl @ 10:37bf6b4a2645
Add FFTW3
author | Chris Cannam |
---|---|
date | Wed, 20 Mar 2013 15:35:50 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/fftw-3.3.3/doc/FAQ/m-lout.pl Wed Mar 20 15:35:50 2013 +0000 @@ -0,0 +1,242 @@ +## Lout output +# Copyright (C) 1993-1995 Ian Jackson. + +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# It is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with GNU Emacs; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# (Note: I do not consider works produced using these BFNN processing +# tools to be derivative works of the tools, so they are NOT covered +# by the GPL. However, I would appreciate it if you credited me if +# appropriate in any documents you format using BFNN.) + +sub lout_init { + open(LOUT,">$prefix.lout"); + chop($dprint= `date '+%d %B %Y'`); + $dprint =~ s/^0//; +} + +sub lout_startup { + local ($lbs) = &lout_sanitise($user_brieftitle); + print LOUT <<END; +\@SysInclude{ fontdefs } +\@SysInclude{ langdefs } +\@SysInclude{ dl } +\@SysInclude{ docf } +\@Use { \@DocumentLayout + \@OddTop { \@Null } + \@EvenTop { \@Null } + \@StartOddTop { \@Null } + \@StartEvenTop { \@Null } + \@OddFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } + \@EvenFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } + \@StartOddFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } + \@StartEvenFoot { { $lbs } \@Centre{ - \@PageNum - } \@Right{ $dprint } } + \@ParaGap { 1.70vx } + \@InitialBreak { 1.0fx ragged hyphen } +} +\@Use { \@OrdinaryLayout } +END + $lout_textstatus= 'p'; +} + +sub lout_pageref { + print LOUT "Q$_[1] (page {\@PageOf{$_[0]}}) "; + &lout_text("\`"); +} + +sub lout_endpageref { + &lout_text("'"); +} + +sub lout_finish { + print LOUT "\@End \@Text\n"; + close(L); +} + +sub lout_startmajorheading { + $lout_styles .= 'h'; + print LOUT <<END +\@CNP +{ + newpath 0 ysize 0.3 ft sub moveto + xsize 0 rlineto + 0 0.2 ft rlineto + xsize neg 0 rlineto + closepath fill +} \@Graphic { //1.6f \@HAdjust \@Heading{ +END + ; + $endh= "}\n{\@PageMark s_$_[0]}\n/1.0fo\n"; + &lout_text($_[0] ? "Section $_[0]. " : ''); +} + +sub lout_startminorheading { + $lout_styles .= 'h'; + print LOUT "//0.2f \@CNP {\@PageMark $_[0]} \@Heading{\n"; + $endh= ''; +} + +sub lout_endheading { + $lout_styles =~ s/.$//; print LOUT "}\n$endh"; + $lout_status= 'p'; +} + +sub lout_endmajorheading { &lout_endheading(@_); } +sub lout_endminorheading { &lout_endheading(@_); } + +sub lout_courier { + $lout_styles .= 'f'; + print LOUT "{{0.7 1.0} \@Scale {Courier Bold} \@Font {"; +} + +sub lout_endcourier { + $lout_styles =~ s/.$//; print LOUT "}}"; +} + +sub lout_italic { $lout_styles .= 'f'; print LOUT "{Slope \@Font {"; } +sub lout_enditalic { $lout_styles =~ s/.$//; print LOUT "}}"; } + +sub lout_startindent { $lout_styles .= 'i'; print LOUT "\@IndentedDisplay {\n"; } + +sub lout_endindent { + &lout_endpara; + $lout_styles =~ s/.$//; print LOUT "}\n\@LP\n"; +} + +sub lout_startpackedlist { $lout_plc=-1; } +sub lout_endpackedlist { &lout_newline if !$lout_plc; } +sub lout_packeditem { + &lout_newline if !$lout_plc; + &lout_tab(($lout_plc>0)*40+5); + $lout_plc= !$lout_plc; +} + +sub lout_startlist { + &lout_endpara; + print LOUT "\@RawIndentedList style {\@Bullet} indent {0.5i} gap {1.1vx}\n"; + $lout_styles .= 'l'; + $lout_status= ''; +} + +sub lout_endlist { + &lout_endpara; + print LOUT "\@EndList\n\n"; + $lout_styles =~ s/.$//; +} + +sub lout_item { + &lout_endpara; + print LOUT "\@ListItem{"; + $lout_styles.= 'I'; +} + +sub lout_startindex { + print LOUT "//0.0fe\n"; +} + +sub lout_endindex { + $lout_status='p'; +} + +sub lout_startindexmainitem { + $lout_marker= $_[0]; + $lout_status= ''; + print LOUT "//0.3vx Bold \@Font \@HAdjust { \@HContract { { $_[1] } |3cx {"; + $lout_iiendheight= '1.00'; + $lout_styles .= 'X'; +} + +sub lout_startindexitem { + $lout_marker= $_[0]; + print LOUT "\@HAdjust { \@HContract { { $_[1] } |3cx {"; + $lout_iiendheight= '0.95'; + $lout_styles .= 'X'; +} + +sub lout_endindexitem { + print LOUT "} } |0c \@PageOf { $lout_marker } } //${lout_iiendheight}vx\n"; + $lout_styles =~ s/.$//; +} + +sub lout_email { &lout_courier; &lout_text('<'); } +sub lout_endemail { &lout_text('>'); &lout_endcourier; } + +sub lout_ftpon { &lout_courier; } sub lout_endftpon { &lout_endcourier; } +sub lout_ftpin { &lout_courier; } sub lout_endftpin { &lout_endcourier; } +sub lout_docref { } sub lout_enddocref { } +sub lout_ftpsilent { $lout_ignore++; } +sub lout_endftpsilent { $lout_ignore--; } + +sub lout_newsgroup { &lout_courier; } +sub lout_endnewsgroup { &lout_endcourier; } + +sub lout_text { + return if $lout_ignore; + $lout_status= 'p'; + $_= &lout_sanitise($_[0]); + s/ $/\n/ unless $lout_styles =~ m/[fhX]/; + print LOUT $_; +} + +sub lout_tab { + local ($size) = $_[0]*0.5; + print LOUT " |${size}ft "; +} + +sub lout_newline { + print LOUT " //1.0vx\n"; +} + +sub lout_sanitise { + local ($in) = @_; + local ($out); + $in= ' '.$in.' '; + $out=''; + while ($in =~ m/(\s)(\S*[\@\/|\\\"\^\&\{\}\#]\S*)(\s)/) { + $out .= $`.$1; + $in = $3.$'; + $_= $2; + s/[\\\"]/\\$&/g; + $out .= '"'.$_.'"'; + } + $out .= $in; + $out =~ s/^ //; $out =~ s/ $//; + $out; +} + +sub lout_endpara { + return if $lout_status eq ''; + if ($lout_styles eq '') { + print LOUT "\@LP\n\n"; + } elsif ($lout_styles =~ s/I$//) { + print LOUT "}\n"; + } + $lout_status= ''; +} + +sub lout_startverbatim { + print LOUT "//0.4f\n\@RawIndentedDisplay lines \@Break". + " { {0.7 1.0} \@Scale {Courier Bold} \@Font {\n"; +} + +sub lout_verbatim { + $_= $_[0]; + s/^\s*//; + print LOUT &lout_sanitise($_),"\n"; +} + +sub lout_endverbatim { print LOUT "}\n}\n//0.4f\n"; } + +1;