lib/softcover/builder.rb in softcover-0.8.9 vs lib/softcover/builder.rb in softcover-0.9.0
- old
+ new
@@ -8,10 +8,11 @@
@manifest = Softcover::BookManifest.new(verify_paths: true,
source: source)
@built_files = []
ensure_style_file_locations
write_polytexnic_commands_file
+ write_language_customization_file
end
def build!(options={})
setup
build(options)
@@ -49,10 +50,37 @@
end
end
# Writes out the PolyTeXnic commands from polytexnic.
def write_polytexnic_commands_file
- styles_dir = File.join(Dir.pwd, Softcover::Directories::STYLES)
Polytexnic.write_polytexnic_style_file(styles_dir)
end
+
+ def write_language_customization_file
+ filename = File.join(styles_dir, 'language_customization.sty')
+ contents = listing_customization
+ File.write(filename, contents)
+ end
+
+ def styles_dir
+ File.join(Dir.pwd, Softcover::Directories::STYLES)
+ end
+
+
+ def listing_customization
+ listing = language_labels["listing"].downcase
+ box = language_labels["aside"]
+ <<-EOS
+% Aside box label
+\\renewcommand{\\boxlabel}{#{box}}
+
+% Codelisting captions
+\\usepackage[hypcap=false]{caption}
+\\DeclareCaptionFormat{#{listing}}{\\hspace{-0.2em}\\colorbox[gray]{.85}{\\hspace{0.1em}\\parbox{0.997\\textwidth}{#1#2#3}}\\vspace{-1.3\\baselineskip}}
+\\captionsetup[#{listing}]{format=#{listing},labelfont=bf,skip=16pt,font={rm,normalsize}}
+\\DeclareCaptionType{#{listing}}
+\\newcommand{\\codecaption}[1]{\\captionof{#{listing}}{#1}}
+ EOS
+ end
+
end
end
\ No newline at end of file