Class: Condom::Presentation

Inherits:
Base
  • Object
show all
Defined in:
lib/condom/presentation.rb

Overview

The Presentation class. This class is used to produce Beamer presentation.

Instance Attribute Summary collapse

Attributes inherited from Base

#author, #date, #directory, #document_class, #filename, #language, #other_packages, #title

Instance Method Summary collapse

Methods inherited from Base

#get_options, #set_options

Constructor Details

#initialize(args = nil) ⇒ Presentation

The constructor. Argument could be:

  • nothing,

  • the title of the document,

  • a hash of options.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/condom/presentation.rb', line 13

def initialize(args = nil)
  # Need to initialize each variables else they won't exist in instance_variables.
  @listings = @graphics = @math = nil

  # The default options
  options = {
    :document_class => 'beamer',
    :title          => 'Presentation \LaTeX',
    :filename       => 'presentation',
    :listings       => false,
    :graphics       => true,
    :math           => false
  }

  if args.is_a? String
    options[:title] = args
  elsif args.is_a? Hash
    options.merge! args
  end

  super(options)
end

Instance Attribute Details

#graphicsObject

Returns the value of attribute graphics.



6
7
8
# File 'lib/condom/presentation.rb', line 6

def graphics
  @graphics
end

#listingsObject

Returns the value of attribute listings.



6
7
8
# File 'lib/condom/presentation.rb', line 6

def listings
  @listings
end

#mathObject

Returns the value of attribute math.



6
7
8
# File 'lib/condom/presentation.rb', line 6

def math
  @math
end

Instance Method Details

#createObject

This method will write in the output directory all needed files.



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/condom/presentation.rb', line 37

def create
  in_directory do
    # Create files
    build "presentation.tex"
    File.rename("presentation.tex", "main.tex")
    build "Makefile"
    if @graphics
      build "fig.tex"
      Dir.mkdir "fig"
    end
    Dir.mkdir "src" if @listings
    Dir.mkdir "inc"
    Dir.chdir "inc" do
      build "packages.tex"
      build "commands.tex"
      build "colors.tex"
      build "listings.tex" if @listings
    end
  end
end