deplate 0.8.4 → 0.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.TXT +118 -0
- data/NEWS.TXT +6 -21
- data/VERSION.TXT +1 -1
- data/etc/deplate.ini +15 -2
- data/lib/action_view/helpers/deplate.rb +0 -0
- data/lib/deplate/abstract-class.rb +3 -2
- data/lib/deplate/bib.rb +3 -2
- data/lib/deplate/builtin.rb +3 -2
- data/lib/deplate/cache.rb +3 -2
- data/lib/deplate/commands.rb +3 -11
- data/lib/deplate/common.rb +7 -2
- data/lib/deplate/compat.rb +21 -0
- data/lib/deplate/compat/parsedate.rb +24 -0
- data/lib/deplate/converter.rb +3 -2
- data/lib/deplate/core.rb +135 -103
- data/lib/deplate/counters.rb +3 -2
- data/lib/deplate/css/article.css +2 -2
- data/lib/deplate/css/doc.css +3 -2
- data/lib/deplate/css/heading-navbar.css +2 -2
- data/lib/deplate/css/highlight.css +0 -0
- data/lib/deplate/css/layout-deplate-print.css +2 -2
- data/lib/deplate/css/layout-deplate.css +2 -2
- data/lib/deplate/css/presentation.css +2 -2
- data/lib/deplate/css/sans-serif.css +2 -2
- data/lib/deplate/css/screenplay.css +0 -0
- data/lib/deplate/css/serif-e.css +2 -2
- data/lib/deplate/css/serif-rel.css +3 -2
- data/lib/deplate/css/serif.css +2 -2
- data/lib/deplate/css/slides.css +3 -2
- data/lib/deplate/css/tabbar-top.css +2 -2
- data/lib/deplate/css/text-sans-serif.css +3 -2
- data/lib/deplate/css/text-serif.css +2 -2
- data/lib/deplate/css/website.css +0 -0
- data/lib/deplate/define.rb +3 -2
- data/lib/deplate/deplate-string.rb +3 -2
- data/lib/deplate/docbook.rb +4 -14
- data/lib/deplate/elements.rb +37 -4
- data/lib/deplate/encoding.rb +57 -0
- data/lib/deplate/etc.rb +7 -5
- data/lib/deplate/external.rb +5 -13
- data/lib/deplate/fmt/dbk-article-4.1.2.rb +3 -2
- data/lib/deplate/fmt/dbk-article.rb +3 -2
- data/lib/deplate/fmt/dbk-book.rb +3 -2
- data/lib/deplate/fmt/dbk-ref.rb +3 -2
- data/lib/deplate/fmt/dbk-slides.rb +3 -2
- data/lib/deplate/fmt/dbk-snippet.rb +3 -2
- data/lib/deplate/fmt/html-snippet.rb +3 -2
- data/lib/deplate/fmt/html.rb +40 -27
- data/lib/deplate/fmt/htmlsite.rb +3 -2
- data/lib/deplate/fmt/htmlslides.rb +3 -2
- data/lib/deplate/fmt/htmlwebsite.rb +3 -2
- data/lib/deplate/fmt/latex-dramatist.rb +2 -1
- data/lib/deplate/fmt/latex-snippet.rb +3 -2
- data/lib/deplate/fmt/latex.rb +88 -67
- data/lib/deplate/fmt/null.rb +3 -2
- data/lib/deplate/fmt/php.rb +3 -2
- data/lib/deplate/fmt/phpsite.rb +3 -2
- data/lib/deplate/fmt/plain.rb +4 -3
- data/lib/deplate/fmt/sweave.rb +104 -0
- data/lib/deplate/fmt/template.rb +3 -2
- data/lib/deplate/fmt/xhtml10t.rb +82 -2
- data/lib/deplate/fmt/xhtml11m.rb +3 -2
- data/lib/deplate/formatter-snippet.rb +3 -2
- data/lib/deplate/formatter.rb +203 -29
- data/lib/deplate/guesslanguage.rb +3 -2
- data/lib/deplate/input.rb +9 -8
- data/lib/deplate/input/deplate-headings.rb +3 -2
- data/lib/deplate/input/deplate-restricted.rb +3 -2
- data/lib/deplate/input/deplate.rb +3 -2
- data/lib/deplate/input/play.rb +3 -2
- data/lib/deplate/input/rdoc.rb +3 -2
- data/lib/deplate/input/template.rb +3 -2
- data/lib/deplate/lib/Makefile.config +8 -0
- data/lib/deplate/locale/de.latin1 +6 -0
- data/lib/deplate/macros.rb +4 -2
- data/lib/deplate/messages.rb +9 -5
- data/lib/deplate/metadata.rb +3 -2
- data/lib/deplate/metadata/marshal.rb +3 -2
- data/lib/deplate/metadata/xml.rb +3 -2
- data/lib/deplate/metadata/yaml.rb +3 -2
- data/lib/deplate/mod/anyword.rb +3 -2
- data/lib/deplate/mod/babelfish.rb +3 -2
- data/lib/deplate/mod/code-coderay.rb +3 -2
- data/lib/deplate/mod/code-gvim.rb +3 -2
- data/lib/deplate/mod/code-gvim71.rb +3 -2
- data/lib/deplate/mod/code-highlight.rb +3 -2
- data/lib/deplate/mod/colored-log.rb +3 -2
- data/lib/deplate/mod/encode.rb +33 -0
- data/lib/deplate/mod/endnotes.rb +3 -2
- data/lib/deplate/mod/entities-decode.rb +2 -1
- data/lib/deplate/mod/entities-encode.rb +2 -1
- data/lib/deplate/mod/guesslanguage.rb +3 -2
- data/lib/deplate/mod/html-asciimath.rb +3 -2
- data/lib/deplate/mod/html-deplate-button.rb +3 -2
- data/lib/deplate/mod/html-headings-navbar.rb +3 -2
- data/lib/deplate/mod/html-highstep.rb +3 -2
- data/lib/deplate/mod/html-jsmath.rb +3 -2
- data/lib/deplate/mod/html-mathml.rb +2 -1
- data/lib/deplate/mod/html-obfuscate-email.rb +3 -2
- data/lib/deplate/mod/html-sidebar.rb +3 -2
- data/lib/deplate/mod/htmlslides-navbar-fh.rb +3 -2
- data/lib/deplate/mod/iconv.rb +3 -2
- data/lib/deplate/mod/imgurl.rb +4 -3
- data/lib/deplate/mod/inlatex-compound.rb +3 -2
- data/lib/deplate/mod/koma.rb +3 -2
- data/lib/deplate/mod/lang-de.rb +3 -2
- data/lib/deplate/mod/lang-en.rb +3 -2
- data/lib/deplate/mod/lang-ru-koi8-r.rb +3 -2
- data/lib/deplate/mod/lang-ru.rb +3 -2
- data/lib/deplate/mod/lang-zh_CN-autospace.rb +3 -2
- data/lib/deplate/mod/lang-zh_CN.rb +3 -2
- data/lib/deplate/mod/latex-emph-table-head.rb +3 -2
- data/lib/deplate/mod/latex-styles.rb +3 -2
- data/lib/deplate/mod/latex-verbatim-small.rb +3 -2
- data/lib/deplate/mod/linkmap.rb +2 -1
- data/lib/deplate/mod/makefile.rb +39 -46
- data/lib/deplate/mod/mark-external-urls.rb +3 -2
- data/lib/deplate/mod/markup-1-warn.rb +3 -2
- data/lib/deplate/mod/markup-1.rb +3 -2
- data/lib/deplate/mod/navbar-png.rb +3 -2
- data/lib/deplate/mod/noindent.rb +3 -2
- data/lib/deplate/mod/numpara.rb +3 -2
- data/lib/deplate/mod/particle-math.rb +3 -2
- data/lib/deplate/mod/php-extra.rb +3 -2
- data/lib/deplate/mod/pstoedit.rb +3 -2
- data/lib/deplate/mod/recode.rb +3 -2
- data/lib/deplate/mod/smart-dash.rb +3 -2
- data/lib/deplate/mod/smiley.rb +3 -2
- data/lib/deplate/mod/soffice.rb +3 -2
- data/lib/deplate/mod/symbols-latin1.rb +8 -2
- data/lib/deplate/mod/symbols-od-utf-8.rb +3 -2
- data/lib/deplate/mod/symbols-plain.rb +3 -2
- data/lib/deplate/mod/symbols-sgml.rb +6 -5
- data/lib/deplate/mod/symbols-utf-8.rb +6 -5
- data/lib/deplate/mod/symbols-xml.rb +3 -2
- data/lib/deplate/mod/syntax-region-alt.rb +3 -2
- data/lib/deplate/mod/utf8.rb +3 -2
- data/lib/deplate/mod/validate-html.rb +3 -2
- data/lib/deplate/mod/xmlrpc.rb +3 -2
- data/lib/deplate/nukumi2.rb +3 -2
- data/lib/deplate/once-method.rb +3 -2
- data/lib/deplate/output.rb +3 -2
- data/lib/deplate/particles.rb +12 -6
- data/lib/{ps2ppm.rb → deplate/ps2ppm.rb} +11 -11
- data/lib/deplate/regions.rb +75 -52
- data/lib/deplate/skeletons.rb +3 -2
- data/lib/deplate/structured.rb +8 -24
- data/lib/deplate/template.rb +3 -2
- data/lib/deplate/themes/presentation.html/css/presentation.css +2 -2
- data/lib/deplate/themes/presentation.html/prelude.txt +1 -1
- data/lib/deplate/themes/presentation.html/resources/spacer.png +0 -0
- data/lib/deplate/themes/s5.xhtml/README.TXT +2 -0
- data/lib/deplate/themes/s5.xhtml/templates/s5.xhtml +42 -0
- data/lib/deplate/themes/s5.xhtml/theme.ini +11 -0
- data/lib/deplate/variables.rb +12 -2
- data/lib/deplate/wiki-markup.rb +3 -2
- data/lib/deplate/xml.rb +19 -21
- data/lib/deplate/zh_CN.rb +3 -2
- data/man/man1/deplate.1 +83 -128
- metadata +16 -4
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# dbk-article.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.2059
|
|
8
9
|
|
|
9
10
|
require "deplate/docbook"
|
|
10
11
|
require "deplate/fmt/dbk-article"
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# dbk-article.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.2063
|
|
8
9
|
|
|
9
10
|
require "deplate/docbook"
|
|
10
11
|
|
data/lib/deplate/fmt/dbk-book.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# dbk-book.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.2055
|
|
8
9
|
|
|
9
10
|
require "deplate/docbook"
|
|
10
11
|
|
data/lib/deplate/fmt/dbk-ref.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# dbk-ref.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.2129
|
|
8
9
|
|
|
9
10
|
require "deplate/docbook"
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# dbk-slides.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 29-Apr-2005.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.16
|
|
8
9
|
|
|
9
10
|
require 'deplate/docbook'
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# docbook-snippet.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 11-Aug-2005.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.20
|
|
8
9
|
|
|
9
10
|
require 'deplate/fmt/dbk-article.rb'
|
|
10
11
|
require 'deplate/formatter-snippet.rb'
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# html-snippet.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 11-Aug-2005.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.14
|
|
8
9
|
|
|
9
10
|
require 'deplate/fmt/html.rb'
|
|
10
11
|
require 'deplate/formatter-snippet.rb'
|
data/lib/deplate/fmt/html.rb
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# fmt-html.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-05.
|
|
8
|
+
# @Revision: 0.4381
|
|
8
9
|
|
|
9
10
|
# require 'cgi'
|
|
10
11
|
require 'uri'
|
|
11
|
-
require 'parsedate'
|
|
12
|
+
require 'deplate/compat/parsedate'
|
|
12
13
|
require 'time'
|
|
13
14
|
require 'pathname'
|
|
14
15
|
|
|
@@ -133,6 +134,11 @@ class Deplate::Formatter::HTML < Deplate::Formatter
|
|
|
133
134
|
|
|
134
135
|
output_at(:post, :body_end, '</body>')
|
|
135
136
|
output_at(:post, :doc_end, '</html>')
|
|
137
|
+
|
|
138
|
+
@deplate.postponed_print << Proc.new do
|
|
139
|
+
ch = close_headings(0)
|
|
140
|
+
output_at(:body, :inner_body_end, ch)
|
|
141
|
+
end
|
|
136
142
|
end
|
|
137
143
|
|
|
138
144
|
def html_head
|
|
@@ -457,8 +463,6 @@ EOT
|
|
|
457
463
|
opts['class'] << 'plus'
|
|
458
464
|
when '*'
|
|
459
465
|
opts['class'] << 'asterisk'
|
|
460
|
-
when '�'
|
|
461
|
-
opts['class'] << 'bullet'
|
|
462
466
|
end
|
|
463
467
|
end
|
|
464
468
|
li = open_tag(invoker, 'li', opts)
|
|
@@ -646,7 +650,7 @@ EOT
|
|
|
646
650
|
end
|
|
647
651
|
end
|
|
648
652
|
|
|
649
|
-
def
|
|
653
|
+
def include_image_general(invoker, file, args, inline=false)
|
|
650
654
|
acc = []
|
|
651
655
|
|
|
652
656
|
file = args['file'] if args['file']
|
|
@@ -871,6 +875,9 @@ EOJS
|
|
|
871
875
|
if consume_label(id)
|
|
872
876
|
html_args += %{ id="#{id}"}
|
|
873
877
|
end
|
|
878
|
+
acc = [close_headings(level), '']
|
|
879
|
+
acc << @variables['htmlHeadingPre']
|
|
880
|
+
acc << @variables["htmlHeadingPre#{level}"]
|
|
874
881
|
if level > 0 and level <= 6
|
|
875
882
|
hd = "h#{level}"
|
|
876
883
|
if invoker.plain_caption?
|
|
@@ -879,10 +886,24 @@ EOJS
|
|
|
879
886
|
ls = invoker.level_as_string
|
|
880
887
|
ls += ' ' if ls
|
|
881
888
|
end
|
|
882
|
-
%{
|
|
889
|
+
acc << %{<#{hd}#{html_args}>#{l}#{ls}#{elt}</#{hd}>\n}
|
|
883
890
|
else
|
|
884
891
|
l += format_label(invoker, :string, [id]) if id
|
|
885
|
-
"
|
|
892
|
+
acc << "#{l}#{elt}"
|
|
893
|
+
end
|
|
894
|
+
acc.compact!
|
|
895
|
+
@deplate.options.headings << invoker
|
|
896
|
+
return join_blocks(acc)
|
|
897
|
+
end
|
|
898
|
+
|
|
899
|
+
def close_headings(level)
|
|
900
|
+
super(level) do |hlevel|
|
|
901
|
+
post = [@variables["htmlHeadingPost#{hlevel}"], @variables['htmlHeadingPost']].compact
|
|
902
|
+
if post.empty?
|
|
903
|
+
nil
|
|
904
|
+
else
|
|
905
|
+
join_blocks(post)
|
|
906
|
+
end
|
|
886
907
|
end
|
|
887
908
|
end
|
|
888
909
|
|
|
@@ -945,17 +966,19 @@ EOJS
|
|
|
945
966
|
################################################ Commands {{{1
|
|
946
967
|
def format_title(invoker)
|
|
947
968
|
acc = []
|
|
969
|
+
acc << @variables['htmlTitlePre']
|
|
948
970
|
acc << %{<div class="title">}
|
|
949
|
-
for i, c in [["title", %{
|
|
950
|
-
["author", %{
|
|
951
|
-
["authornote", %{
|
|
952
|
-
["date", %{
|
|
971
|
+
for i, c in [["title", %{<#{@variables['htmlTagTitle'] || 'p class="title"'}>%s</p>}],
|
|
972
|
+
["author", %{<#{@variables['htmlTagAuthor'] || 'p class="author"'}>%s</p>}],
|
|
973
|
+
["authornote", %{<#{@variables['htmlTagAuthorNote'] || 'p class="authornote"'}>%s</p>}],
|
|
974
|
+
["date", %{<#{@variables['htmlTagDate'] || 'p class="date"'}>%s</p>}]]
|
|
953
975
|
ii = @deplate.get_clip(i)
|
|
954
976
|
acc << c % ii.elt if ii
|
|
955
977
|
end
|
|
956
978
|
acc << %{</div>}
|
|
979
|
+
acc << @variables['htmlTitlePost']
|
|
957
980
|
acc << format_pagebreak(invoker, 'title') if invoker.args['page']
|
|
958
|
-
join_blocks(acc)
|
|
981
|
+
join_blocks(acc.compact)
|
|
959
982
|
end
|
|
960
983
|
|
|
961
984
|
alias :format_IMG :format_figure
|
|
@@ -1186,16 +1209,6 @@ EOJS
|
|
|
1186
1209
|
|
|
1187
1210
|
protected ######################################## private methods {{{1
|
|
1188
1211
|
################################################ General {{{1
|
|
1189
|
-
def clean_tags(text)
|
|
1190
|
-
if text
|
|
1191
|
-
t = text.gsub(/\<[^>]*?\>/, '')
|
|
1192
|
-
t.gsub!(/^\s*$/, '')
|
|
1193
|
-
t.gsub!(/^\n\s*/, '')
|
|
1194
|
-
t.gsub!(/\n\s*$/, '')
|
|
1195
|
-
t
|
|
1196
|
-
end
|
|
1197
|
-
end
|
|
1198
|
-
|
|
1199
1212
|
def format_header_or_footer(invoker, type, slot, html_type, html_class)
|
|
1200
1213
|
args = invoker.args
|
|
1201
1214
|
acc = []
|
|
@@ -1708,17 +1721,17 @@ EOJS
|
|
|
1708
1721
|
acc = []
|
|
1709
1722
|
start = navbar_guess_file_name(0, nil, :inline)
|
|
1710
1723
|
if start and start != ''
|
|
1711
|
-
|
|
1712
|
-
acc << head_link_tag(%{rel="start" href="#{start}" title="#{clean_tags(
|
|
1724
|
+
fp_title = @deplate.msg('Frontpage')
|
|
1725
|
+
acc << head_link_tag(%{rel="start" href="#{start}" title="#{clean_tags(fp_title)}"})
|
|
1713
1726
|
end
|
|
1714
1727
|
tags = ['', 'chapter', 'section', 'subsection']
|
|
1715
|
-
@deplate.each_heading(depth || @deplate.options.split_level) do |hd,
|
|
1728
|
+
@deplate.each_heading(depth || @deplate.options.split_level) do |hd, hd_title|
|
|
1716
1729
|
ref = tags[hd.level]
|
|
1717
1730
|
anchor = hd.args[:id] || hd.label.first
|
|
1718
1731
|
file = hd.output_file_name(:basename => true)
|
|
1719
1732
|
file = escape_filename(file)
|
|
1720
1733
|
file = [file, '#', anchor].join if anchor
|
|
1721
|
-
acc << head_link_tag(%{rel="#{ref}" href="#{file}" title="#{clean_tags(
|
|
1734
|
+
acc << head_link_tag(%{rel="#{ref}" href="#{file}" title="#{clean_tags(hd_title)}"})
|
|
1722
1735
|
end
|
|
1723
1736
|
acc.join("\n")
|
|
1724
1737
|
end
|
data/lib/deplate/fmt/htmlsite.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# htmlsite.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.1028
|
|
8
9
|
|
|
9
10
|
require "deplate/fmt/html"
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# fmt-html.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.811
|
|
8
9
|
|
|
9
10
|
require "deplate/fmt/htmlsite"
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# fmt-html.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change: 02-
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.444
|
|
8
9
|
|
|
9
10
|
require "deplate/fmt/htmlslides"
|
|
10
11
|
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# latex-snippet.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 11-Aug-2005.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-02.
|
|
8
|
+
# @Revision: 0.16
|
|
8
9
|
|
|
9
10
|
require 'deplate/fmt/latex.rb'
|
|
10
11
|
require 'deplate/formatter-snippet.rb'
|
data/lib/deplate/fmt/latex.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: ASCII
|
|
1
2
|
# latex.rb
|
|
2
3
|
# @Author: Thomas Link (micathom AT gmail com)
|
|
3
4
|
# @Website: http://deplate.sf.net/
|
|
4
5
|
# @License: GPL (see http://www.gnu.org/licenses/gpl.txt)
|
|
5
6
|
# @Created: 17-M�r-2004.
|
|
6
|
-
# @Last Change:
|
|
7
|
-
# @Revision: 0.
|
|
7
|
+
# @Last Change: 2009-02-05.
|
|
8
|
+
# @Revision: 0.2190
|
|
8
9
|
|
|
9
10
|
require "deplate/formatter"
|
|
10
11
|
|
|
@@ -93,6 +94,10 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
93
94
|
|
|
94
95
|
lco = lco.uniq.join(',')
|
|
95
96
|
output_at(:pre, :doc_def, "\\documentclass[#{lco}]{#{@document_class}}")
|
|
97
|
+
if @deplate.options.pdftex
|
|
98
|
+
pdfcompresslevel = (@deplate.variables['pdfCompressLevel'] || 9).to_i
|
|
99
|
+
output_at(:pre, :doc_def, "\\pdfcompresslevel#{pdfcompresslevel}")
|
|
100
|
+
end
|
|
96
101
|
|
|
97
102
|
set_document_encoding
|
|
98
103
|
|
|
@@ -378,7 +383,7 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
378
383
|
|
|
379
384
|
################################################ General {{{1
|
|
380
385
|
def format_environment(invoker, env, text, opts=nil)
|
|
381
|
-
join_blocks(["\\begin{#{env}}", text.rstrip, "\\end{#{env}}
|
|
386
|
+
join_blocks(["\\begin{#{env}}", text.rstrip, "\\end{#{env}}#{block_postfix(invoker)}"])
|
|
382
387
|
end
|
|
383
388
|
|
|
384
389
|
def format_label(invoker, mode=nil, label=nil)
|
|
@@ -444,71 +449,75 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
444
449
|
acc << "\\caption{#{caption.elt}}"
|
|
445
450
|
end
|
|
446
451
|
acc << format_label(invoker, :once)
|
|
447
|
-
acc << "\\end{figure}
|
|
452
|
+
acc << "\\end{figure}#{block_postfix(invoker)}"
|
|
448
453
|
join_blocks(acc)
|
|
449
454
|
end
|
|
450
455
|
|
|
451
|
-
def
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
file =
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
bw, bh, bx, by, desc = nil
|
|
460
|
-
@deplate.in_working_dir do
|
|
461
|
-
bw = args['bw']
|
|
462
|
-
bh = args['bh']
|
|
463
|
-
desc = Deplate::External.image_dimension(ff)
|
|
464
|
-
unless (bw and bh) or @deplate.options.pdftex
|
|
465
|
-
bw, bh, bx, by = desc[:bw]
|
|
456
|
+
def include_image_general(invoker, file, args, inline=false)
|
|
457
|
+
if args[:verbatim]
|
|
458
|
+
rv = args[:verbatim]
|
|
459
|
+
else
|
|
460
|
+
file = args['file'] if args['file']
|
|
461
|
+
if file =~ Deplate::HyperLink::Url.rx
|
|
462
|
+
Deplate::Core.log([%{Cannot include remote images in current document}, file], :error)
|
|
463
|
+
file = File.basename(file)
|
|
466
464
|
end
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
o << "
|
|
465
|
+
ff = use_image_filename(file, args)
|
|
466
|
+
o = []
|
|
467
|
+
bw, bh, bx, by, desc = nil
|
|
468
|
+
@deplate.in_working_dir do
|
|
469
|
+
bw = args['bw']
|
|
470
|
+
bh = args['bh']
|
|
471
|
+
desc = Deplate::External.image_dimension(ff)
|
|
472
|
+
unless (bw and bh) or @deplate.options.pdftex
|
|
473
|
+
bw, bh, bx, by = desc[:bw]
|
|
474
|
+
end
|
|
475
|
+
end
|
|
476
|
+
unless @deplate.options.pdftex
|
|
477
|
+
o << "bb=0 0 #{bw || "100"} #{bh || "100"}"
|
|
480
478
|
end
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
479
|
+
width = args['w'] || args['width']
|
|
480
|
+
if width
|
|
481
|
+
if width =~ /^\d+%$/
|
|
482
|
+
width = width.to_f / 100
|
|
483
|
+
o << "width=#{width}\\textwidth{}"
|
|
484
|
+
elsif width =~ /^[.\d]+(cm|mm|in|em|pt)$/
|
|
485
|
+
o << "width=#{width}"
|
|
486
|
+
else
|
|
487
|
+
o << "width=#{width}pt"
|
|
488
|
+
end
|
|
489
|
+
elsif !inline
|
|
490
|
+
bb = desc[:bw]
|
|
491
|
+
bw = bb ? bb[0] : nil
|
|
492
|
+
res = desc[:res]
|
|
493
|
+
if desc and bb and res
|
|
494
|
+
estimated_width = bw.to_f / res
|
|
495
|
+
if estimated_width > 6
|
|
496
|
+
o << "width=\\textwidth{}"
|
|
497
|
+
end
|
|
489
498
|
end
|
|
490
499
|
end
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
500
|
+
height = args['h']
|
|
501
|
+
if height
|
|
502
|
+
if height =~ /^\d+%$/
|
|
503
|
+
height = height.to_f / 100
|
|
504
|
+
o << "height=#{height}\\textheight{}"
|
|
505
|
+
elsif height =~ /^\d+(cm|mm|in|em|pt)$/
|
|
506
|
+
o << "height=#{height}"
|
|
507
|
+
else
|
|
508
|
+
o << "height=#{height}pt"
|
|
509
|
+
end
|
|
510
|
+
end
|
|
511
|
+
o = o.join(',')
|
|
512
|
+
if !o.empty?
|
|
513
|
+
o = "[#{o}]"
|
|
514
|
+
end
|
|
515
|
+
add_package('graphicx')
|
|
516
|
+
rv = "\\includegraphics#{o}{#{ff}}"
|
|
517
|
+
rot = args['rotate'] || @deplate.variables['imgRotate']
|
|
518
|
+
if rot
|
|
519
|
+
rv = %{\\rotatebox{#{rot}}{#{rv}}}
|
|
501
520
|
end
|
|
502
|
-
end
|
|
503
|
-
o = o.join(',')
|
|
504
|
-
if !o.empty?
|
|
505
|
-
o = "[#{o}]"
|
|
506
|
-
end
|
|
507
|
-
add_package('graphicx')
|
|
508
|
-
rv = "\\includegraphics#{o}{#{ff}}"
|
|
509
|
-
rot = args['rotate'] || @deplate.variables['imgRotate']
|
|
510
|
-
if rot
|
|
511
|
-
rv = %{\\rotatebox{#{rot}}{#{rv}}}
|
|
512
521
|
end
|
|
513
522
|
return rv
|
|
514
523
|
end
|
|
@@ -670,7 +679,7 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
670
679
|
acc << lab
|
|
671
680
|
end
|
|
672
681
|
acc << printable_list(invoker)
|
|
673
|
-
acc << ""
|
|
682
|
+
acc << "" unless invoker.inlay?
|
|
674
683
|
join_blocks(acc)
|
|
675
684
|
end
|
|
676
685
|
|
|
@@ -683,7 +692,7 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
683
692
|
|
|
684
693
|
def format_paragraph(invoker)
|
|
685
694
|
rv = wrap_text(invoker.elt)
|
|
686
|
-
if invoker.args[:minor]
|
|
695
|
+
if invoker.args[:minor] or invoker.inlay?
|
|
687
696
|
return rv
|
|
688
697
|
else
|
|
689
698
|
return join_blocks([rv, ""])
|
|
@@ -756,10 +765,12 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
756
765
|
acc << with_agent(:table_top, String, invoker, capAbove, nil)
|
|
757
766
|
acc << elt
|
|
758
767
|
acc << with_agent(:table_bottom, String, invoker, capAbove, nil)
|
|
759
|
-
|
|
768
|
+
elsif args["type"] == "fig"
|
|
760
769
|
acc << with_agent(:figure_top, String, invoker)
|
|
761
770
|
acc << elt
|
|
762
771
|
acc << with_agent(:figure_bottom, String, invoker)
|
|
772
|
+
else
|
|
773
|
+
acc << elt
|
|
763
774
|
end
|
|
764
775
|
join_blocks(acc)
|
|
765
776
|
end
|
|
@@ -791,7 +802,8 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
791
802
|
acc << "\\maketitle\n" if elts.include?("title")
|
|
792
803
|
# and elts.include?("author")
|
|
793
804
|
kw = keywords
|
|
794
|
-
acc << %{#{@deplate.msg("Keywords:")} #{kw.join(", ")}}
|
|
805
|
+
acc << %{#{@deplate.msg("Keywords:")} #{kw.join(", ")}} if kw
|
|
806
|
+
acc << "" unless invoker.inlay?
|
|
795
807
|
# end
|
|
796
808
|
join_blocks(acc)
|
|
797
809
|
end
|
|
@@ -836,7 +848,8 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
836
848
|
# dest = "file://" + File.expand_path(dest)
|
|
837
849
|
# end
|
|
838
850
|
dest = Deplate::HyperLink.url_anchor(dest, anchor)
|
|
839
|
-
dest.gsub!(/([&%#])/, "\\\\\\1")
|
|
851
|
+
# dest.gsub!(/([&%#])/, "\\\\\\1")
|
|
852
|
+
dest.gsub!(/([%#])/, "\\\\\\1")
|
|
840
853
|
"\\href{%s}{%s}" % [dest, name]
|
|
841
854
|
end
|
|
842
855
|
|
|
@@ -980,7 +993,7 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
980
993
|
elsif n
|
|
981
994
|
o << "[]"
|
|
982
995
|
end
|
|
983
|
-
o = o.
|
|
996
|
+
o = o.empty? ? '' : o.join
|
|
984
997
|
if np
|
|
985
998
|
cmd = if y then 'citeyear' else 'citealp' end
|
|
986
999
|
elsif ip
|
|
@@ -1441,7 +1454,10 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
1441
1454
|
|
|
1442
1455
|
def float_options(invoker)
|
|
1443
1456
|
args = invoker.args
|
|
1444
|
-
if args["here"] or @deplate.variables["floatHere"]
|
|
1457
|
+
if args["here"] == "H" or @deplate.variables["floatHere"] == "H"
|
|
1458
|
+
floatPos = "[H]"
|
|
1459
|
+
add_package("float")
|
|
1460
|
+
elsif args["here"] or @deplate.variables["floatHere"]
|
|
1445
1461
|
floatPos = "[hptb]"
|
|
1446
1462
|
else
|
|
1447
1463
|
floatPos = nil
|
|
@@ -1460,6 +1476,11 @@ class Deplate::Formatter::LaTeX < Deplate::Formatter
|
|
|
1460
1476
|
end
|
|
1461
1477
|
return floatPos, alignCmd
|
|
1462
1478
|
end
|
|
1479
|
+
|
|
1480
|
+
def block_postfix(invoker)
|
|
1481
|
+
return invoker.inlay? ? "" : "\n"
|
|
1482
|
+
end
|
|
1483
|
+
|
|
1463
1484
|
end
|
|
1464
1485
|
|
|
1465
1486
|
|