aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v5/texpdf_format.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sisu/v5/texpdf_format.rb')
-rw-r--r--lib/sisu/v5/texpdf_format.rb98
1 files changed, 17 insertions, 81 deletions
diff --git a/lib/sisu/v5/texpdf_format.rb b/lib/sisu/v5/texpdf_format.rb
index d5defb39..96b5dc91 100644
--- a/lib/sisu/v5/texpdf_format.rb
+++ b/lib/sisu/v5/texpdf_format.rb
@@ -58,19 +58,19 @@
=end
module SiSU_TeX_Pdf
+ require_relative 'texpdf_parts' # texpdf_parts.rb
@@table_pg_break_counter=1
- include SiSU_Viz
class BareUrls
+ include SiSU_Parts_TeXpdf
def initialize(md,dob=nil)
@md,@dob=md,dob
- @brace_url=SiSU_Viz::Defaults.new.url_decoration
end
def bare_urls
@dob.obj=@dob.obj.gsub(/#{Mx[:url_o]}([a-zA-Z0-9._-]+\@[a-zA-Z0-9_-]+?\.[a-zA-Z0-9._-]+)#{Mx[:url_c]}/,
- "#{@brace_url.tex_open}\\begin{scriptsize}\\email{\\1}#{@brace_url.tex_close}")
+ "#{url_decoration.tex_open}\\begin{scriptsize}\\email{\\1}#{url_decoration.tex_close}")
@dob.tmp=@dob.tmp.gsub(/(^|[^\\])_/m,'\1\_'). #watch may not work
gsub(/(^|[^#{Mx[:lnk_c]}])#{Mx[:url_o]}_?(?:\\?_)?(\S+?)#{Mx[:url_c]}/m,
- "\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}")
+ "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}")
@dob
end
def bare_urls_in_code
@@ -81,7 +81,7 @@ module SiSU_TeX_Pdf
end
end
class FormatTextObject
- require_relative 'defaults' # defaults.rb
+ include SiSU_Parts_TeXpdf
attr_accessor :string,:string1,:orientation,:url,:dir,:tex
@@sys=SiSU_Env::SystemCall.new
@@tex_pattern_margin_number=/\\begin\{tiny\}\\hspace\{0mm\}\\end\{tiny\}\{\\marginpar.+?\}\}\}/
@@ -102,7 +102,6 @@ module SiSU_TeX_Pdf
end
@start_table=''
@tx=SiSU_Env::GetInit.new.tex
- @brace_rel=SiSU_Viz::Defaults.new.rel_decoration
@env ||=SiSU_Env::InfoEnv.new(@md.fns)
@tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine
@make ||=SiSU_Env::ProcessingSettings.new(@md)
@@ -517,7 +516,7 @@ module SiSU_TeX_Pdf
link.gsub!(/&/,"#{Xx[:protect]}&")
url="#{@env.url.root}/" + url
str.sub!(/#{Mx[:lnk_o]}[^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+#{Mx[:lnk_c]}#{Mx[:rel_o]}:\S+?#{Mx[:rel_c]}/m,
- "#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}")
+ "#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}")
end
while str =~/#{Mx[:lnk_o]}([^#{Mx[:lnk_o]}#{Mx[:lnk_c]}]+)#{Mx[:lnk_c]}#{Mx[:rel_o]}#?(\S+?)#{Mx[:rel_c]}/m
link,url=$1,$2
@@ -533,7 +532,7 @@ module SiSU_TeX_Pdf
if ocn_lnk and not ocn_lnk.empty?
idx \
? (str.sub!(rgx_url_internal,"\\hyperlink{#{ocn_lnk}}{#{link}}"))
- : (str.sub!(rgx_url_internal,"#{@brace_rel.tex_open}\\hyperlink{#{ocn_lnk}}{#{link}}#{@brace_rel.tex_close}"))
+ : (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{ocn_lnk}}{#{link}}#{url_decoration.tex_close}"))
else
puts %{name tag: "#{url}" not found}
str.sub!(rgx_url_internal,"#{link}")
@@ -541,7 +540,7 @@ module SiSU_TeX_Pdf
#[keep] code that follows uses nametags directly, currently nametags converted to their ocn, related code: |texpdf.rb|@|hypertargets|
#idx \
#? (str.sub!(rgx_url_internal,"\\hyperlink{#{url}}{#{link}}")) \
- #: (str.sub!(rgx_url_internal,"#{@brace_rel.tex_open}\\hyperlink{#{url}}{#{link}}#{@brace_rel.tex_close}"))
+ #: (str.sub!(rgx_url_internal,"#{url_decoration.tex_open}\\hyperlink{#{url}}{#{link}}#{url_decoration.tex_close}"))
end
str=str.gsub(/#{Xx[:protect]}/,'')
end
@@ -554,7 +553,7 @@ module SiSU_TeX_Pdf
url=url.strip
link=z.strip
link.gsub!(/&/,"#{Xx[:protect]}&")
- str.sub!(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}")
+ str.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}")
str=str.gsub(/#{Xx[:protect]}/,'')
str
else str
@@ -578,9 +577,9 @@ module SiSU_TeX_Pdf
url=url.strip
link=z.strip
link.gsub!(/&/,"#{Xx[:protect]}&")
- dob.tmp.sub!(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}#{punctuate}")
+ dob.tmp.sub!(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}")
dob.tmp.gsub!(/#{Xx[:protect]}/,'')
- #dob.tmp=dob.tmp.sub(rgx_url_generic,"#{@brace_rel.tex_open}\\href{#{url}}{#{link}}#{@brace_rel.tex_close}#{punctuate}").
+ #dob.tmp=dob.tmp.sub(rgx_url_generic,"#{url_decoration.tex_open}\\href{#{url}}{#{link}}#{url_decoration.tex_close}#{punctuate}").
# gsub(/#{Xx[:protect]}/,'')
dob
else dob
@@ -760,7 +759,6 @@ module SiSU_TeX_Pdf
p caller
end
@tx=SiSU_Env::GetInit.new.tex
- @brace_url=SiSU_Viz::Defaults.new.url_decoration
@tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine
@ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i
@lang ||=SiSU_i18n::Languages.new #.list[@md.opt.lng][:xlp]
@@ -1236,9 +1234,9 @@ module SiSU_TeX_Pdf
end
end
class SpecialCharacters
+ include SiSU_Parts_TeXpdf
def initialize(md,str,is=:default)
@md,@txt,@is=md,str,is
- @brace_url=SiSU_Viz::Defaults.new.url_decoration
@tex2pdf=@@tex3pdf ||=SiSU_Env::SystemCall.new.tex2pdf_engine
end
def xetex_code_listings(str,is=:default) # ~ ^ $ & % _ { } #LaTeX special characters - KEEP list
@@ -1380,7 +1378,7 @@ module SiSU_TeX_Pdf
if is !=:code \
and is !=:no_urls
str=str.gsub(/(^|#{Mx[:gl_c]}|\s)((?:https?|file|ftp):\/\/\S+?\.[^'"\s]+?)([;.,]?(?=\s|$))/,
- "\\1#{@brace_url.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{@brace_url.tex_close}\\3") #url matching with decoration <url> positive lookahead, sequence issue with { linked }http://url cannot use \b at start
+ "\\1#{url_decoration.tex_open}\\begin{scriptsize}\\url{\\2}\\end{scriptsize}#{url_decoration.tex_close}\\3") #url matching with decoration <url> positive lookahead, sequence issue with { linked }http://url cannot use \b at start
end
str=str.gsub(/<:ee>/,'').
gsub(/<!>/,' '). #proposed change, insert, but may be redundant
@@ -1487,13 +1485,12 @@ module SiSU_TeX_Pdf
end
end
class UseTeX
+ include SiSU_Parts_TeXpdf
attr_accessor :url,:txt,:date
def initialize(md)
@md=md
- @vz=SiSU_Viz::Defaults.new
@date=SiSU_Env::InfoDate.new # #{@date.year}
@copymark='{\\begin{footnotesize}\\raisebox{1ex}{\\copyright}\\end{footnotesize}}'
- @brace_url=SiSU_Viz::Defaults.new.url_decoration
end
def skip
"\n\\vspace*{\\smallskipamount} \n"
@@ -1532,15 +1529,12 @@ module SiSU_TeX_Pdf
"\\rfoot[\\tiny \\href{}{}]{\\textrm{\\thepage}}\n"
end
def site
- if not @vz.url_home.empty? \
- and not @vz.url_txt.empty?
+ if not the_url.home.empty? \
+ and not the_url.home_txt.empty?
"\n\\date{\\begin{tiny} \\end{tiny}}"
else ''
end
end
- def sitename # owners site, eg freeculture, free.for.all, gutenberg etc.
- "\\href{#{@vz.url_home}}{#{@vz.txt_home}}"
- end
def owner_chapter
"Contact Details for Original Promulgating Authority"
end
@@ -1572,7 +1566,7 @@ module SiSU_TeX_Pdf
\\\\ Generated by \\href{http://www.jus.uio.no/sisu}{SiSU} \\begin{tiny}[ #{v[:project]} #{v[:version]} of #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.jus.uio.no/sisu}{www.jus.uio.no/sisu}
\\\\ Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved.
\\\\ SiSU is software for document structuring, publishing and search (with object citation numbering), \\href{http://www.sisudoc.org}{www.sisudoc.org}
-\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later, #{@brace_url.tex_open}\\href{http://www.fsf.org/licenses/gpl.html}{http://www.fsf.org/licenses/gpl.html}#{@brace_url.tex_close}.
+\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later, #{url_brace.tex_open}\\href{http://www.fsf.org/licenses/gpl.html}{http://www.fsf.org/licenses/gpl.html}#{url_brace.tex_close}.
{\\end{footnotesize}
\\\\
WOK
@@ -1618,64 +1612,6 @@ Generated by \\href{http://www.jus.uio.no/sisu}{SiSU www.jus.uio.no/sisu } \\\\
\\listofendnotes
WOK
end
- def doc_tail
- dir=SiSU_Env::InfoEnv.new(@md.fns)
- v=SiSU_Env::InfoVersion.instance.get_version
- sisu_ico=if FileTest.file?("#{dir.path.image_source_include}/sisu.png")
- "\\includegraphics*[width=60pt]{#{dir.path.image_source_include}/sisu.png}"
- else
- SiSU_Screen::Ansi.new(
- @md.opt.act[:color_state][:set],
- 'WARNING - image directory or image(s) missing:',
- %{"#{dir.path.image_source_include}"}
- ).warn unless @md.opt.act[:quiet][:set]==:on
- " SiSU "
- end
- url=@md.fnb.gsub(/(?:\\)*([$&~%_#}{^])/,'\\\\\1')
- <<-WOK
-\\begin{english}[variant=british]
-\\subsection*{Information on this document copy and an unofficial List of Some web related information and sources}
-\\addcontentsline{toc}{section}{Information on this document copy and an unofficial List of Some web related information and sources}
-\\\\
-\"Support Open Standards and Software Libré for the Information Technology Infrastructure\" RA\\subsubsection*{Information on this document copy #{site}}
-\\addcontentsline{toc}{subsection}{Information on this document copy}
-{\\begin{footnotesize}
-\\\\ Generated by \\href{http://www.jus.uio.no/sisu/}{SiSU} found at \\href{http://www.jus.uio.no/sisu/}{www.jus.uio.no/sisu} \\begin{tiny}[ #{v[:project]} #{v[:version]} #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.sisudoc.org}{www.sisudoc.org}. SiSU is software for document structuring, publishing and search (using SiSU: object citation numbering, markup, meta-markup, and system) Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved.
-\\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later (\\href{http://www.fsf.org/licenses/gpl.html}{www.fsf.org/licenses/gpl.html}). {\\end{footnotesize}
-{\\begin{small}
-\\\\ W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{#{sisu_ico}}SiSU 1997, current #{@date.year_static}. \\\\ #{sitename} presentations at \\begin{scriptsize}#{site}\\end{scriptsize} \\\\ \\\\ #{@md.title.full} \\textbf{pdf} versions can be found at: \\\\
-{\\end{small}
-\\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_p]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\
-#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_l]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\
-\\\\\n#{@md.title.full} \\textbf{html} versions may be found at: \\\\
-#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:toc]}}\\end{scriptsize}#{@brace_url.tex_close} or \\\\
-#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:doc]}}\\end{scriptsize}#{@brace_url.tex_close}
-\\\\
-\\\\
-\\href{#{@vz.url_root_http}/#{url}/#{@md.fn[:manifest]}}{SiSU Manifest} of document output and metadata may be found at: \\\\
-#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:manifest]}}\\end{scriptsize}#{@brace_url.tex_close}
-\\\\
-\\\\
- #{sitename} found at: \\begin{scriptsize}#{site}\\end{scriptsize}\\subsubsection*{Links that may be of interest at #{@vz.txt_home} and elsewhere:}
-\\addcontentsline{toc}{subsection}{Links that may be of interest}
-\\end{english}
- WOK
- end
- def mail_tail #not retested, the old mail_tail is commented out and appended to this program
- dir=SiSU_Env::InfoEnv.new(@md.fns)
- <<-WOK
-\\subsection*{Mail sender details}
-\\addcontentsline{toc}{subsection}{Mail sender details}
-\\\\
-Mail from: ralph@amissah.com\\\\
-44 20 8789 3452\\\\
-44 77 9669 4448
-\\\\
- \"Support Open Standards and Open Sources for the Information Technology Infrastructure\" RA
-\\subsubsection*{Information on this document copy #{site}\\copyright}
-Presentations' look and feel generated by \\href{http://www.jus.uio.no/sisu/}{SiSU Scribe} \\href{http://www.jus.uio.no/sisu/}{http://www.jus.uio.no/sisu/} programmed in Ruby on Debian/Gnu/Linux by Copyright \\copyright Ralph Amissah, W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{\\includegraphics*[width=35pt]{#{dir.path.image_source_include}/sisu.png}}for #{sitename}. SiSU Scribe (sisu information structuring unit) produces Electronic Documents, i.e. it generates structured output for use in a number of file formats, including the pdf file produced here.
- WOK
- end
end
end
__END__