require "text.rb" require "latex.rb" class ABET_CV < CV def initialize(output) super("okennedy", output, title: "ABET CV: Oliver Kennedy", include_pending_papers: true, include_pending_grants: true, include_rejected_grants: false, include_blurb: false, since: { employment: 2012, service: 2017, publications: 2010 } ) end def do_section(title) noindent textbf { puts title } yield puts "" medskip end def make_section(title) end def gen() documentclass("12pt", "article") usepackage "fullpage" usepackage "bibentry" usepackage "enumitem" puts_direct("\\usepackage[margin=.75in]{geometry}") puts_direct("\\setlist[itemize,1]{leftmargin=\\dimexpr 26pt-.2in}") document do pagestyle "empty" do_section("Name") do puts "Oliver Kennedy" end do_section("Education") do puts_direct "\\vspace*{-3mm}" render_education end do_section("Academic Experience") do puts_direct "\\vspace*{-3mm}" render_employment_history(@data["employment"].take(2)) end do_section("Non-academic Experience") do puts "None" end do_section("Certifications or professional registrations") do puts "None" end do_section("Current membership in professional organizations") do puts "ACM, IEEE" end do_section("Honors and awards") do puts_direct "\\vspace*{-3mm}" render_honors end do_section("Service activities") do puts "" noindent textit { puts "Leadership:" } puts(@data["chairs"] .map do |meta| "#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})" end.join(", ")) puts "" noindent textit { puts "Program Committees: " } puts(@data["reviewer"] .select { |r| r.fetch("pc", true) } .map do |meta| "#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})" end.join(", ")) puts "" noindent textit { puts "Reviewer: " } puts(@data["reviewer"] .select { |r| r.fetch("pc", false) } .map do |meta| "#{LabMetadata.venue_name(meta, size: :short)} (#{duration(meta)})" end.join(", ")) puts "" noindent textit { puts "Outreach: " } puts(@data["volunteering"] .map do |meta| "#{meta["org"]} (#{duration(meta)})" end.join(", ")) puts "" noindent textit { puts "Departmental Service: " } puts(@data["service"]["dept"][0]["service"] .map do |meta| "#{meta["org"]} (#{duration(meta)})" end.join(", ")) end do_section("Recent publications and presentations") do top_venues = [ "SIGMOD", "ICDE", "CIDR" ] top_pubs = LabMetadata.publications_for(@who) .select do |pub| get_venue_type(pub) == "journal" or ( top_venues.include?(pub["venue"]) and not pub.has_key? "track" ) end .select { |pub| pub["year"].to_i >= @since[:publications] } .each do |pub| puts "" noindent textit { puts "``#{pub["title"]}\"" } puts " --- #{pub["authors"].join(", ")} (#{pub["venue"]} #{pub["year"]})" end # .map { |pub| pub["title"] } # .join(", ") # puts "#{top_pubs}" end do_section("Recent professional development activities") do puts "None" end end end end