condom 1.0.1 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +15 -5
- data/LICENSE +6 -0
- data/README.rdoc +29 -16
- data/bin/condom +51 -22
- data/lib/condom.rb +4 -3
- data/lib/condom/base.rb +0 -2
- data/lib/condom/{document.rb → classic.rb} +6 -6
- data/lib/condom/cv.rb +46 -0
- data/lib/condom/presentation.rb +0 -1
- data/lib/views/{document.tex.erb → classic.tex.erb} +1 -1
- data/lib/views/cv.tex.erb +135 -0
- data/lib/views/fig.tex.erb +2 -0
- data/lib/views/{flyleaf.tex.erb → first-page.tex.erb} +1 -1
- metadata +19 -16
data/CHANGELOG.rdoc
CHANGED
@@ -1,11 +1,21 @@
|
|
1
|
+
== 2.0.0
|
2
|
+
|
3
|
+
* Added the BEER-WARE license.
|
4
|
+
* Added a CV class.
|
5
|
+
* Renamed 'flyleaf.tex' into 'first-page.tex'.
|
6
|
+
* Renamed the 'Document' class into 'Classic'.
|
7
|
+
* The executable now:
|
8
|
+
* understands 'article', 'report' and 'book' instead of 'document' type;
|
9
|
+
* prompts for type confirmation only when it is not already defined by the user.
|
10
|
+
|
1
11
|
== 1.0.1
|
2
12
|
|
3
13
|
* Added fixes for 1.9.* Ruby versions:
|
4
|
-
*
|
5
|
-
*
|
6
|
-
* Renamed main.tex.erb to document.tex.erb
|
7
|
-
* Renamed lst-conf.tex.erb to listings.tex.erb
|
8
|
-
* Cleaned generated LaTeX code indentation
|
14
|
+
* added a workaround for instance_variables method (see set_options in base.rb);
|
15
|
+
* used RUBY_PLATFORM instead of PLATFORM (removed in 1.9.1).
|
16
|
+
* Renamed main.tex.erb to document.tex.erb.
|
17
|
+
* Renamed lst-conf.tex.erb to listings.tex.erb.
|
18
|
+
* Cleaned generated LaTeX code indentation.
|
9
19
|
|
10
20
|
== 1.0.0
|
11
21
|
|
data/LICENSE
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
-------------------------------------------------------------------------------
|
2
|
+
"THE BEER-WARE LICENSE" (Revision 42):
|
3
|
+
<vivien.didelot@gmail.com> wrote this gem. As long as you retain this notice
|
4
|
+
you can do whatever you want with this stuff. If we meet some day, and you
|
5
|
+
think this stuff is worth it, you can buy me a beer in return. Vivien Didelot
|
6
|
+
-------------------------------------------------------------------------------
|
data/README.rdoc
CHANGED
@@ -12,9 +12,10 @@ The compilation, cleanup and interaction with the sources
|
|
12
12
|
are facilitated by the usage of a Makefile (see the Usage section below).
|
13
13
|
|
14
14
|
The document types supported for the moment are:
|
15
|
-
*
|
16
|
-
*
|
17
|
-
*
|
15
|
+
* any classic type (article, report, book, ...);
|
16
|
+
* presentation (i.e. a beamer document);
|
17
|
+
* letter;
|
18
|
+
* Curriculum Vitae (i.e. a moderncv document).
|
18
19
|
|
19
20
|
== Installation
|
20
21
|
|
@@ -22,22 +23,25 @@ Condom is available on Rubygems.org[http://rubygems.org/gems/condom] and can be
|
|
22
23
|
|
23
24
|
$ gem install condom
|
24
25
|
|
25
|
-
This command needs Rubygems (rubygems package on Ubuntu).
|
26
|
+
This command needs Rubygems ('rubygems' package on Ubuntu).
|
26
27
|
|
27
28
|
== Usage
|
28
29
|
|
29
|
-
===
|
30
|
+
=== The condom executable
|
30
31
|
|
31
32
|
Condom gem provides a 'condom' shell command.
|
32
33
|
|
33
34
|
$ condom --help
|
34
35
|
Usage: condom [type] [options]
|
35
|
-
|
36
|
+
|
36
37
|
Available types:
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
article (default) i.e. the 'article' class
|
39
|
+
report i.e. the 'report' class
|
40
|
+
book i.e. the 'book' class
|
41
|
+
presentation i.e. the 'beamer' class
|
42
|
+
letter i.e. the 'letter' class
|
43
|
+
cv i.e. the 'moderncv' class
|
44
|
+
|
41
45
|
Available options:
|
42
46
|
-n, --filename=FILENAME Define a file name
|
43
47
|
-a, --author=AUTHOR Define the author
|
@@ -50,11 +54,14 @@ Condom gem provides a 'condom' shell command.
|
|
50
54
|
-q, --quiet Don't ask any question
|
51
55
|
-v, --version Print Condom version
|
52
56
|
|
57
|
+
The type is just a shortcut (and maybe an alias) to define the LaTeX document class and choose the corresponding Condom class.
|
58
|
+
The options are options common to every Condom classes. Specific options (such as "recipient" for the letter) will be prompt if --quiet option is not given.
|
59
|
+
|
53
60
|
For example, you can easily generate a set of files for a presentation in a folder named 'My Presentation' using:
|
54
61
|
|
55
62
|
condom presentation -o "My Presentation"
|
56
63
|
|
57
|
-
Unless the --quiet option is used, every options will be prompted for confirmation until the validation of the user (the type will be prompted just one time).
|
64
|
+
Unless the --quiet option is used, every options will be prompted for confirmation until the validation of the user (the type will be prompted just one time, if it is not already defined).
|
58
65
|
|
59
66
|
In generated files, there is a Makefile (see the Technique section below for more information about the file organization).
|
60
67
|
Just use your document (from the source folder) with the following commands.
|
@@ -68,14 +75,14 @@ clean sources (remove .out, .toc, etc. files) with:
|
|
68
75
|
archive the whole document with:
|
69
76
|
$ make archive
|
70
77
|
|
71
|
-
===
|
78
|
+
=== The Condom lib
|
72
79
|
|
73
80
|
You can use the lib to create your document (e.g. using IRB).
|
74
81
|
Here's a quick overview of its operation.
|
75
82
|
|
76
|
-
Create a document with:
|
83
|
+
Create a document (article, report or book) with:
|
77
84
|
|
78
|
-
doc = Condom::
|
85
|
+
doc = Condom::Classic.new
|
79
86
|
|
80
87
|
or a presentation with:
|
81
88
|
|
@@ -85,13 +92,17 @@ or a letter with:
|
|
85
92
|
|
86
93
|
doc = Condom::Letter.new
|
87
94
|
|
95
|
+
or a Resumé with:
|
96
|
+
|
97
|
+
doc = Condom::CV.new
|
98
|
+
|
88
99
|
All constructors of these classes will use default values, but also accept:
|
89
100
|
* no argument
|
90
101
|
* a String: will be the title of the document
|
91
102
|
* a Hash of options. Keys of the options hash should be symbols with the same name than the attributes of the class.
|
92
103
|
i.e.:
|
93
104
|
|
94
|
-
doc = Condom::
|
105
|
+
doc = Condom::Classic.new(:document_class => "report", :math => true, :directory => "here")
|
95
106
|
|
96
107
|
You can get all options with:
|
97
108
|
|
@@ -111,7 +122,7 @@ This method will generate all files in the output directory.
|
|
111
122
|
== Technique
|
112
123
|
|
113
124
|
The following command:
|
114
|
-
$ condom
|
125
|
+
$ condom report -t "Condom makes LaTeX easier" -o here
|
115
126
|
|
116
127
|
may result the creation of these folders/files:
|
117
128
|
$ tree here/
|
@@ -121,6 +132,7 @@ may result the creation of these folders/files:
|
|
121
132
|
├── inc
|
122
133
|
│ ├── colors.tex
|
123
134
|
│ ├── commands.tex
|
135
|
+
│ ├── first-page.tex
|
124
136
|
│ ├── listings.tex
|
125
137
|
│ └── packages.tex
|
126
138
|
├── main.tex
|
@@ -134,6 +146,7 @@ This is the folder where you should put your images.
|
|
134
146
|
This folder has all configuration tex files:
|
135
147
|
* colors.tex - customized colors
|
136
148
|
* commands.tex - customized commands
|
149
|
+
* first-page.tex - customized first-page (only for reports)
|
137
150
|
* listings.tex - configuration file for the listings package
|
138
151
|
* packages - all needed packages
|
139
152
|
|
data/bin/condom
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
1
3
|
# Command line tool for Condom
|
2
4
|
#
|
3
5
|
# Author:: Vivien 'v0n' Didelot <vivien.didelot@gmail.com>
|
@@ -7,15 +9,19 @@ require 'condom'
|
|
7
9
|
require 'optparse'
|
8
10
|
|
9
11
|
quiet = false
|
10
|
-
|
12
|
+
classic_classes = ['article', 'report', 'book']
|
13
|
+
types = ['presentation', 'letter', 'cv'].unshift(classic_classes).flatten
|
11
14
|
ops = {:other_packages => []}
|
12
15
|
|
13
16
|
ARGV.options do |o|
|
14
17
|
o.banner = "Usage: #{File.basename $0} [type] [options]\n"
|
15
18
|
o.on_head("\nAvailable types:",
|
16
|
-
"
|
17
|
-
"
|
18
|
-
"
|
19
|
+
" article (default) i.e. the 'article' class",
|
20
|
+
" report i.e. the 'report' class",
|
21
|
+
" book i.e. the 'book' class",
|
22
|
+
" presentation i.e. the 'beamer' class",
|
23
|
+
" letter i.e. the 'letter' class",
|
24
|
+
" cv i.e. the 'moderncv' class",
|
19
25
|
"\nAvailable options:")
|
20
26
|
o.on("-n", "--filename=FILENAME", String, "Define a file name") { |v| ops[:filename] = v }
|
21
27
|
o.on("-a", "--author=AUTHOR", String, "Define the author") { |v| ops[:author] = v }
|
@@ -31,42 +37,65 @@ end
|
|
31
37
|
|
32
38
|
begin
|
33
39
|
ARGV.options.parse!
|
34
|
-
|
40
|
+
error_msg = "Bad syntax. Try \`#{File.basename $0} --help' for more information."
|
41
|
+
raise error_msg if ARGV.length > 1
|
42
|
+
|
43
|
+
is_doc_class_explicitly_set = true # We first supposed a type is defined by user
|
35
44
|
|
36
|
-
if ARGV.
|
37
|
-
|
38
|
-
|
45
|
+
if ARGV.length == 1
|
46
|
+
type = ARGV.first
|
47
|
+
if classic_classes.include? type
|
48
|
+
ops[:document_class] = type
|
49
|
+
type = "classic"
|
50
|
+
end
|
51
|
+
doc = case type
|
52
|
+
when 'classic' then Condom::Classic.new
|
39
53
|
when 'presentation' then Condom::Presentation.new
|
40
54
|
when 'letter' then Condom::Letter.new
|
41
|
-
|
55
|
+
when 'cv' then Condom::CV.new
|
56
|
+
else raise error_msg
|
42
57
|
end
|
43
58
|
elsif ops.has_key? :document_class
|
44
59
|
doc = case ops[:document_class]
|
45
60
|
when 'beamer' then Condom::Presentation.new
|
46
61
|
when 'letter' then Condom::Letter.new
|
47
|
-
|
62
|
+
when 'moderncv' then Condom::CV.new
|
63
|
+
else Condom::Classic.new
|
48
64
|
end
|
49
65
|
else
|
50
|
-
|
66
|
+
is_doc_class_explicitly_set = false
|
67
|
+
doc = Condom::Classic.new
|
51
68
|
end
|
52
69
|
|
53
70
|
doc.set_options(ops)
|
54
71
|
|
55
72
|
unless quiet
|
56
73
|
# Ask for confirmation
|
74
|
+
format = " %-17s [%s]: " # Question format
|
57
75
|
puts "Enter the new value, or press ENTER for the default"
|
58
|
-
|
59
|
-
doc_type = doc.class.to_s.split('::').last.downcase
|
60
|
-
printf " %-17s [%s]: ", "type", doc_type
|
61
|
-
type = STDIN.gets.strip
|
62
|
-
doc = case type
|
63
|
-
when 'document' then Condom::Document.new(ops)
|
64
|
-
when 'presentation' then Condom::Presentation.new(ops)
|
65
|
-
when 'letter' then Condom::Letter.new(ops)
|
66
|
-
else raise "Bad syntax. Try \`#{File.basename $0} --help' for more information."
|
67
|
-
end unless type.empty? || type == doc_type
|
68
76
|
puts
|
69
77
|
|
78
|
+
unless is_doc_class_explicitly_set
|
79
|
+
puts "The type can be #{types.map { |t| "'#{t}'" }.join ', '}."
|
80
|
+
|
81
|
+
doc_type = doc.class.to_s.split('::').last.downcase
|
82
|
+
doc_type = doc.document_class if doc_type == "classic"
|
83
|
+
printf format, "type", doc_type
|
84
|
+
type = STDIN.gets.strip
|
85
|
+
if classic_classes.include? type
|
86
|
+
ops[:document_class] = type
|
87
|
+
type = "classic"
|
88
|
+
end
|
89
|
+
doc = case type
|
90
|
+
when 'classic' then Condom::Classic.new(ops)
|
91
|
+
when 'presentation' then Condom::Presentation.new(ops)
|
92
|
+
when 'letter' then Condom::Letter.new(ops)
|
93
|
+
when 'cv' then Condom::CV.new(ops)
|
94
|
+
else raise error_msg
|
95
|
+
end unless type.empty?
|
96
|
+
puts
|
97
|
+
end
|
98
|
+
|
70
99
|
loop do
|
71
100
|
ops = Hash.new
|
72
101
|
doc.get_options.each do |key, value|
|
@@ -76,7 +105,7 @@ begin
|
|
76
105
|
when Array then value.join(', ')
|
77
106
|
else value
|
78
107
|
end
|
79
|
-
printf
|
108
|
+
printf format, key, displayed_value
|
80
109
|
new_value = STDIN.gets.strip
|
81
110
|
ops[key] = if value.is_a?(FalseClass) && new_value == "yes" then true
|
82
111
|
elsif value.is_a?(TrueClass) && new_value == "no" then false
|
data/lib/condom.rb
CHANGED
@@ -4,15 +4,16 @@
|
|
4
4
|
# See:: http://github.com/v0n/condom
|
5
5
|
|
6
6
|
require "condom/base"
|
7
|
-
require "condom/
|
8
|
-
require "condom/document"
|
7
|
+
require "condom/classic"
|
9
8
|
require "condom/presentation"
|
9
|
+
require "condom/letter"
|
10
|
+
require "condom/cv"
|
10
11
|
|
11
12
|
require "etc"
|
12
13
|
|
13
14
|
module Condom
|
14
15
|
# Lib version
|
15
|
-
VERSION = '1.0
|
16
|
+
VERSION = '1.1.0'
|
16
17
|
|
17
18
|
# Constant views directory
|
18
19
|
VIEWS_DIR = File.join(File.expand_path(File.dirname(__FILE__)), 'views')
|
data/lib/condom/base.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# The Condom module
|
2
2
|
module Condom
|
3
|
-
# The
|
4
|
-
# This class is used to produce classic document such as article, report
|
5
|
-
class
|
3
|
+
# The Classic class.
|
4
|
+
# This class is used to produce a classic document such as an article, a report or a book.
|
5
|
+
class Classic < Condom::Base
|
6
6
|
attr_accessor :listings, :fancyhdr, :graphics, :math, :pdf
|
7
7
|
|
8
8
|
# The constructor.
|
@@ -37,8 +37,8 @@ module Condom
|
|
37
37
|
def create
|
38
38
|
in_directory do
|
39
39
|
# Create files
|
40
|
-
build "
|
41
|
-
File.rename("
|
40
|
+
build "classic.tex"
|
41
|
+
File.rename("classic.tex", "main.tex")
|
42
42
|
build "Makefile"
|
43
43
|
if @graphics
|
44
44
|
build "fig.tex"
|
@@ -51,7 +51,7 @@ module Condom
|
|
51
51
|
build "commands.tex"
|
52
52
|
build "colors.tex"
|
53
53
|
build "listings.tex" if @listings
|
54
|
-
build "
|
54
|
+
build "first-page.tex" if @document_class == "report"
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
data/lib/condom/cv.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# The Condom module
|
2
|
+
module Condom
|
3
|
+
# The CV class.
|
4
|
+
# This class is used to produce a résumé.
|
5
|
+
class CV < Condom::Base
|
6
|
+
attr_accessor :theme, :color
|
7
|
+
|
8
|
+
# The constructor.
|
9
|
+
# Argument could be:
|
10
|
+
# * nothing,
|
11
|
+
# * the title of the document,
|
12
|
+
# * a hash of options.
|
13
|
+
def initialize(args = nil)
|
14
|
+
# Need to initialize each variables else they won't exist in instance_variables.
|
15
|
+
@theme = @color = nil
|
16
|
+
|
17
|
+
# The default options
|
18
|
+
options = {
|
19
|
+
:document_class => 'moderncv',
|
20
|
+
:title => 'Curriculum Vitae',
|
21
|
+
:filename => 'cv',
|
22
|
+
:theme => 'classic',
|
23
|
+
:color => 'grey'
|
24
|
+
}
|
25
|
+
|
26
|
+
if args.is_a? String
|
27
|
+
options[:title] = args
|
28
|
+
elsif args.is_a? Hash
|
29
|
+
options.merge! args
|
30
|
+
end
|
31
|
+
|
32
|
+
super(options)
|
33
|
+
end
|
34
|
+
|
35
|
+
# This method will write in the output directory all needed files.
|
36
|
+
def create
|
37
|
+
in_directory do
|
38
|
+
# Create files
|
39
|
+
build "cv.tex"
|
40
|
+
File.rename("cv.tex", "main.tex")
|
41
|
+
build "Makefile"
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
data/lib/condom/presentation.rb
CHANGED
@@ -0,0 +1,135 @@
|
|
1
|
+
% LaTeX CV skeleton
|
2
|
+
% generated on <%= Time.now %>
|
3
|
+
% by <%= @author %>
|
4
|
+
% With the Condom lib (version <%= Condom::VERSION %>)
|
5
|
+
% See http://github.com/v0n/condom
|
6
|
+
|
7
|
+
%% Copyright 2006-2010 Xavier Danaux (xdanaux@gmail.com).
|
8
|
+
%
|
9
|
+
% This work may be distributed and/or modified under the
|
10
|
+
% conditions of the LaTeX Project Public License version 1.3c,
|
11
|
+
% available at http://www.latex-project.org/lppl/.
|
12
|
+
%
|
13
|
+
% See http://www.ctan.org/tex-archive/macros/latex/contrib/moderncv/examples/
|
14
|
+
% for the full template with publications.bib file and everything.
|
15
|
+
|
16
|
+
\documentclass[11pt,a4paper]{moderncv}
|
17
|
+
|
18
|
+
% moderncv themes
|
19
|
+
\moderncvtheme[<%= @color %>]{<%= @theme %>} % optional argument are 'blue' (default), 'orange', 'red', 'green', 'grey' and 'roman' (for roman fonts, instead of sans serif fonts)
|
20
|
+
%\moderncvtheme[green]{classic} % idem. Theme can be 'classic' or 'casual'
|
21
|
+
|
22
|
+
% character encoding
|
23
|
+
\usepackage[<%= (RUBY_PLATFORM.include? 'linux') ? 'utf8' : 'latin1' %>]{inputenc} % replace by the encoding you are using
|
24
|
+
|
25
|
+
% adjust the page margins
|
26
|
+
\usepackage[scale=0.8]{geometry}
|
27
|
+
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
|
28
|
+
%\AtBeginDocument{\setlength{\maketitlenamewidth}{6cm}} % only for the classic theme, if you want to change the width of your name placeholder (to leave more space for your address details
|
29
|
+
%\AtBeginDocument{\recomputelengths} % required when changes are made to page layout lengths
|
30
|
+
|
31
|
+
% personal data
|
32
|
+
\firstname{<%= @author.split[0] %>}
|
33
|
+
\familyname{<%= @author.split[1..-1].join(' ') %>}
|
34
|
+
\title{<%= @title %>} % optional, remove the line if not wanted
|
35
|
+
\address{street and number}{postcode city} % optional, remove the line if not wanted
|
36
|
+
\mobile{mobile (optional)} % optional, remove the line if not wanted
|
37
|
+
\phone{phone (optional)} % optional, remove the line if not wanted
|
38
|
+
\fax{fax (optional)} % optional, remove the line if not wanted
|
39
|
+
\email{email (optional)} % optional, remove the line if not wanted
|
40
|
+
%\homepage{homepage (optional)} % optional, remove the line if not wanted
|
41
|
+
\extrainfo{additional information (optional)} % optional, remove the line if not wanted
|
42
|
+
%\photo[64pt]{picture} % '64pt' is the height the picture must be resized to and 'picture' is the name of the picture file; optional, remove the line if not wanted
|
43
|
+
\quote{Some quote (optional)} % optional, remove the line if not wanted
|
44
|
+
|
45
|
+
% to show numerical labels in the bibliography; only useful if you make citations in your resume
|
46
|
+
%\makeatletter
|
47
|
+
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
|
48
|
+
%\makeatother
|
49
|
+
|
50
|
+
% bibliography with mutiple entries
|
51
|
+
%\usepackage{multibib}
|
52
|
+
%\newcites{book,misc}{{Books},{Others}}
|
53
|
+
|
54
|
+
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
|
55
|
+
%----------------------------------------------------------------------------------
|
56
|
+
% content
|
57
|
+
%----------------------------------------------------------------------------------
|
58
|
+
\begin{document}
|
59
|
+
\maketitle
|
60
|
+
|
61
|
+
\section{Education}
|
62
|
+
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
|
63
|
+
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
|
64
|
+
|
65
|
+
\section{Master thesis}
|
66
|
+
\cvline{title}{\emph{Title}}
|
67
|
+
\cvline{supervisors}{Supervisors}
|
68
|
+
\cvline{description}{\small Short thesis abstract}
|
69
|
+
|
70
|
+
\section{Experience}
|
71
|
+
\subsection{Vocational}
|
72
|
+
\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}%
|
73
|
+
Detailed achievements:%
|
74
|
+
\begin{itemize}%
|
75
|
+
\item Achievement 1;
|
76
|
+
\item Achievement 2, with sub-achievements:
|
77
|
+
\begin{itemize}%
|
78
|
+
\item Sub-achievement (a);
|
79
|
+
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
|
80
|
+
\begin{itemize}
|
81
|
+
\item Sub-sub-achievement i;
|
82
|
+
\item Sub-sub-achievement ii;
|
83
|
+
\item Sub-sub-achievement iii;
|
84
|
+
\end{itemize}
|
85
|
+
\item Sub-achievement (c);
|
86
|
+
\end{itemize}
|
87
|
+
\item Achievement 3.
|
88
|
+
\end{itemize}}
|
89
|
+
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2}
|
90
|
+
\subsection{Miscellaneous}
|
91
|
+
\cventry{year--year}{Job title}{Employer}{City}{}{Description}
|
92
|
+
|
93
|
+
\section{Languages}
|
94
|
+
\cvlanguage{Language 1}{Skill level}{Comment}
|
95
|
+
\cvlanguage{Language 2}{Skill level}{Comment}
|
96
|
+
\cvlanguage{Language 3}{Skill level}{Comment}
|
97
|
+
|
98
|
+
\section{Computer skills}
|
99
|
+
\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
|
100
|
+
\cvcomputer{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
|
101
|
+
\cvcomputer{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
|
102
|
+
|
103
|
+
\section{Interests}
|
104
|
+
\cvline{hobby 1}{\small Description}
|
105
|
+
\cvline{hobby 2}{\small Description}
|
106
|
+
\cvline{hobby 3}{\small Description}
|
107
|
+
|
108
|
+
\section{Extra 1}
|
109
|
+
\cvlistitem{Item 1}
|
110
|
+
\cvlistitem{Item 2}
|
111
|
+
\cvlistitem[+]{Item 3} % optional other symbol
|
112
|
+
|
113
|
+
\renewcommand{\listitemsymbol}{-} % change the symbol for lists
|
114
|
+
|
115
|
+
\section{Extra 2}
|
116
|
+
\cvlistdoubleitem{Item 1}{Item 4}
|
117
|
+
%\cvlistdoubleitem{Item 2}{Item 5 \cite{book1}}
|
118
|
+
\cvlistdoubleitem{Item 3}{}
|
119
|
+
|
120
|
+
% Publications from a BibTeX file without multibib\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% for BibTeX numerical labels
|
121
|
+
%\nocite{*}
|
122
|
+
%\bibliographystyle{plain}
|
123
|
+
%\bibliography{publications} % 'publications' is the name of a BibTeX file
|
124
|
+
|
125
|
+
% Publications from a BibTeX file using the multibib package
|
126
|
+
%\section{Publications}
|
127
|
+
%\nocitebook{book1,book2}
|
128
|
+
%\bibliographystylebook{plain}
|
129
|
+
%\bibliographybook{publications} % 'publications' is the name of a BibTeX file
|
130
|
+
%\nocitemisc{misc1,misc2,misc3}
|
131
|
+
%\bibliographystylemisc{plain}
|
132
|
+
%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
|
133
|
+
|
134
|
+
\end{document}
|
135
|
+
|
data/lib/views/fig.tex.erb
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
% With the Condom lib (version <%= Condom::VERSION %>)
|
5
5
|
% See http://github.com/v0n/condom
|
6
6
|
|
7
|
+
% This file is useless, it's just a note about images manipulation with LaTeX.
|
8
|
+
|
7
9
|
% [!h] est facultatif, ca permet d'indiquer la position de la figure (si possible !)
|
8
10
|
% ! = forcer la position
|
9
11
|
% h = here
|
metadata
CHANGED
@@ -3,10 +3,10 @@ name: condom
|
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
|
-
-
|
6
|
+
- 2
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version:
|
8
|
+
- 0
|
9
|
+
version: 2.0.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Vivien Didelot
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-12-10 00:00:00 +01:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -27,23 +27,26 @@ extensions: []
|
|
27
27
|
extra_rdoc_files: []
|
28
28
|
|
29
29
|
files:
|
30
|
-
- lib/
|
31
|
-
- lib/
|
32
|
-
- lib/
|
33
|
-
- lib/
|
34
|
-
- lib/
|
35
|
-
- lib/
|
36
|
-
- lib/views/letter.tex.erb
|
30
|
+
- lib/condom.rb
|
31
|
+
- lib/condom/presentation.rb
|
32
|
+
- lib/condom/cv.rb
|
33
|
+
- lib/condom/letter.rb
|
34
|
+
- lib/condom/classic.rb
|
35
|
+
- lib/condom/base.rb
|
37
36
|
- lib/views/colors.tex.erb
|
38
37
|
- lib/views/Makefile.erb
|
39
38
|
- lib/views/commands.tex.erb
|
40
|
-
- lib/
|
41
|
-
- lib/
|
42
|
-
- lib/
|
43
|
-
- lib/
|
44
|
-
- lib/
|
39
|
+
- lib/views/listings.tex.erb
|
40
|
+
- lib/views/fig.tex.erb
|
41
|
+
- lib/views/packages.tex.erb
|
42
|
+
- lib/views/letter.tex.erb
|
43
|
+
- lib/views/presentation.tex.erb
|
44
|
+
- lib/views/classic.tex.erb
|
45
|
+
- lib/views/first-page.tex.erb
|
46
|
+
- lib/views/cv.tex.erb
|
45
47
|
- README.rdoc
|
46
48
|
- CHANGELOG.rdoc
|
49
|
+
- LICENSE
|
47
50
|
- bin/condom
|
48
51
|
has_rdoc: true
|
49
52
|
homepage:
|