diff options
Diffstat (limited to 'lib/sisu/v0/texpdf_format.rb')
| -rw-r--r-- | lib/sisu/v0/texpdf_format.rb | 46 | 
1 files changed, 22 insertions, 24 deletions
| diff --git a/lib/sisu/v0/texpdf_format.rb b/lib/sisu/v0/texpdf_format.rb index aafbe8a9..4d69c1ae 100644 --- a/lib/sisu/v0/texpdf_format.rb +++ b/lib/sisu/v0/texpdf_format.rb @@ -499,18 +499,10 @@ WOK        @string.gsub!(/&\S+?;/,' ')        @string.gsub!(/<a href=".+?">/,' ')        @string.gsub!(/<\/a>/,' ') -      if @string !~/^\s*<:image|\}image/                                           #watch carefully could introduce breaks ! removed \}http changed 0.1.1-4 200501 -        if @string =~/(?:https?|ftp):\/\/\S+?<\/\S>/                               #problems where have font attribute eg </u> (change substitution sequence?) # [^\}>] added for escaped curly brace <=curlyclose> watch -          @string.gsub!(/[^\}>]((?:https?|ftp):\/\/\S+?)(<\/\S>)/,' \begin{scriptsize}\href{\1}{ \1 } \end{scriptsize}\2') -        else # regular urls !! http:// href -          if @string=~/(?:https?|ftp):\/\/\S+?[,.]? / -            @string.gsub!(/(?:^|[^\}>])((?:https?|ftp):\/\/\S+?)([,.])? /," #{@url_brace.tex_open}\\begin{scriptsize}\\href{\\1}{ \\1}\\end{scriptsize}#{@url_brace.tex_close}\\2 ") #tamper -          else @string.gsub!(/(?:^|[^\}>])((?:https?|ftp):\/\/\S+)/,' \begin{scriptsize}\href{ \1 }{\1} \end{scriptsize}') #should not be necessary, not checked -          end -        end -      else #@string =~/\\~\\\{.+?\\\}\\~/ # \\~\\{1 -        #@string.gsub!(/(?:\n)?(http:\/\/\S+)/," \\begin{scriptsize}\\href{\\1}{\\1} \\end{scriptsize}") #bug... -      end +      @string.gsub!(/[^\}>_]((?:https?|ftp):\/\/\S+?)(<\/\S>)/,' \begin{scriptsize}\href{\1}{\1} \end{scriptsize}\2') #special case +      @string.gsub!(/((?:^|\s)[}])((?:https?|ftp):\/\/\S+?\.[^'"><\s]+?)([.,]?(?:\s|$))/,'\1\begin{scriptsize}\\href{\2}{\2}\end{scriptsize}\3') #special case \{ e.g. \}http://url +      @string.gsub!(/(^|\s)(?:\\_|\\)((?:https?|ftp):\/\/\S+?\.[^'"><\s]+?)([.,]?(?:\s|$))/,'\1\begin{scriptsize}\\href{\2}{\2}\end{scriptsize}\3') #specially escaped url no decoration +      @string.gsub!(/(^|\s)((?:https?|ftp):\/\/\S+?\.[^'"><\s]+?)([.,]?(?:\s|$))/,"\\1#{@url_brace.tex_open}\\begin{scriptsize}\\href{\\2}{\\2}\\end{scriptsize}#{@url_brace.tex_close}\\3") #url matching with decoration <url>        @string.gsub!(/<:ee>/,'')        @string.gsub!(/<!>/,' ')        #proposed change, insert, but may be redundant @@ -704,10 +696,20 @@ WOK        #end BUGWATCH      end      def indent(lev) -      @string.gsub!(/<:i#{lev}>(.*)/m, -        "\\begin{ParagraphIndent}{0.0#{lev}\\columnwidth} \\1 -\\end{ParagraphIndent} -") +      indent=case lev +      when /1/; '0mm' +      when /2/; '10mm' +      when /3/; '20mm' +      when /4/; '30mm' +      when /5/; '40mm' +      when /6/; '50mm' +      when /7/; '60mm' +      when /8/; '70mm' +      when /9/; '80mm' +      end +      @string.gsub!(/<:i#{lev}>\s*(.*)/m, +        "\\begin{ParagraphIndent}{#{indent}}\\1 +\\end{ParagraphIndent}}")      end      def symbol_graphic        dir=SiSU_Env::Info_env.new(@md.fns) @@ -1192,21 +1194,17 @@ WOK      def a4generic      end      def para_num -      paranumber_display=if @md.mod.inspect =~/--no-ocn/; ''                                        #!ocn no object citation numbering +      paranumber_display=if @md.mod.inspect =~/--no-ocn/; ''                           #!ocn no object citation numbering        else "\\begin{tiny}~\\end{tiny}{\\marginpar{\\begin{tiny}#@string1\\end{tiny}}}" #ocn object citation numbering        end        if @string !~/^([1-6a-z-]#{@@tilde}\S*|<:.+?>|#{@md.lv1}|#{@md.lv2}|#{@md.lv3}|#{@md.lv4}|#{@md.lv5}|#{@md.lv6})/          @string.gsub!(/^\s*(.+)/m,"#{paranumber_display}\\1\n") #watch - in 1-6 is suspect        else          if (@string =~/^(?:[1-6a-z-]#{@@tilde}\S*|<:.+?>)/) #watch - in 1-6 is suspect -          @string.gsub!(/^([1-6a-z-]#{@@tilde}\S*|<:.+?>)\s*(.+)/m,"\\1 #{paranumber_display} \\2\n") #watch - in 1-6 is suspect +          @string.gsub!(/^([1-6a-z-]#{@@tilde}\S*)\s*(.+)/m,"\\1 #{paranumber_display} \\2\n") #watch - in 1-6 is suspect +          @string.gsub!(/^(<:.+?>)\s*(.+)/m,"\\1 #{paranumber_display}\\2\n")          else -          @string.gsub!(/(#{@md.lv1}.+)$/,"#{@md.lv1} #{paranumber_display}\\1\n") -          @string.gsub!(/(#{@md.lv2}.+)$/,"#{@md.lv2} #{paranumber_display}\\1\n") -          @string.gsub!(/(#{@md.lv3}.+)$/,"#{@md.lv3} #{paranumber_display}\\1\n") -          @string.gsub!(/(#{@md.lv4}.+)$/,"#{@md.lv4} #{paranumber_display}\\1\n") -          @string.gsub!(/(#{@md.lv5}.+)$/,"#{@md.lv5} #{paranumber_display}\\1\n") -          @string.gsub!(/(#{@md.lv6}.+)$/,"#{@md.lv6} #{paranumber_display}\\1\n") +          @string.gsub!(/((#{@md.lv1}|#{@md.lv2}|#{@md.lv3}|#{@md.lv4}|#{@md.lv5}|#{@md.lv6}).+)$/,"\\2 #{paranumber_display}\\1\n")          end        end        @string | 
