diff options
author | Ralph Amissah <ralph@amissah.com> | 2013-02-22 21:49:29 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2013-02-22 21:49:29 -0500 |
commit | ddb044eee0b419c83eee7101cfd36798936200b4 (patch) | |
tree | 386804f30fff52c3f27be4dab8d6b74db7113942 | |
parent | debian/changelog (4.0.8-1) (diff) | |
parent | v4: documentation, sisu markup (sisu_markup.sst, man page sisu.1, sisu.1.html) (diff) |
Merge tag 'sisu_4.0.9' into debian/sid
SiSU 4.0.9
-rw-r--r-- | data/doc/sisu/CHANGELOG_v4 | 14 | ||||
-rw-r--r-- | data/doc/sisu/html/sisu.1.html | 18 | ||||
-rw-r--r-- | data/doc/sisu/markup-samples/v4/sisu_manual/sisu_markup.sst | 16 | ||||
-rw-r--r-- | data/sisu/v4/conf/editor-syntax-etc/emacs/sisu-mode.el | 6 | ||||
-rw-r--r-- | data/sisu/v4/conf/editor-syntax-etc/vim/syntax/sisu.vim | 6 | ||||
-rw-r--r-- | data/sisu/v4/v/version.yml | 6 | ||||
-rw-r--r-- | lib/sisu/v4/constants.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v4/dal_doc_str.rb | 3 | ||||
-rw-r--r-- | lib/sisu/v4/dal_numbering.rb | 4 | ||||
-rw-r--r-- | lib/sisu/v4/dal_syntax.rb | 3 | ||||
-rw-r--r-- | lib/sisu/v4/epub_format.rb | 2 | ||||
-rw-r--r-- | lib/sisu/v4/manpage.rb | 18 | ||||
-rw-r--r-- | lib/sisu/v4/odf.rb | 10 | ||||
-rw-r--r-- | lib/sisu/v4/odf_format.rb | 5 | ||||
-rw-r--r-- | lib/sisu/v4/options.rb | 4 | ||||
-rw-r--r-- | lib/sisu/v4/param.rb | 15 | ||||
-rw-r--r-- | lib/sisu/v4/param_make.rb | 14 | ||||
-rw-r--r-- | lib/sisu/v4/plaintext.rb | 3 | ||||
-rw-r--r-- | lib/sisu/v4/shared_xml.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v4/texpdf.rb | 1 | ||||
-rw-r--r-- | man/man1/sisu.1 | 17 |
21 files changed, 125 insertions, 43 deletions
diff --git a/data/doc/sisu/CHANGELOG_v4 b/data/doc/sisu/CHANGELOG_v4 index eedd132d..b8d88e1b 100644 --- a/data/doc/sisu/CHANGELOG_v4 +++ b/data/doc/sisu/CHANGELOG_v4 @@ -21,6 +21,20 @@ v2 branch is removed; it is available in sisu =< 3.3.2 %% Reverse Chronological: +%% 4.0.9.orig.tar.xz (2013-02-22:07/5) +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.9 +http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/debian/sisu_4.0.9-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_4.0.9.orig.tar.xz + sisu_4.0.9.orig.tar.xz + sisu_4.0.9-1.dsc + +* v4: dal, line across page divider -..- introduced, an alternative to page + break -\\- & =\\=, affects pdf and odf most significantly + * output formats modified to include, (pdf, odf, epub, html, plaintext) + * vim syntax, sisu.vim + * emacs, sisu-mode.el + * documentation, sisu_markup.sst, man page sisu.1, sisu.1.html + %% 4.0.8.orig.tar.xz (2013-02-20:07/3) http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/sisu_4.0.8 http://sources.sisudoc.org/gitweb/?p=code/sisu.git;a=shortlog;h=refs/tags/debian/sisu_4.0.8-1 diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html index 3d852a3e..56535d2e 100644 --- a/data/doc/sisu/html/sisu.1.html +++ b/data/doc/sisu/html/sisu.1.html @@ -372,8 +372,7 @@ invoked by --dump & redirect). </dd> <dd>see --dal (document abstraction level/layer) </dd> <dt><b>--machine [filename/wildcard/url]</b> </dt> -<dd>see --dal (document abstraction -level/layer) </dd> +<dd>see --dal (document abstraction level/layer) </dd> <dt><b>--maintenance [filename/wildcard/url]</b> </dt> <dd>maintenance mode, interim @@ -381,8 +380,7 @@ processing files are preserved and their locations indicated. (also see -V). Aliases -M and --keep-processing-files. </dd> <dt><b>--manpage [filename/wildcard]</b> </dt> -<dd>produces -man page of file, not suitable for all outputs. Alias -i </dd> +<dd>produces man page of file, not suitable for all outputs. Alias -i </dd> <dt><b>-N [filename/wildcard/url]</b> </dt> <dd>document digest or document content certificate ( DCC ) as md5 digest tree @@ -1900,18 +1898,24 @@ or breaks the page, starts a new page. <p> page break -\- or breaks a column, starts a new column, if using columns, else breaks the page, starts a new page. -<p> <br> +<p> page break line across page -..- draws a dividing line, dividing paragraphs + +<p> page break: <br> <pre>-\\- or <:pb> </pre> -<p> or -<p> <br> +<p> +<p> page (break) new: <br> <pre>=\\= or <:pn> </pre> <p> +<p> page (break) line across page (dividing paragraphs): <br> +<pre>-..- +</pre> +<p> <h2><a name='sect43' href='#toc43'>Book Index</a></h2> <p> To make an index append to paragraph the book index term relates diff --git a/data/doc/sisu/markup-samples/v4/sisu_manual/sisu_markup.sst b/data/doc/sisu/markup-samples/v4/sisu_manual/sisu_markup.sst index 98377850..92b7f430 100644 --- a/data/doc/sisu/markup-samples/v4/sisu_manual/sisu_markup.sst +++ b/data/doc/sisu/markup-samples/v4/sisu_manual/sisu_markup.sst @@ -1162,6 +1162,8 @@ may be used. The html break br enclosed in angle brackets (though undocumented) is available in versions prior to 3.0.13 and 2.9.7 (it remains available for the time being, but is depreciated). +To draw a dividing line dividing paragraphs, see the section on page breaks. + 3~ page breaks Page breaks are only relevant and honored in some output formats. A page break or a new page may be inserted manually using the following markup on a line on its own: @@ -1170,6 +1172,10 @@ page new =\\= or <:pn> breaks the page, starts a new page. page break -\\- or <:pb> breaks a column, starts a new column, if using columns, else breaks the page, starts a new page. +page break line across page -..- draws a dividing line, dividing paragraphs + +page break: + code{ -\\- @@ -1180,7 +1186,7 @@ or }code -or +page (break) new: code{ @@ -1192,6 +1198,14 @@ or }code +page (break) line across page (dividing paragraphs): + +code{ + +-..- + +}code + 2~ Book index To make an index append to paragraph the book index term relates to it, using an equal sign and curly braces. diff --git a/data/sisu/v4/conf/editor-syntax-etc/emacs/sisu-mode.el b/data/sisu/v4/conf/editor-syntax-etc/emacs/sisu-mode.el index 1fb0feec..fc0589d8 100644 --- a/data/sisu/v4/conf/editor-syntax-etc/emacs/sisu-mode.el +++ b/data/sisu/v4/conf/editor-syntax-etc/emacs/sisu-mode.el @@ -3,7 +3,7 @@ ;; @Keywords: text, syntax, processes, tools ;; @Version: 4.0.8 2013-02-17 (3.0.7 2011-04-20) (2008-12-14) ;; [3.0.7 2011-04-20 Ambrose Kofi Laing & Ralph Amissah] -;; [4.0.8 2013-02-17 Ralph Amissah] +;; [4.0.9 2013-02-22 Ralph Amissah] ;; @URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/emacs/sisu-mode.el;hb=HEAD> ;; @Copyright: Assigned to FSF 2011-04-08 (GNU EMACS) ;; @License: GPLv3 @@ -257,8 +257,10 @@ (cons "\\(^\\|[ ]\\)http:[/][/][^ \t\n\r<]+" 'general-font-lock-blue2) ;; Comment Lines (cons "^% .*" 'general-font-lock-blue1) + ;; page break + (cons "^\\(-\\\\\\\\-\\|=\\\\\\\\=\\|-\\.\\.-\\)" 'general-font-lock-red2) ;; line break - (cons " \\\\\\\\ " 'general-font-lock-red1) + (cons " \\\\\\\\ " 'general-font-lock-red1) ;; line break (depreciated) (cons "<br>" 'general-font-lock-red1) ;; Section titles diff --git a/data/sisu/v4/conf/editor-syntax-etc/vim/syntax/sisu.vim b/data/sisu/v4/conf/editor-syntax-etc/vim/syntax/sisu.vim index 7edcf208..d21d04f3 100644 --- a/data/sisu/v4/conf/editor-syntax-etc/vim/syntax/sisu.vim +++ b/data/sisu/v4/conf/editor-syntax-etc/vim/syntax/sisu.vim @@ -1,7 +1,7 @@ " SiSU Vim syntax file " SiSU Maintainer: Ralph Amissah <ralph@amissah.com> -" SiSU Markup: SiSU (sisu-4.0.0) -" Last Change: 2012-11-16 +" SiSU Markup: SiSU (sisu-4.0.9) +" Last Change: 2013-02-22 " URL: <http://git.sisudoc.org/?p=code/sisu.git;a=blob;f=data/sisu/v3/conf/editor-syntax-etc/vim/syntax/sisu.vim;hb=HEAD> "(originally looked at Ruby Vim by Mirko Nasato) @@ -21,7 +21,7 @@ syn match sisu_error contains=sisu_link,sisu_error_wspace "<![^ei]\S\+!>" if !exists("sisu_no_identifiers") syn match sisu_mark_endnote "\~^" syn match sisu_break contains=@NoSpell " \\\\\( \|$\)\|<br>\|<br />" - syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|<:p[bn]>\)\s*$" + syn match sisu_control contains=@NoSpell "^\(-\\\\-\|=\\\\=\|-\.\.-\|<:p[bn]>\)\s*$" syn match sisu_control contains=@NoSpell "^<:\(bo\|---\)>\s*$" syn match sisu_marktail "[~-]#" syn match sisu_control "\"" diff --git a/data/sisu/v4/v/version.yml b/data/sisu/v4/v/version.yml index 4f2891e2..447a2e9e 100644 --- a/data/sisu/v4/v/version.yml +++ b/data/sisu/v4/v/version.yml @@ -1,5 +1,5 @@ --- -:version: 4.0.8 -:date_stamp: 2013w07/3 -:date: "2013-02-20" +:version: 4.0.9 +:date_stamp: 2013w07/5 +:date: "2013-02-22" :project: SiSU diff --git a/lib/sisu/v4/constants.rb b/lib/sisu/v4/constants.rb index 505fdc02..fe4e895f 100644 --- a/lib/sisu/v4/constants.rb +++ b/lib/sisu/v4/constants.rb @@ -102,6 +102,7 @@ Mx={ br_nl: '╲', #lB ▌ 』 ┘ br_paragraph: '█', #FB █ 9608 # PP ∥ 8741 #▐ #'┘' #'¶' #FB █ 9608 lB ▌ 9612 RB ▐ 9616 br_obj: 'break_obj', + br_page_line: '▭', br_page: '┼', br_page_new: '╋', lnk_o: '⌠', lnk_c: '⌡', #'⌈' '⌋' '⌠' '⌡' #Mx[:lnk_o: '◁'; Mx[:lnk_c: '▷' #‹ › @@ -139,6 +140,7 @@ Mx[:pa_non_object_dummy_heading]="#{Mx[:pa_o]}-##{Mx[:pa_c]}" # Mx[:pa_non_object_no_heading]="#{Mx[:pa_o]}~##{Mx[:pa_c]}" #unnumbered paragraph (place marker at end of paragraph) Hx={ br_obj: { obj: Mx[:br_obj] }, # line sep + br_page_line: { obj: Mx[:br_page_line] }, # line across page br_page: { obj: Mx[:br_page] }, # newpage br_page_new: { obj: Mx[:br_page_new] }, # clearpage } diff --git a/lib/sisu/v4/dal_doc_str.rb b/lib/sisu/v4/dal_doc_str.rb index ddae0af0..dfea4ad4 100644 --- a/lib/sisu/v4/dal_doc_str.rb +++ b/lib/sisu/v4/dal_doc_str.rb @@ -75,6 +75,7 @@ module SiSU_DAL_DocumentStructureExtract SiSU_DAL_DocumentStructureExtract::Instantiate.new @pb=SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page]) @pbn=SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new]) + @pbl=SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line]) end def ln_get(lv) ln=case lv @@ -243,6 +244,8 @@ module SiSU_DAL_DocumentStructureExtract SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page],:markup) when /^(?:=\\\\=|<:pn>)\s*$/ #[br:pgn] SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new],:markup) + when /^-\.\.-\s*$/ #[br:pgl] + SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line],:markup) else #paragraph image=image_test(t_o) note=endnote_test?(t_o) diff --git a/lib/sisu/v4/dal_numbering.rb b/lib/sisu/v4/dal_numbering.rb index f3750065..258911d2 100644 --- a/lib/sisu/v4/dal_numbering.rb +++ b/lib/sisu/v4/dal_numbering.rb @@ -347,13 +347,15 @@ module SiSU_DAL_Numbering @seg=dob.name end @tuned_file << if dob.is==:heading \ - && (@md.pagenew || @md.pagebreak) + && (@md.pagenew || @md.pagebreak || @md.pageline) m=dob.ln.to_s dob_tmp=[] if @md.pagenew.inspect =~/#{m}/ dob_tmp << SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_new]) << dob elsif @md.pagebreak.inspect =~/#{m}/ dob_tmp << SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page]) << dob + elsif @md.pageline.inspect =~/#{m}/ + dob_tmp << SiSU_DAL_DocumentStructure::ObjectLayout.new.break(Hx[:br_page_line]) << dob end para_result=unless dob_tmp.length > 0; dob else dob_tmp diff --git a/lib/sisu/v4/dal_syntax.rb b/lib/sisu/v4/dal_syntax.rb index 069b45ed..eeaca1a5 100644 --- a/lib/sisu/v4/dal_syntax.rb +++ b/lib/sisu/v4/dal_syntax.rb @@ -147,7 +147,8 @@ module SiSU_DAL_Syntax gsub(/ \\\\(?: |$)/,"#{Mx[:br_line]}"). gsub(/(?:<:?pb>)/,"#{Mx[:br_page]}"). # depreciated gsub(/(?:<:?pn>)/,"#{Mx[:br_page_new]}"). # depreciated - gsub(/(?:<:?br>|<br \/>)/,"#{Mx[:br_line]}") # depreciated + gsub(/(?:<:?br>|<br \/>)/,"#{Mx[:br_line]}"). # depreciated + gsub(/(?:^-\.\.-\s*$)/,"#{Mx[:br_page_line]}") end dob end diff --git a/lib/sisu/v4/epub_format.rb b/lib/sisu/v4/epub_format.rb index 98f4d7e4..49139667 100644 --- a/lib/sisu/v4/epub_format.rb +++ b/lib/sisu/v4/epub_format.rb @@ -1971,7 +1971,7 @@ output_epub_cont_seg.close para_form_css('p','norm',@txt) end def break - @txt=@txt.gsub(/#{Mx[:br_page_new]}|#{Mx[:br_page]}/,'<hr /><br />'). + @txt=@txt.gsub(/#{Mx[:br_page_new]}|#{Mx[:br_page]}|#{Mx[:br_page_line]}/,'<hr /><br />'). gsub(/#{Mx[:br_obj]}/,'<hr style="width:30%" /><br />') para_form_css('p','norm',@txt) end diff --git a/lib/sisu/v4/manpage.rb b/lib/sisu/v4/manpage.rb index 9afc56eb..3b85183c 100644 --- a/lib/sisu/v4/manpage.rb +++ b/lib/sisu/v4/manpage.rb @@ -312,27 +312,27 @@ WOK gsub(/#{Mx[:gl_o]}#169#{Mx[:gl_c]}/,'©') else dob.obj=dob.obj.gsub(/\\/,'\e'). - gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n") # watch + gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})\s*/,"\n") # watch end - dob.obj=dob.obj.gsub(/(^| |#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*'). #man page requires + dob.obj=dob.obj.gsub(/(^| |#{Mx[:nbsp]}|\s|\*)\\\*/,'\1\\\\\*'). #man page requires gsub(/┆/,'|'). - gsub(/^(\.\S{3,})/m,' \1') # ^\. used by interpreter, disable when use not intended + gsub(/^(\.\S{3,})/m,' \1') # ^\. used by interpreter, disable when use not intended dob.obj=dob.obj.gsub(/~/,'~') if dob.obj #manpages use this if dob.is ==:code dob.obj=dob.obj.gsub(/(^|[^}])_([<>])/m,'\1\2'). # _> _< gsub(/(^|[^}])_([<>])/m,'\1\2'). # _<_< - gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+(\s*)/m,"\n\\1"). # watch + gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+(\s*)/m,"\n\\1"). # watch gsub(/\A(.+?)\s*\Z/m,".nf\n\\1\n.fi") end - dob.obj=dob.obj.gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/m,"\n\n") # watch + dob.obj=dob.obj.gsub(/(?:#{Mx[:br_line]}|#{Mx[:br_nl]})+\s*/m,"\n\n") # watch blit=dob.obj.scan(/\[[^\]]+\]|[^\[]+/) blit_array=[] - dob.obj=dob.obj.gsub(/#{Mx[:gl_o]}:name#\S+?#{Mx[:gl_c]}/mi,''). #added - gsub(/#{Mx[:br_page]}\s*|#{Mx[:br_page_new]}/,''). # remove page breaks + dob.obj=dob.obj.gsub(/#{Mx[:gl_o]}:name#\S+?#{Mx[:gl_c]}/mi,''). #added + gsub(/#{Mx[:br_page]}\s*|#{Mx[:br_page_new]}|#{Mx[:br_page_line]}/,''). # remove page breaks, you may wish to have a line across the page break instead gsub(/(^|#{Mx[:gl_c]}|\s)#{Mx[:url_o]}_(\S+?)#{Mx[:url_c]}/,'\1\2'). gsub(/<a href=".+?">(.+?)<\/a>/m,'\1'). - gsub(/#{Mx[:mk_o]}name#\S+?#{Mx[:mk_c]}/,''). # remove name links - gsub(/ |#{Mx[:nbsp]}/,' '). # decide on + gsub(/#{Mx[:mk_o]}name#\S+?#{Mx[:mk_c]}/,''). # remove name links + gsub(/ |#{Mx[:nbsp]}/,' '). # decide on gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}#{Mx[:url_o]}\S+?#{Mx[:url_c]}/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") gsub(/(?:^|[^_\\])#{Mx[:lnk_o]}\s*(\S+?\.(?:png|jpg|gif)) .+?#{Mx[:lnk_c]}image/,' [ \1 ]'). #"[ #{dir.url.images_local}\/\\1 ]") gsub(/^(?:^|[^_\\])#{Mx[:lnk_o]}\s*\S+?\.(?:png|jpg|gif)\s+.+?"(.*?)"\s*#{Mx[:lnk_c]}\S+/,'[image: "\1"]') diff --git a/lib/sisu/v4/odf.rb b/lib/sisu/v4/odf.rb index ca02d16a..c3746b06 100644 --- a/lib/sisu/v4/odf.rb +++ b/lib/sisu/v4/odf.rb @@ -191,9 +191,11 @@ module SiSU_ODF @@fns=@md.fns end unless @@docstart - breakpage=if (@md.pagenew or @md.pagebreak) \ - and (@md.pagenew =~ m or @md.pagebreak =~m) + breakpage=if (@md.pagenew || @md.pagebreak) \ + and (@md.pagenew =~m or @md.pagebreak =~m) '<text:p text:style-name="P_normal_page_new"> </text:p>' + elsif @md.pageline \ + and @md.pageline =~m #fix else '' end end @@ -526,6 +528,8 @@ module SiSU_ODF if dob.obj==Mx[:br_page] \ or dob.obj==Mx[:br_page_new] dob=br.br_page + elsif dob.obj==Mx[:br_page_line] + dob=br.br_page_line elsif dob.obj==Mx[:br_obj] dob=br.obj_sep end @@ -725,6 +729,8 @@ WOK breakpage=if @md.pagenew \ or @md.pagebreak ' fo:break-before="page"' + elsif @md.pageline ##fix + '' else '' end x=<<WOK diff --git a/lib/sisu/v4/odf_format.rb b/lib/sisu/v4/odf_format.rb index b86fcb1f..b1eb51ae 100644 --- a/lib/sisu/v4/odf_format.rb +++ b/lib/sisu/v4/odf_format.rb @@ -650,6 +650,11 @@ WOK @t_o.obj='<text:p text:style-name="P_page_break"> </text:p>' @t_o end + def br_page_line + sep='_' + @t_o.obj=%{<text:p text:style-name="P_normal">#{sep*60}</text:p>} + @t_o + end def obj_sep #center later sep='--- ' @t_o.obj=%{<text:p text:style-name="P_normal">#{sep*20}</text:p>} diff --git a/lib/sisu/v4/options.rb b/lib/sisu/v4/options.rb index 61586009..6e5f7ca4 100644 --- a/lib/sisu/v4/options.rb +++ b/lib/sisu/v4/options.rb @@ -70,7 +70,7 @@ module SiSU_Commandline @make_instruct_array=make_instruct_array end def sisu_document_make_instructions - @pagenew=@pagebreak=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@num_top=@i18n=@man_section=@emphasis_set_to=@bold_match_list=@italics_match_list=@substitution_match_list=@footer_links=@home_button_links=@links=nil + @pagenew=@pagebreak=@pageline=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@num_top=@i18n=@man_section=@emphasis_set_to=@bold_match_list=@italics_match_list=@substitution_match_list=@footer_links=@home_button_links=@links=nil @makeset=false if @make_instruct_array @make_instruct_array.each do |para| #% scan document @@ -83,6 +83,7 @@ module SiSU_Commandline @makeset=true @pagenew=makes[:pagenew] @pagebreak=makes[:pagenew] + @pageline=makes[:pageline] @toc=makes[:toc] @lv1=makes[:lv1] @lv2=makes[:lv2] @@ -111,6 +112,7 @@ module SiSU_Commandline { makeset: @makeset, pagenew: @pagenew, pagebreak: @pagebreak, + pageline: @pageline, toc: @toc, lv1: @lv1, lv2: @lv2, diff --git a/lib/sisu/v4/param.rb b/lib/sisu/v4/param.rb index 1bfd8b3d..375e2af8 100644 --- a/lib/sisu/v4/param.rb +++ b/lib/sisu/v4/param.rb @@ -830,9 +830,9 @@ module SiSU_Param @doc={ lv: [] } @doc[:fns],@doc[:fnb],@doc[:scr_suffix]='','','' @@publisher='SiSU scribe' - attr_accessor :make,:env,:path,:file,:fn,:fns,:fno,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:sisu,:sisu_version,:ruby_version,:title,:subtitle,:full_title,:html_title,:subtitle_tex,:creator,:classify,:author_home,:author,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:subject,:description,:publisher,:current_publisher,:contributor,:date,:date_created,:date_issued,:date_available,:date_valid,:date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:type,:format,:identifier,:source,:language,:language_original,:relation,:coverage,:rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:lvs,:pagenew,:pagebreak,:num_top,:bold_match_list,:italics_match_list,:substitution_match_list,:emphasis_set_to,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:markup,:markup_instruction,:markup_version,:markup_declared,:flag_tables,:vocabulary,:doc_css,:yaml,:lnk,:links,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:filesize,:user,:home,:hostname,:pwd,:firstseg,:programs,:author_copymark,:i18n,:lang,:lang_code_insert,:en,:notes,:dgst,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original,:writing_focus,:audio,:daisy,:home_button_image,:home_button_links,:footer_links,:cover_image,:man_section + attr_accessor :make,:env,:path,:file,:fn,:fns,:fno,:fnb,:fnn,:fnt,:fnl,:flv,:fnz,:fnstex,:ocn,:sfx_src,:pdf,:file_type,:dir_out,:dir_tex,:dir_lout,:txt_path,:sisu,:sisu_version,:ruby_version,:title,:subtitle,:full_title,:html_title,:subtitle_tex,:creator,:classify,:author_home,:author,:author_title,:author_nationality,:authors,:authorship,:translator,:illustrator,:prepared_by,:digitized_by,:subject,:description,:publisher,:current_publisher,:contributor,:date,:date_created,:date_issued,:date_available,:date_valid,:date_modified,:date_translated,:date_added_to_site,:date_scheme,:date_created_scheme,:date_issued_scheme,:date_available_scheme,:date_valid_scheme,:date_modified_scheme,:type,:format,:identifier,:source,:language,:language_original,:relation,:coverage,:rights,:keywords,:comments,:abstract,:cls_loc,:cls_dewey,:cls_pg,:cls_isbn,:papersize,:papersize_array,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:lvs,:pagenew,:pagebreak,:pageline,:num_top,:bold_match_list,:italics_match_list,:substitution_match_list,:emphasis_set_to,:toc_lev_limit,:flag_endnotes,:flag_auto_endnotes,:flag_separate_endnotes,:flag_separate_endnotes_make,:markup,:markup_instruction,:markup_version,:markup_declared,:flag_tables,:vocabulary,:doc_css,:yaml,:lnk,:links,:prefix_a,:prefix_b,:suffix,:information,:contact,:icon,:image,:ad_url,:ad_png,:ad_alt,:ad_began,:flag_promo,:promo,:ad_home,:stmp,:stmpd,:sc_filename,:sc_number,:sc_date,:sc_time,:sc_info,:yamladdr,:locale,:wc_lines,:wc_words,:wc_bytes,:file_encoding,:filesize,:user,:home,:hostname,:pwd,:firstseg,:programs,:author_copymark,:i18n,:lang,:lang_code_insert,:en,:notes,:dgst,:generated,:tags,:tag_array,:concord_make,:seg_names,:seg_autoname_safe,:set_header_title,:set_heading_top,:set_heading_seg,:heading_seg_first,:heading_seg_first_flag,:base_program,:ec,:opt,:sem_tag,:book_idx,:topic_register,:topic_register_array,:original,:writing_focus,:audio,:daisy,:home_button_image,:home_button_links,:footer_links,:cover_image,:man_section def initialize(fns_array,opt) - @env=@path,@file=@fn=@fns=@fno=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@make=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@sisu=@sisu_version=@ruby_version=@title=@subtitle=@full_title=@html_title=@subtitle_tex=@creator=@classify=@author_home=@author=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@subject=@description=@publisher=@current_publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@type=@format=@identifier=@source=@language=@language_original=@relation=@coverage=@rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@num_top=@bold_match_list=@italics_match_list=@substitution_match_list=@emphasis_set_to=@toc_lev_limit=@flag_tables=@vocabulary=@doc_css=@yaml=@lnk=@links=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@filesize=@firstseg=@programs=@author_copymark=@i18n=@lang=@lang_code_insert=@en=@notes=@dgst=@generated=@heading_seg_first=@base_program=@topic_register=@original=@writing_focus=@audio=@home_button_image=@home_button_links=@cover_image=@man_section=nil + @env=@path,@file=@fn=@fns=@fno=@fnb=@fnn=@fnt=@fnl=@flv=@fnz=@fnstex=@ocn=@sfx_src=@pdf=@file_type=@dir_out=@dir_tex=@dir_lout=@txt_path=@make=@flag_endnotes=@flag_auto_endnotes=@flag_separate_endnotes=@flag_separate_endnotes_make=@sisu=@sisu_version=@ruby_version=@title=@subtitle=@full_title=@html_title=@subtitle_tex=@creator=@classify=@author_home=@author=@author_title=@author_nationality=@translator=@illustrator=@prepared_by=@digitized_by=@subject=@description=@publisher=@current_publisher=@contributor=@date=@date_created=@date_issued=@date_available=@date_valid=@date_modified=@date_translated=@date_added_to_site=@date_scheme=@date_created_scheme=@date_issued_scheme=@date_available_scheme=@date_valid_scheme=@date_modified_scheme=@type=@format=@identifier=@source=@language=@language_original=@relation=@coverage=@rights=@keywords=@comments=@abstract=@cls_loc=@cls_dewey=@cls_pg=@cls_isbn=@papersize=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@pagenew=@pagebreak=@pageline=@num_top=@bold_match_list=@italics_match_list=@substitution_match_list=@emphasis_set_to=@toc_lev_limit=@flag_tables=@vocabulary=@doc_css=@yaml=@lnk=@links=@prefix_a=@prefix_b=@suffix=@information=@contact=@icon=@ad_url=@ad_png=@ad_alt=@ad_began=@promo=@ad_home=@stmp=@stmpd=@sc_filename=@sc_number=@sc_date=@sc_time=@sc_info=@yamladdr=@locale=@wc_lines=@wc_words=@wc_bytes=@file_encoding=@filesize=@firstseg=@programs=@author_copymark=@i18n=@lang=@lang_code_insert=@en=@notes=@dgst=@generated=@heading_seg_first=@base_program=@topic_register=@original=@writing_focus=@audio=@home_button_image=@home_button_links=@cover_image=@man_section=nil @data,@path,@fns,@fno,@opt=fns_array,opt.pth,opt.fns,opt.fno,opt #@data used as data @flag_tables,@set_header_title,@set_heading_top,@set_heading_seg,@heading_seg_first_flag,@flag_promo,@book_idx=false,false,false,false,false,false,false @seg_autoname_safe=true @@ -874,7 +874,8 @@ module SiSU_Param : @opt.make_instructions if common_makes[:makeset] @pagenew=common_makes[:pagenew] - @pagebreak=common_makes[:pagenew] + @pagebreak=common_makes[:pagebreak] + @pageline=common_makes[:pageline] @toc=common_makes[:toc] @lv1=common_makes[:lv1] @lv2=common_makes[:lv2] @@ -1050,6 +1051,9 @@ module SiSU_Param @pagebreak=(makes[:pagebreak]) \ ? (makes[:pagebreak]) \ : @pagebreak + @pageline=(makes[:pageline]) \ + ? (makes[:pageline]) \ + : @pageline @toc=(makes[:toc]) ? (makes[:toc]) : @toc @lv1=(makes[:lv1]) ? (makes[:lv1]) : @lv1 @lv2=(makes[:lv2]) ? (makes[:lv2]) : @lv2 @@ -1268,7 +1272,7 @@ module SiSU_Param end if @markup_version.determined >= 0.38 #convert values in headers to internal representation translated=[] - translate_list=[@pagenew,@pagebreak,@num_top,@toc_lev_limit] + translate_list=[@pagenew,@pagebreak,@pageline,@num_top,@toc_lev_limit] translate_list.each do |t| translate=t.to_s if t translated << if translate @@ -1291,9 +1295,10 @@ module SiSU_Param else nil end end - @pagenew,@pagebreak,@num_top,@toc_lev_limit=translated + @pagenew,@pagebreak,@pageline,@num_top,@toc_lev_limit=translated @markup=@markup.gsub(/page_new\s*=\s*([\dA-C])/,"page_new=#{@pagenew}"). gsub(/page_break\s*=\s*([\dA-C])/,"page_break=#{@pagebreak}"). + gsub(/page_line\s*=\s*([\dA-C])/,"page_line=#{@pageline}"). gsub(/num_top\s*=\s*([\dA-C])/,"num_top=#{@num_top}"). gsub(/toc_lev_limit\s*=\s*([\dA-C])/,"toc_lev_limit=#{@toc_lev_limit}") end diff --git a/lib/sisu/v4/param_make.rb b/lib/sisu/v4/param_make.rb index cfc14074..675c0955 100644 --- a/lib/sisu/v4/param_make.rb +++ b/lib/sisu/v4/param_make.rb @@ -167,12 +167,13 @@ module SiSU_Param_Make pagebreaks=((@h['breaks'] =~/;/) \ ? (@h['breaks'].split(/;\s*/)) : [ @h['breaks'] ]) - page_new,page_break=nil,nil + page_new,page_break,page_line=nil,nil,nil pagebreaks.each do |x| page_new=x[/(:?[\dA-C],?)+/] if x=~/new|clear/ page_break=x[/(:?[\dA-C],?)+/] if x =~/break/ + page_line=x[/(:?[\dA-C],?)+/] if x =~/line/ end - { page_new: page_new, page_break: page_break } + { page_new: page_new, page_break: page_break, page_line: page_line } end def language l=if @h['language'] && (@h['language']=~/\S{2,}/) @@ -516,12 +517,12 @@ module SiSU_Param_Make end end class MakeHead - attr_accessor :pagenew,:pagebreak,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:num_top,:i18n,:man_section,:substitution_match_list,:bold_match_list,:italics_match_list,:emphasis_set_to,:footer_links,:home_button_links,:home_button_image,:cover_image + attr_accessor :pagenew,:pagebreak,:pageline,:toc,:lv1,:lv2,:lv3,:lv4,:lv5,:lv6,:num_top,:i18n,:man_section,:substitution_match_list,:bold_match_list,:italics_match_list,:emphasis_set_to,:footer_links,:home_button_links,:home_button_image,:cover_image def initialize(make) @make=make end def clear - @pagenew=@pagebreak=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@num_top=@i18n=@man_section=@footer_links=@substitution_match_list=@bold_match_list=@italics_match_list=@emphasis_set_to=@home_button_links=@home_button_image=@cover_image=nil + @pagenew=@pagebreak=@pageline=@toc=@lv1=@lv2=@lv3=@lv4=@lv5=@lv6=@num_top=@i18n=@man_section=@footer_links=@substitution_match_list=@bold_match_list=@italics_match_list=@emphasis_set_to=@home_button_links=@home_button_image=@cover_image=nil end def make_instruct clear @@ -533,6 +534,10 @@ module SiSU_Param_Make and @make.breaks[:page_break] #newpage @pagebreak=@make.breaks[:page_break] end + if defined? @make.breaks \ + and @make.breaks[:page_line] #page line across + @pagebreak=@make.breaks[:page_line] + end if defined? @make.headings \ and @make.headings @toc=@make.headings[0] @@ -615,6 +620,7 @@ module SiSU_Param_Make end { pagenew: @pagenew, pagebreak: @pagebreak, + pageline: @pageline, toc: @toc, lv1: @lv1, lv2: @lv2, diff --git a/lib/sisu/v4/plaintext.rb b/lib/sisu/v4/plaintext.rb index 9bbc799c..b916f081 100644 --- a/lib/sisu/v4/plaintext.rb +++ b/lib/sisu/v4/plaintext.rb @@ -363,7 +363,8 @@ WOK sp=' ' ln='-' @plaintext[:body] <<=if dob.obj==Mx[:br_page] \ - or dob.obj==Mx[:br_page_new] + or dob.obj==Mx[:br_page_new] \ + or dob.obj==Mx[:br_page_line] "#{@br}#{ln*40}#{@br*2}" elsif dob.obj ==Mx[:br_obj] "#{@br}#{sp*20}* * *#{@br*2}" diff --git a/lib/sisu/v4/shared_xml.rb b/lib/sisu/v4/shared_xml.rb index 9db839b1..b175408d 100644 --- a/lib/sisu/v4/shared_xml.rb +++ b/lib/sisu/v4/shared_xml.rb @@ -376,6 +376,7 @@ module SiSU_XML_Munge dob.obj=dob.obj.gsub(/#{Mx[:br_line]}|#{Mx[:br_nl]}/,'<br />') unless dob.is==:table dob.obj=dob.obj.gsub(/#{Mx[:br_page]}\s*/,''). gsub(/#{Mx[:br_page_new]}\s*/,''). + gsub(/#{Mx[:br_page_line]}\s*/,''). gsub(/#{Mx[:pa_non_object_no_heading]}|#{Mx[:pa_non_object_dummy_heading]}/,''). gsub(/<[-~]#>/,''). gsub(/href="#{Xx[:segment]}/m,'href="'). diff --git a/lib/sisu/v4/texpdf.rb b/lib/sisu/v4/texpdf.rb index 01ca5934..5e18f5aa 100644 --- a/lib/sisu/v4/texpdf.rb +++ b/lib/sisu/v4/texpdf.rb @@ -398,6 +398,7 @@ module SiSU_TeX elsif dob.is ==:break if dob.obj==Mx[:br_page]; dob.tmp='\newpage' elsif dob.obj==Mx[:br_page_new]; dob.tmp='\clearpage' + elsif dob.obj==Mx[:br_page_line]; dob.tmp=' \\ \hline \\ ' elsif dob.obj==Mx[:br_obj]; dob.tmp='\parasep' end elsif dob.is==:comment \ diff --git a/man/man1/sisu.1 b/man/man1/sisu.1 index f21808b1..9fcc524c 100644 --- a/man/man1/sisu.1 +++ b/man/man1/sisu.1 @@ -1,4 +1,4 @@ -.TH "sisu" "1" "2013-02-07" "4.0.6" "SiSU" +.TH "sisu" "1" "2013-02-22" "4.0.9" "SiSU" .br .SH NAME .br @@ -2272,6 +2272,12 @@ page new =\e= or breaks the page, starts a new page. .BR page break -\\- or breaks a column, starts a new column, if using columns, else breaks the page, starts a new page. + +.BR +page break line across page -..- draws a dividing line, dividing paragraphs + +.BR +page break: .nf -\e\e- @@ -2280,13 +2286,20 @@ or .fi .BR -or +page (break) new: .nf =\e\e= or <:pn> .fi + +.BR +page (break) line across page (dividing paragraphs): +.nf +-..- +.fi + .SH BOOK INDEX .BR |