Dear all,
I'm just writing a a tiny bundle 'Copy Formatted as' RTF (Xe)TeX wordml HTML ...
I was inspired by the bundle Copy as RTF by Max Muermann (kindly hosted at github by Dr Nic Williams) [I found it with GetBundles ;)]. This bundle works fine for RTF but it lacks UTF-8 support. Thus I went an other way to achieve that and it works perfectly also for TeX ;)
But back to my suggestion.
It often occurs to me that I'm to write a tiny paper, article or whatever about a piece of source code I wrote. For that purpose I often need doctohtml.rb with line numbering. Fine. But one thing I cannot do with it. If I write something about a piece of code between line 10 to 20 and I want to refer to line number in my text the default doctohtml.rb produces line numbers between 1 to 10. Due to that fact I thought it would be nice to have an option to produce relative line numbers.
I modified doctohtml.rb a bit to achieve that.
Here's the diff (also attached to that mail):
--- untitled +++ (clipboard) @@ -189,10 +189,10 @@ return lines.join("\n") end
-def number(str) +def number(str, rel_numbering = false) # number each line of input lines = str.split(/\n/) - n = 0 + n = (rel_numbering) ? ENV['TM_INPUT_START_LINE'].to_i - 1 : 0 lines.each do | line | n += 1 line.gsub!(/^(</span>)?/, "\1<span class='linenum'>#{ sprintf("% 5d", n) }</span> ") @@ -255,7 +255,7 @@ end end
- code_html = number(code_html) if opt[:line_numbers] + code_html = number(code_html, rel_numbering = opt [:relative_numbering]) if opt[:line_numbers]
html << "<pre class="textmate-source" html << " #{theme_class}" unless theme_class.empty?
By doing so one can call document_to_html like that:
document_to_html( STDIN.read, {:relative_numbering => true, :line_numbers => true, :include_css => true }
If one leaves the new option out the line numbering starts at 1.
Hopefully this tiny improvement will be accepted soon ;)
Thanks,
--Hans