import moderncv

This commit is contained in:
Posquit0.BJ 2015-02-02 00:22:23 +09:00
parent 69b1c4bdd9
commit dc8c99ed00
36 changed files with 4351 additions and 0 deletions

338
moderncv/CHANGELOG Normal file
View file

@ -0,0 +1,338 @@
version 1.5.1 (29 Apr 2013)
- made sure that XeLaTeX or LuaLaTeX is in use before loading the awesome icon
set and if not, revert to the marvosym icon set.
version 1.5.0 (23 Apr 2013)
- added a command to showcase social accounts in one's personal information:
\social. The command currently handles automatically LinkedIn, Twitter and
Github accounts, and other links can be provided explicitly.
- added a new icon set: "awesome" (using the icons from the Font Awesome font).
- set the "awesome" icon set as the default for the "casual" and "banking"
style variants (can be changed back with \moderncvicons{marvosym}).
- forced all the icons of the "letters" icon set to be of the same width, for
alignment purpose.
- added a letter icon ("W") for the homepage of the "letters" icon set.
- forced some white space between the main text and the footer of the "casual"
style variant.
- removed the rule below the headings of the cvcolumns environment.
version 1.4.0 (28 Mar 2013)
- deprecated \phone, \mobile and \fax in favour of \phone[<type>], where <type>
can be "fixed" (default), "mobile" or "fax". As part of the change, one can now
use each of these multiple times, to e.g. display multiple mobile phone numbers.
- deprecated \firstname and \familyname in favour of \name{<first>}{<last>}.
- added a new mechanism to select amongs different possible icon sets:
\moderncvicons{<iconsetname>}, where <iconsetname> can be "marvosym" (used by
default in the "banking", "casual" and "classic" style variants) or "letters"
(used by default in the "oldstyle" style variant). \moderncvicons should
always be called after \moderncvstyle in order to override the style variants
defaults.
- added a command to control the font of the page numbering: \pagenumberfont,
as requested by fr1a1nky (launchpad question #224496).
- removed the use of the suffix package.
version 1.3.0 (09 Feb 2013)
- added a new environment to create multiple columns: cvcolumns. Each column
is then created by \cvcolumn[width]{header}{content}, where the optional width
is given as a fraction of the total width (between 0 and 1). The header and
content are robust and can contain any paragraph command (e.g., a nest itemize
environment).
- added a macro (\pdfpagemode) to control what is visible upon opening compiled
pdfs (assuming pdf reader support), as suggested by U. Stöhr.
Possible values include: "UseNone" (only the document), "UseThumbs" (show
thumbnails), "UseOutlines" (show bookmarks) and "FullScreen" (open in
fullscreen mode).
- added a 3rd, fully optional (can be omitted or left blank) argument to
\address to specify a country, as requested on launchpad (launchpad bug
#1063995).
- compacted list environments further.
- replaced the use of the xargs package by the xparse one.
version 1.2.1 (04 Dec 2012)
- fixed a regression bug introduced in version 1.2.0 in the header of the
"banking" style when no title is used, as reported on tex.stackexchange
(question #85427).
version 1.2.0 (31 Oct 2012)
- updated the "banking" style header to include the option to show a title.
- set the values of \arrayrulewidth and \doublerulesep to their standard values
(0.4pt and 2pt resp.) to enable the drawing of rules in tabulars and arrays by
default.
- modified the code of \makecvtitle and \makelettertitle of the "casual" style
to avoid it to cause horizontal alignment issues after and before itself.
- corrected a bug in \makelettertitle of most styles that displayed the current
date (\today) instead of the date given through the \date command, as reported
by B. Schlimmchen and S. Fnord.
- removed the need to set pdfpagelabels=false when loading hyperref, by putting
\pagenumbering{arabic} (to define \thepage) before loading hyperref, as figured
out by J. Wolf.
- corrected the line wrapping of \cvlistitem of the "banking" style.
- corrected a bug in \makecvtitle and \makelettertitle of the "banking" style.
- removed an unwanted space in the footer of the "casual" style.
- moved the font style definitions to moderncv.cls for better readability
(moderncv.cls is meant to be a sort of header file, implementing only some
macros shared by all styles and defining the macros that the style files need
to implement).
version 1.1.3 (10 Aug 2012)
- corrected a longstanding issue causing hyperref to issue two warnings
regarding its "pdfpagelabels" option, as pointed out and solved by P. Leifeld
(launchpad bug #1035466).
version 1.1.2 (09 Aug 2012)
- fixed a regression bug introduced in version 1.0.0 in the footer of the
"casual" style, as discovered on tex.stackexchange (question #66316).
version 1.1.1 (30 Jul 2012)
- fixed a compatibility issue introduced in version 1.0.0 when
\maketitlenamewidth was renamed to \makecvtitlenamewidth, as reported by Peppe
on launchpad (launchpad bug #1030802). The template now correctly uses
\makecvtitlenamewidth, and \maketitlenamewidth was created as an alias for
backward compatibility.
version 1.1.0 (29 Jul 2012)
- fixed the switching from letter to resume, correcting spacing errors when a
letter is typeset before the resume, as noticed by U. Gabor.
- fixed the vertical alignment of the footers, as reported by T. Homa.
Footers are now aligned to the bottom and the letter and cv footers are
perfectly aligned in the "casual" style.
- prepared moderncv for fontspec font loading (still commented in code).
- changed the handling of the "sans" and "roman" class options, to be reflected
at the beginning of the document and override style font choices.
- turned unicode support in hyperref on by default.
- tweaked the use of \textbullet to avoid the fall-back to Computer Modern
fonts and prepared the use of symbols from the MarVoSym font for fontspec
(LauLaTeX or XeLaTeX).
- tweaked the \subsectionfill of the "banking" style to distribute extra space
evenly between leaders.
- added two options to change the "Enclosure" string used for the letter
enclosure: either specify another string as optional argument to \enclosure,
or redefine \enclname, as suggested by D. Wille.
version 1.0.0 (26 Mar 2012)
- added commands to generate letters for every resume style: \recipient, \date,
\opening, \closing, \enclosure, \makelettertitle and \makeletterclosing. The
old \maketitle and \makefooter commands are now deprecated and replaced by
\makecvtitle and \makecvfooter.
- changed the alignment algorithm for the personal data display in the oldstyle
style, as to align on the baseline of the first line with the surrounding text.
version 0.19.0 (06 Feb 2012)
- reintroduced the ability to force the width reserved to display the name
in the resume header for the classic style (\maketitlenamewidth).
- improved the pdf metadata, as reported by S. Wunsch (launchpad bug #922476).
- fixed a footersymbol bug in the casual style when no mobile number was given,
as reported by S. Wunsch (launchpad bug #922470).
- fixed a display bug when an address was given without postcode/city, as
reported by O. Shaneh (launchpad bug #670263).
version 0.18.0 (05 Feb 2012)
- corrected the handling of pdf bookmarks, as suggested on stackexchange by
U. Fischer.
- improved the spacing between sections and subsections by using \addvspace
instead of \vspace.
- corrected the spacing between entries with nested itemize environments
(temporary solution working only for single line items).
- added a check in the oldstyle style for an empty 4th argument in the
\cvdoubleitem definition, to avoid printing a colon without preceding label.
- added a new style on top of classic, casual and oldstyle: banking.
version 0.17.0 (25 Jan 2012)
- changed the footer algorithm of style casual to avoid starting lines with
the footer symbol.
- aligned the space before and after the title across styles.
- added an optional title to the casual style.
- changed the definition of the font styles to avoid undesired extra spacing.
- added a Spanish template, kindly provided by I. Buitrón.
- corrected the vertical misalignment between the page number and the center
footer in the casual style.
version 0.16.0 (15 Jan 2012)
- added starred versions of \section and \subsection (that are identical to
their non-starred version, to e.g. enable biblatex support as requested by
S. Verberkt (launchpad bug #913102).
- corrected a misalignment of the colored rule in front of the section titles
in the classic and casual styles, as reported by P. Neidhardt (launchpad bug
#915910).
version 0.15.1 (23 December 2011)
- corrected a bug in the classic style causing the address font and color not
being carried over newlines, as reported by J. Smith.
version 0.15.0 (19 December 2011)
- corrected list spacing.
- corrected inconsistent use of sans serif fonts in roman layout option.
- the lmodern fonts are now automatically loaded only if installed on the
system. The "nolmodern" option is now therefore obsolete.
- complete code refactoring separating themes in separate styles and colors.
- renamed \cvline to \cvitem, \cvlanguage to \cvitemwithcomment and \cvcomputer
to \cvdoubleitem (the old command name still work and redirect to the new ones,
but are deprecated).
- removed the arbitrary minipage widths of skill proficiency vs comment in
\cvitemwithcomments. The skill proficiency is now typeset exactly as given
(i.e. one one line if no linebreaks are implicitly given) and the comment uses
the remaining horizontal space.
- changed the optional argument of \cvlistitem and \cvlistdoubleitem to specify
the vertical skip after the item (as for \cvitem, cvitemwithcomments, etc).
The way to change the list symbol is to redefine \listitemsymbol.
- added a new style on top of classic and casual: oldstyle.
- loaded the microtype package to improve typography.
version 0.14.0 (04 December 2011)
- added support for CJK, thanks to the help of P. D'Apice.
- the use of \recomputelengths after modifying any length in the preamble is
now unnecessary; \recomputelength is automatically called at the start of the
document.
version 0.13.1 (11 November 2011)
- corrected a bug introduced by v0.13 in the classic style when no \photo is
used, as reported by S. Gislais (launchpad bug #888702).
version 0.13.0 (06 November 2011)
- added a "black" color option to render the resume in black & white, as
suggested by F. Bicarri.
- removed the pdflatex option when loading hyperref to enable other engines
(e.g., dvips, xetex), leftover from the v 0.11 cleanup, as reported by
K. Amaterasu and P. Mavrogiorgos (launchpad bugs #754693 and #859834).
- added a "purple" color option, as proposed by B. Ravel.
- added a 3rd optional argument to the \photo command to control the thickness
of the framebox. Setting it to 0pt will disable the frame around the photo, as
requested by T. Krennwallner (launchpad bug #664568).
version 0.12.0 (03 August 2010)
- prevented pagebreaks after sections and subsections (launchpad bug #409902),
as originally reported by C. Gaspoz and fixed by launchpad user tentotwo).
version 0.11.0 (20 July 2010)
- removed the \ifpdf check when loading the graphicx package, as graphicx does
does check internally and this was preventing proper functionning with xelatex
and luatex, as reported by A. Trautmann. The same check was also removed
everywhere else in the document (i.e. when loading the color and hyperref
packages).
version 0.10.0 (13 June 2010)
- fixed a compatibility issue with the natbib package (natbib uses \section*
to format the bibliography title, while only \section was defined by
moderncv), as reported on launchpad (launchpad bug #393920).
- fixed a compatibility issues with (any package relying on) the etoolbox
package, due to the double definition of \AtEndPreamble, as reported by
D. Becker.
version 0.9.0 (31 May 2010)
- added support for the itemize, enumerate and description environments.
version 0.8.0 (24 May 2010)
- added support for multibib. Also modified the template to illustrate how to
show labels in the bibliography, as requested by Tom D. R. and Stefan K.
- added a command to indicate your personal homepage (\homepage{url}), as
requested by J. de Jong and A. Pairet.
- corrected an alignment bug for text following a \quote with no immediate
\section, as kindly reported by J. Vermeulen and L. Saliou.
- corrected a spacing bug when no blank line (or \par) is left after
\maketitle. Thanks to A. Menzel for reporting the strange behaviour.
- corrected the alignment of the extrainfo title part when no picture was
used, as reported by M. Bana.
- corrected the missplacement of pdf bookmarks as noticed by L. Fortunato.
- corrected several bugs linked to the code for checking for empty arguments
in \cventry, as reported by B. Ekran (launchpad bug #268768), L. Păncescu and
E. Gregorio.
version 0.7.0 (17 June 2008)
- corrected an outstanding spacing bug (space between cvlines longer
than 1 line).
- removed the need to use \closesection and \emptysection as internal
tabulars are now always closed. This allows she use of bibliography packages
such as bibunits. Thanks to S. Busch for pointing out the incompatibility and
helping testing out the bug correction.
- changed the definition of \photo: the first (optional) argument should
give the desired width of the picture, instead of its height
- corrected an alignment bug for \cvlistitems longer than 1 line, as
reported by S. Nikolopoulos.
- deprecated the commands \sethintscolumnlength and \sethintscolumntowidth.
Instead, just set \hintscolumnwidth to the desired length by using the regular
\setlength or \settowidth commands, and call \recomputelengths.
- added the ability to control the width of the name placeholder in the
classic theme, by setting the length \maketitlenamewidth. Again, don't forget
to call \recomputelengths afterward.
version 0.6.0 (28 May 2007)
- corrected some spacing bugs and cleaned up the code.
- corrected a bug in the bibliography file of the examples spotted by
U. Stöhr.
- added color variants to the classic and casual style, as suggested by
U. Stöhr.
- added a page counter for resumes running longer than 1 page, as requested by
A. Martin. It can be disabled by the command \nopagenumbers{}.
- added commands to include a mobile phone and fax number.
- made the symbols used for the phone number, the email, ... customizable.
To modify those symbols, just redefine \phonesymbol, emailsymbol, ...
- corrected the pdf information given to hyperref as pointed out by
C. Knuepfer.
- rewrote the examples.
version 0.5.0 (9 September 2006)
- added a \photo command to display a picture. That command takes the name of
the file with the picture as argument, and the desired height as optional
argument.
- implemented the needed commands to make moderncv compatible with BibTeX, as
suggested by J. Lie. This makes it possible to display one's publications,
stored in the BibTeX file 'publications.bib'
by using:
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications}
As usual, the name of the section title can be changed by redefining the
command \refname.
- added the \today command, useful for example if one need to add the date the
resumé was produced with
\closesection{}
\vfill{\hfill{\scriptsize Produced \today.}}
at the end of your CV, as suggested by F. Hammann.
version 0.4.0 (2 May 2006)
- removed the dependency on the geometry package, so that users can now invoke
it themselve, and easily change the geometry of the page.
version 0.3.0 (10 April 2006)
- moderncv now uses the 'longtable' class, allowing cv sections to split
across multiple pages.
- the different lengths used by moderncv are now customizable! In particular,
the first column (the one containing the date in the examples), can now be set
to any width, for people needing a smaller or larger one. To do that, either
use
\sethintscolumnlength{<length>},
where <length> is the desired length in a unit LaTeX understands, or
\sethintscolumntowidth{<string>},
where <string> is a string of the desired length (usually, the longest string
that has to appear in the column). Thanks to A. Pöge for pointing out the need
of such a feature.
- added the command \emptysection{}, which makes it possible to start a
section without name. In combination with \closesection{}, this makes it
possible to drop out of the layout of moderncv, and come back to it later.
This should make the inclusion of arbitrary elements not covered by moderncv
code possible.
- corrected a spacing problem in the cventry command, as pointed out and
solved by B. Eßmann.
version 0.2.0 (6 March 2006)
- rewrite of the code to have the styles (fonts, colours, headers and footers)
be defined in different files than the class. The styles are now defined in a
separate file per style, named moderncvstyle<style_name>. It should now be
easy to write your own style, starting from moderncvstyleempty.sty. If you
feel you have created a nice style, just email it to me and I'll include it in
the next version.
- due to the previous point, styles are now loaded by the command
\moderncvstyle{style_name}. I couldn't figure out a way to preserve the old
"casual" and "classic" class options, so these are now broken! Use
\moderncvstyle{casual} or \moderncvstyle{classic} at the beginning of your
document. This should be the only incompatibility with version 0.1.
- added class option "nolmodern" for people without the latin modern fonts.
- corrected some English mistakes in the examples. Thanks to M. H. Prager for
pointing them out.
- added a \cvlistitem to produce items with a bullet (or whatever is defined
in \listitemsymbol), and renamed \cvresume to \cvlistdoubleitem for
consistency purpose. For compatibility reasons, the command \cvresume still
works, but should be avoided.
version 0.1.0 (1 March 2006)
- first release.

13
moderncv/KNOWN_BUGS Normal file
View file

@ -0,0 +1,13 @@
- Moderncv is incompatible with biblatex.
- Footnotes generates errors (though the output seem correct when running with
"-interaction=nonstopmode")
- When using CJK, the last \clearpage required for fancyhdr to work properly kills
the "lastpage" counter, hence also the page numbering.
- Moderncv produces an error ("lonely \item--perhaps a missing list environment")
when used with bibentry, through the output is actually correct. Amongst other,
this causes compilation by LyX to stop.
- The space after a cventry gets eaten up when the last argument contains a nested
itemize environment. An ugly hack and uncomplete solution was implemented by
including a \strut in every item label, but this doesn't solve the problem for
multi-line items. Ideally, the strut should end the item, but there seem to be
no way to do this.

15
moderncv/README Normal file
View file

@ -0,0 +1,15 @@
moderncv -- a modern curriculum vitae class
Moderncv provides a documentclass for typesetting curriculum vitaes in various
styles. It aims to be both straightforward to use and customizable, providing
four ready-made styles (classic, casual, banking and oldstyle) and allows you to
define your own style by easily modifying colors, fonts, etc.
Most commands are defined in such a way that arguments are optional.
Until a decent manual is written, you can always look in the "examples"
directory for some examples. Documents can be compiled into dvi, ps or pdf.
Author: Xavier Danaux <xdanaux@gmail.com>
Licence: The LaTeX Project Public Li­cense, version 1.3c

View file

@ -0,0 +1,958 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (picture.eps)
%%CreationDate: (2012-03-25T00:18:42-04:00)
%%BoundingBox: 0 0 94 94
%%HiResBoundingBox: 0 0 94 94
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments
%%BeginDefaults
%%EndDefaults
%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def
/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def
/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
/Times-Roman findfont pointsize scalefont setfont
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 0 0 94 94
userdict begin
DisplayImage
0 0
94 94
12
94 94
0
0
E8EBF0E8EBF0E8EBF0E8EBF0E8EBF2E7EAF1E6E9F0E6E9F0E6EBEFE5EAEEE4E9EDE4E9EDE4E9ED
E3E8ECE2E7EBE0E5E9DFE3EEDEE2EDDEE2EDDDE1ECDEE2EDDDE1ECDBDFEADADEE9DBE0E6DBE0E6
DADFE5DADFE5D9DEE4D8DDE3D7DCE2D7DCE2D2D8E4D2D8E4D1D7E3D0D6E2CFD5E1CED4E0CED4E0
CDD3DFCBD3E0CAD2DFC8D0DDC7CFDCC7CFDCC7CFDCC6CEDBC5CDDAC8D0DDC7CFDCC5CDDAC5CDDA
C5CDDAC4CCD9C3CBD8C1C9D6C1CBD5C0CAD4C0CAD4BFC9D5BEC8D4BDC7D3BCC5D4BBC4D3B9C1D6
B9C1D6B8C0D5B7BFD6B6BED5B5BDD4B4BCD3B4BBD5B3BAD4B3BAD4B2B9D3B1B8D2B0B7D1B0B7D1
AFB6D0AFB6D0ABB5D0AAB4CFA9B3CEA8B2CDA8B2CDA7B1CCA6B0CBA5AFCAA6B0CBA6AFCCA2ADCB
A0ABC9A2ABC8A7AEC8EAEDF2EAEDF2EAEDF2EAEDF2EAEDF4E9ECF3E8EBF2E8EBF2E7ECF2E6EBF1
E6EBF1E5EAF0E6EBF1E5EAF0E3E8EEE2E7EDE1E5F0E1E5F0E0E4EFE0E4EFE0E4EFDFE3EEDDE1EC
DCE0EBD9DFEBD9DFEBD8DEEAD7DDE9D7DDE9D6DCE8D5DBE7D5DBE7D3D9E5D3D9E5D2D8E4D1D7E3
D0D6E2CFD5E1CED4E0CED4E0CDD4E4CCD3E3CAD1E1CAD1E1CAD1E1CAD1E1C9D0E0C8CFDFC7CEE0
C6CDDFC4CBDDC4CBDDC4CBDDC3CADCC2C9DBC0C7D9BCC7D9BCC7D9BBC6D8BAC5D7B9C4D8B8C3D7
B7C2D6B7C2D6B6C0DBB6C0DBB5BFDAB4BED9B3BCD9B2BBD8B1BAD7B1BAD7AFB8D9AFB8D9AEB7D8
ADB6D7ACB5D6ACB5D6ABB4D5ABB4D5AAB5D5A9B4D4A8B3D3A7B2D2A7B2D2A6B1D1A5B0D0A4AFCF
A4AFCFA1AED09FACCF9DAACDA1ABCEA5AECDEBEEF3EBEEF3EBEEF3EBEEF5EBEEF5EAEDF4E9ECF5
E9ECF5E8EDF3E7ECF2E6EBF1E6EBF1E6EBF1E5EAF0E3E8EEE2E7EDE2E6F1E1E5F0E0E4EFE0E4EF
E0E4EFE0E4EFDEE2EDDDE1ECD9DEF2D8DDF1D8DDF1D7DCF0D6DBEFD5DAEED5DAEED5DAEED3D9E9
D3D9E9D2D8E8D1D7E7D0D6E6CFD5E5CFD5E5CED4E4CED5E7CDD4E6CBD2E4CBD2E4CBD2E4CBD2E4
C9D0E2C8CFE1C5CDE2C4CCE1C2CADFC2CADFC2CADFC1C9DEC0C8DDBFC7DCBAC6DEBAC6DEB9C5DF
B8C4DEB7C3DDB6C1DDB5C0DCB5C0DCB5C0DEB4BFDDB3BEDCB2BDDBB1BCDCB0BBDBB0BBDBAFBADA
ADB7DBADB7DBACB6DAABB5D9ABB5D9AAB4D8A9B3D7A9B3D7A7B5DAA6B4D9A4B2D7A4B2D7A4B2D7
A3B1D6A2B0D5A0AED39FADD09EAED29DACD39AA9D09BABCFA1AED0E9ECF1E9ECF1E9ECF3E9ECF3
E9ECF3E8EBF4E7EAF3E7EAF3E5E9F2E5E9F2E4E8F1E4E8F1E4E8F1E3E7F0E1E5EEE0E4EDDFE5F1
DEE4F0DDE3EFDDE3EFDDE3EFDCE2EEDAE0ECD9DFEBD8DDF0D8DDF0D7DCEFD7DCEFD6DBEED5DAED
D4D9ECD4D9ECD2D9EBD1D8EAD1D8EAD0D7E9CFD6E8CED5E7CDD4E6CDD4E6CCD3E6CBD2E5CAD1E4
CAD1E4CAD1E4C9D0E3C8CFE2C6CDE0C5CCE6C4CBE5C2C9E3C2C9E3C2C9E3C1C8E2C0C7E1BEC5DF
B9C7E1B8C6E0B8C6E0B7C5E0B6C4DFB5C3DEB4C2DDB4C2DFB3C1DCB2C0DBB1BFDAB1BFDCAFBDDA
AFBDDAAEBBDBADBADAABB9DCABB9DCABB9DCAAB8DBA9B7DAA8B6D9A8B6D9A7B5D8A4B6DAA3B5D9
A1B3D7A1B3D7A0B2D6A0B2D69EB0D49DAFD39CAFCF9CAFD09AAED197ABCE98ABCC9DAECCE8EBF2
E8EBF2E8EBF2E8EBF2E8EBF4E7EAF3E6E9F2E6E9F2E4E8F1E3E7F0E2E6EFE2E6EFE2E6EFE2E6EF
E0E4EDDFE3ECDDE3EFDCE2EEDBE1EDDBE1EDDBE1EDDBE1EDD9DFEBD8DEEAD7DFECD6DEEBD6DEEB
D5DDEAD4DCE9D3DBE8D3DBE8D3DBE8D1D8EBD0D7EAD0D7EACFD6E9CED5E8CDD4E7CCD3E6CBD2E5
CAD2E7C9D1E6C8D0E5C8D0E5C8D0E5C7CFE4C6CEE3C4CCE1C5CCE8C4CBE7C2C9E5C2C9E5C2C9E5
C1C8E4C0C7E3BFC6E2B9C8DDB9C8DDB8C7DEB7C6DDB6C5DCB5C3DDB5C3DDB4C2DCB3C2D9B3C2D9
B2C1D8B1C0D7B0BED8AFBDD7AEBCD6AEBCD6ACBBD8ACBBD8ABBAD7AAB9D6A9B8D5A9B8D5A8B7D4
A8B7D4A4B7D7A2B5D5A1B4D4A0B3D3A0B3D3A0B3D39EB1D19DB0D09CB0CB9CB1CE9BB0CF97ACCB
96ABC89BACC6E8EBF2E8EBF2E8EBF2E8EBF4E8EBF4E7EAF3E6E8F4E6E8F4E5E9F4E4E8F3E3E7F2
E3E7F2E3E7F2E2E6F1E0E4EFDFE3EEDDE3EFDCE2EEDBE1EDDBE1EDDBE1EDDBE1EDD9DFEBD8DEEA
D6DEE9D6DEE9D5DDE8D5DDE8D4DCE7D3DBE6D2DAE5D2DAE5D0D7EAD0D7EACFD6E9CED5E8CDD4E7
CCD3E6CBD2E5CBD2E5CAD2E7C9D1E6C9D1E6C9D1E6C9D1E6C8D0E5C6CEE3C4CCE1C3CDE6C2CCE5
C0CAE3C0CAE3C0CAE3BFC9E2BEC8E1BCC6DFBBC8DBBAC6DCB9C5DBB8C4DAB7C3D9B6C2DAB6C2DA
B5C1D9B3C2D7B3C2D7B2C1D6B1C0D7B0BFD6AFBED5AEBDD4AEBCD6ABBBD5AABAD4AABAD4A9B9D3
A8B8D2A8B8D2A7B7D1A7B7D1A5B6D2A4B5D1A3B4D0A2B3CFA2B3CFA1B2CEA0B1CD9FB0CC9EAFC9
9DB1CC9CAFCD98ABC996AAC59BABC4E7EAF1E8EBF2E8EBF4E8EBF4E7EAF3E7E9F5E6E8F4E5E7F3
E5E9F4E4E8F3E3E7F2E3E7F2E3E7F2E2E6F1E1E5F0DFE3EEDDE3F1DCE2F0DBE1EFDBE1EFDBE1EF
DAE0EED9DFEDD7DDEBD6DEEBD5DDEAD5DDEAD4DCE9D3DBE8D3DBE8D2DAE7D2DAE7D0D9EACFD8E9
CED7E8CDD6E7CCD5E6CBD4E5CBD4E5CAD3E4C9D1E6C9D1E6C8D0E5C9D1E6C9D1E6C8D0E5C6CEE3
C4CCE1C2CDE3C1CCE2BFCAE0BFCAE0BFCAE0BEC9DFBDC8DEBBC6DCBBC5DEBBC5DEBAC4DFB9C3DE
B8C2DDB7C1DCB6BFDCB6BFDCB4C0DAB4C0DAB3BFD9B2BDD9B1BCD8B0BBD7B0BBD9AFBAD8AAB9D6
AAB9D6A9B8D5A8B7D4A8B7D4A7B6D3A6B5D2A6B5D2A6B5D6A5B4D5A3B2D3A3B2D3A3B2D3A2B1D2
A1B0D19FAECF9DACCB9FAECF9EAED09AAACE9AA8CB9DABC8E6E9F0E6E9F2E7EAF3E7EAF3E6E9F2
E5E7F3E5E7F3E4E6F2E4E8F4E3E7F3E2E6F2E2E6F2E2E6F2E2E6F2E0E4F0DEE2EEDBE3F0DAE2EF
D9E1EED9E1EED9E1EED8E0EDD7DFECD5DDEAD6DDEFD5DCEED5DCEED4DBEDD3DAECD2D9EBD2D9EB
D1D8EAD0D9EAD0D9EACFD8E9CED7E8CDD6E7CCD5E6CBD4E5CBD4E5C8D0E3C8D0E3C8D0E3C8D0E3
C8D0E3C7CFE2C4CCDFC2CADDC1CCE0C0CBDFBEC9DDBEC9DDBEC9DDBDC8DCBCC7DBBAC5D9BEC5E2
BEC4E4BDC3E3BCC2E2BBC1E1BAC0E2B9BFE1B9BFE1B4BFDFB3BEDEB2BDDDB1BCDCB0BADDAFB9DC
AFB9DCAEB8DBABB8D8ABB8D8ABB8D8AAB7D7A9B6D6A8B5D5A8B5D5A7B4D4A7B3D9A6B2D8A4B0D6
A4B0D6A4B0D6A3AFD5A2AED4A0ACD29CA8CE9FABD39FABD59CA8D29BA7CFA1A9CEE5E9F2E5E9F2
E5E9F2E5E9F2E5E9F4E4E8F3E3E7F2E3E7F2E2E5F4E2E5F4E2E5F4E1E4F3E1E4F3E0E3F2E0E3F2
DFE2F1DBE1EFDBE1EFDBE1EFDAE0EED9DFEDD9DFEDD8DEECD8DEECD6DCECD6DCECD5DBEBD5DBEB
D4DAEAD3D9E9D2D8E8D2D8E8D1D8EAD0D7E9CFD6E8D0D7E9D1D8EAD1D8EACFD6E8CDD4E6C8D0E5
CBD3E8CBD3E8C8D0E7C3CBE2C3CBE2C4CBE5C6CDE7C3D0E3C2CFE2C1CEE1BFCBE1BCC8DEBAC6DC
BAC6DEBBC7DFBBC7E1B9C5DFB8C4DEB7C3DDB7C2DEB7C2DEB5C0DCB4BFDBB2C0DDB1BFDCB0BEDB
AFBDDAAFBDDAAEBCD9ADBBD8ACBAD7AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5A6B5D4A6B5D4A5B4D3
A4B3D4A3B2D3A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9BADD59CAED29CACCD9BA9CC9CA8D0
A0A9D2E4E8F1E4E8F1E4E8F1E4E8F1E4E8F3E3E7F2E2E6F1E2E6F1E2E5F4E2E5F4E1E4F3E1E4F3
E0E3F2E0E3F2DFE2F1DFE2F1DBE1EFDBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEECD8DEECD6DCEC
D6DCECD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D2D8E8D1D8EBCFD6E9CED5E8CCD3E6CBD2E5CAD1E4
C8CFE2C7CEE1C5CDE2C7CFE4CAD2E7CBD3EAC9D1E8C7CFE6C3CBE2C0C7E1BBC7DDBBC7DDBBC7DD
BCC8DEBDC9E1BCC8E0BBC7DFB9C5DDBBC7E1B9C5DFB8C4DEB7C3DDB7C2DEB7C2DEB5C0DCB4BFDB
B2C0DDB1BFDCB0BEDBAFBDDAAFBDDAAEBCD9ADBBD8ACBAD7AAB9D8AAB9D8A9B8D7A8B7D6A7B6D5
A6B5D4A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9BADD59CAED2
9CACCD9BA9CC9CA8D0A0A9D2E3E7F0E3E7F0E3E7F0E3E7F0E3E7F2E2E6F1E1E5F0E1E5F0E1E4F3
E1E4F3E1E4F3E0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DBE1EFDAE0EEDAE0EED9DFEDD9DFEDD8DEEC
D8DEECD8DEECD6DCECD5DBEBD5DBEBD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7CCD2E8CDD3E9CED4EA
CDD3E9CDD3E9CDD3E9CED4EACED4EACAD2E5C6CEE1C1C9DEBFC7DCC0C8DDC3CBE2C5CDE4C7CFE6
C1CCE2BFCAE0BDC7E0BDC7E0BEC8E1BEC8E3BDC7E2BBC5E0BAC6E0B9C5DFB8C4DEB7C3DDB7C2DE
B6C1DDB5C0DCB4BFDBB2C0DDB1BFDCAFBDDAAFBDDAAFBDDAAEBCD9ADBBD8ABB9D6AAB9D8AAB9D8
A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B2D3A3B2D3A2B1D2A2B1D2A1B0D1A0AFD0A0AFD0
9FAECF9BADD59BADD19CACCD9BA9CC9CA8D0A0A9D2E2E6EFE3E7F0E3E7F0E3E7F0E2E6F1E2E6F1
E1E5F0E0E4EFE1E4F3E0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DEE1F0DEE1F0DAE0EEDAE0EEDAE0EE
D9DFEDD8DEECD8DEECD7DDEBD7DDEBD5DBEBD5DBEBD4DAEAD3D9E9D3D9E9D2D8E8D1D7E7D1D7E7
D1D7EDD2D8EED2D8EECFD5EBCBD1E7C8CEE4C7CDE3C8CEE4C5CDE0C5CDE0C8D0E3CBD3E6CBD3E8
C8D0E5C4CCE1C3CBE0C4CEE7C2CCE5BEC8E1BCC6DFBBC5E0BCC6E1BDC7E2BEC8E3BAC6E0B9C5DF
B7C3DDB7C3DDB7C2DEB6C1DDB5C0DCB3BEDAB2C0DDB1BFDCAFBDDAAFBDDAAEBCD9AEBCD9ACBAD7
ABB9D6AAB9D8A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A5B4D3A3B2D3A3B2D3A2B1D2A1B0D1
A1B0D1A0AFD09FAECF9FAECF9AACD49BADD19CACCD9AA8CB9BA7CFA0A9D2E2E6EFE3E7F0E3E7F0
E3E7F0E2E6F1E1E5F0E1E5F0E0E4EFE0E3F2E0E3F2DFE2F1DFE2F1DEE1F0DDE0EFDDE0EFDDE0EF
DAE0EED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD7DDEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8
D1D7E7D1D7E7D0D6E6CCD2E8CDD3E9CED4EACDD3E9CAD0E6C9CFE5CAD0E6CBD1E7CDD4E6C9D0E2
C4CBDDC1C8DBBCC3D6BAC1D4BFC5DBC6CCE2BDC8DEBFCAE0C0CAE3BEC8E1BCC6DFBAC4DFBBC5E0
BDC7E2BAC6E0B9C5DFB7C3DDB7C3DDB6C1DDB6C1DDB4BFDBB3BEDAB2C0DDB0BEDBAFBDDAAEBCD9
AEBCD9AEBCD9ACBAD7ABB9D6AAB9D8A9B8D7A8B7D6A8B7D6A6B5D4A6B5D4A5B4D3A4B3D2A3B2D3
A3B2D3A2B1D2A1B0D1A0AFD0A0AFD09FAECF9FAECF9AACD49BADD19CACCD9AA8CB9BA7CFA0A9D2
E2E6EFE2E6EFE2E6EFE2E6EFE2E6F1E1E5F0E0E4EFE0E4EFDFE2F1DFE2F1DEE1F0DEE1F0DDE0EF
DDE0EFDCDFEEDCDFEED9DFEDD9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD4DAEAD4DAEA
D3D9E9D2D8E8D2D8E8D1D7E7D0D6E6D0D6E6D1D8EBCFD6E9CCD3E6C9D0E3C7CEE1C7CEE1C9D0E3
CBD2E5C2C9D9B3BACCA0A7B99198AA8A91A39097AAA3AABDB6BDD0B8C0D5BCC4D9C2CAE1C5CDE4
C4CCE3C0C7E1BCC3DDBAC1DBBAC6E0B8C4DEB7C3DDB6C2DCB6C1DDB6C1DDB4BFDBB3BEDAB1BFDC
B0BEDBAFBDDAAEBCD9AEBCD9ADBBD8ACBAD7ABB9D6A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3
A5B4D3A4B3D2A3B2D3A2B1D2A2B1D2A1B0D1A0AFD09FAECF9FAECF9EADCE9AACD49BADD19BABCC
9AA8CB9BA7CF9FA8D1E1E5EEE1E5EEE1E5EEE1E5EEE1E5F0E0E4EFDFE3EEDFE3EEDFE2F1DEE1F0
DEE1F0DDE0EFDDE0EFDCDFEEDCDFEEDBDEEDD9DFEDD9DFEDD8DEECD7DDEBD7DDEBD6DCEAD6DCEA
D6DCEAD4DAEAD3D9E9D3D9E9D2D8E8D1D7E7D0D6E6D0D6E6CFD5E5D7DEEECDD4E4BEC5D5B0B7C7
A6ADBDA2A9B9A1A8B8A1A8B8939AAA8A91A1838A9A8087997C83957A819381889B8A91A49CA4B7
9FA7BAA8B0C3B3BBD0BCC4D9C0C8DDBDC5DCBAC2D9B9C5DFB8C4DEB7C3DDB6C2DCB6C1DDB5C0DC
B4BFDBB3BEDAB1BFDCB0BEDBAEBCD9AEBCD9AEBCD9ADBBD8ACBAD7AAB8D5A9B8D7A9B8D7A8B7D6
A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B1D2A2B1D2A1B0D1A1B0D1A0AFD09FAECF9FAECF9EADCE
9AACD49AACD09BABCC9AA8CB9BA7CF9FA8D1E0E4EDE0E4EDE0E4EDE0E4EDE0E4EFDFE3EEDEE2ED
DEE2EDDEE1F0DEE1F0DEE1F0DDE0EFDCDFEEDCDFEEDBDEEDDBDEEDD9DFEDD8DEECD8DEECD7DDEB
D7DDEBD6DCEAD6DCEAD5DBE9D3D9E9D3D9E9D3D9E9D2D8E8D1D7E7D0D6E6D0D6E6CFD5E5B4BBCB
A7AEBE949BAB848B9B7C83937B82927D84947F86968289997C83937B829280879781889A7E8597
7E859782899B717A8B737C8D7C84979098ABA8B0C3B9C1D6BFC7DCBEC6DBB9C5DFB8C4DEB7C3DD
B6C2DCB6C1DDB5C0DCB4BFDBB3BEDAB1BFDCB0BEDBAEBCD9AEBCD9AEBCD9ADBBD8ACBAD7AAB8D5
A9B8D7A9B8D7A8B7D6A7B6D5A6B5D4A5B4D3A4B3D2A4B3D2A2B1D2A2B1D2A1B0D1A1B0D1A0AFD0
9FAECF9EADCE9EADCE99ABD39AACD09BABCC99A7CA9AA6CE9FA8D1DEE3E9E0E4EDE0E4EDDDE4EE
DCE3EDDEE4F0DDE3EFDAE2EFDBE1EDDBE1EDDBE1EDDAE0ECD9DFEBD9DFEBD8DEEAD8DEEAD6DCEC
D6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9DAE1F3D4DBEDCCD3E5D2D9EBCCD3E3CDD4E4
D1D8E8B2B9C9979DAB8B919F838997858B99878D9B8389977E84927E84927F85957F85957F8595
7F85957F85957E84947D83937D83937D84967D84967C83957980927C83958B92A4A3AABCB6BDCF
BAC5D9BBC6DCB4BFD5B8C4DCBAC6E0B6C1DDB7C2E0AEBCD9AFBDD8AEBCD7AEBCD7ADBBD8ACBAD7
ABB9D6ABB8D8AAB7D7AAB9D6A9B8D5A9B8D7A8B7D6A7B6D5A6B5D6A5B4D5A5B4D5A2B0D3A2B0D3
A1AFD2A1AFD2A0AED19FADD09FADD09EACCF98ABD599ADD299ACCD99A9CD9AA7D19EAAD2DDE2E8
DFE3ECDFE3ECDCE3EDDBE2ECDDE3EFDCE2F0D9E1EEDAE0ECDAE0ECDAE0ECD9DFEBD8DEEAD8DEEA
D7DDE9D7DDE9D6DCECD6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D5DCEED2D9EBC8CFE1
CCD3E5D3DAEAD5DCECC2C9D99097A7868C9A7F85937D8391808694828896808694808694838997
8086968086968086968086967F85957F85957E84947E84947E85977E85977C83957A8193798092
7D8496848B9D8B92A496A1B5B1BCD0BBC6DCB7C1DAADB9D3ADB8D4B5C0DEAEB9D7AFBDD8AEBCD7
AEBCD7ADBBD8ACBAD7ABB9D6ABB8D8AAB7D7A9B8D5A8B7D4A8B7D6A7B6D5A6B5D4A5B4D5A4B3D4
A4B3D4A2B0D3A2B0D3A1AFD2A1AFD2A0AED19FADD09EACCF9EACCF98ABD599ADD299ACCD99A9CD
9AA7D19EAAD2DCE0E9DEE2EBDEE2EBDAE1EBDAE0ECDCE2EEDBE1EFD8E0EDD9DFEDD9DFEDD9DFED
D8DEECD7DDEBD7DDEBD6DCEAD6DCEAD5DBEBD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8
CBD2E4D5DCEED1D8EAD0D7E9D2D9E9CAD1E1AEB5C5818898828896808694818795838997808694
7C82907E84928389978086968086968086968086968086967F85957E84947E84947C83957B8294
7A81937B82947A8193798092757C8E72798B7C8799A0ABBFB7C2D8BCC6DFB4C0DAB1BCD8B7C2DE
B2BDDBAEBCD7AEBCD7ADBBD6ADBBD8ACBAD7ABB9D6ABB8D8AAB7D7A8B7D4A8B7D4A7B6D5A6B5D4
A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A2B0D3A1AFD2A0AED1A0AED19FADD09EACCF9EACCF97AAD4
98ACD198ABCC98A8CC99A6D09DA9D1DBDFE8DDE1EADEE2EDDAE1EBDAE0ECDBE1EFDBE1EFD7DFEC
D9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD6DCEAD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9
D2D8E8D2D8E8D2D8E8C9D0E2D3DAECD4DBEDD1D8EAC9D0E0B3BACA989FAF868D9D858B99858B99
868C9A868C9A8187957C82907D83918187957F85958086968086968086967F85957F85957E8494
7D83937A8193798092787F917A81937B82947B8294798092777E9071798C81899C929DB1AEB9CF
BAC4DDB4C0DAB2BDD9ABB6D2AEBCD7AEBCD7ADBBD6ACBAD7ACBAD7ABB9D6AAB7D7AAB7D7A8B7D4
A7B6D3A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A2B0D3A1AFD2A0AED19FADD09FADD0
9EACCF9EACCF95A8D296AACF96A9CA96A6CA98A5CF9CA8D0DBDFE8DDE1ECDEE2EDDAE0ECDAE0EC
DBE1EFDAE0F0D7DEEED9DFEDD8DEECD8DEECD7DDEBD7DDEBD6DCEAD6DCEAD6DCEAD4DAEAD4DAEA
D3D9E9D3D9E9D2D8E8D1D7E7D1D7E7D1D7E7D2D9EBCBD2E4CAD1E3CBD2E4BEC5D59CA3B3838A9A
848B9B8187958187958288968389978288968086948086948187957E84947F85957F85957F8595
7E84947D83937D83937C82927B82947A81937A8193798092787F917980927980927A8193737C8D
727A8D777F92939EB2ADB8CEB4BED7B6C0DBACB8D2AEBCD7AEBCD7ADBBD6ACBAD7ABB9D6ABB9D6
AAB7D7AAB7D7A8B7D4A8B7D4A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3A2B0D3A1AFD2A1AFD2
A0AED19FADD09EACCF9EACCF9DABCE96A9D397ABD097AACB97A7CB98A5CF9CA8D0DBDFEADDE1EC
DDE1ECD9DFEBD9DFEDDBE1EFDAE0F0D7DEEED8DEEED8DEEED8DEEED7DDEDD6DCECD6DCECD5DBEB
D5DBEBD3D9E9D3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D0D6E6D0D6E6D3DAECCAD1E3CFD6E8C5CCDE
A7AEBE868D9D787F8F868D9D8187958187958086948187958288968288968187958086947E8494
7E84947E84947E84947E84947D83937C82927C8292787F917A81937C83957B8294798092787F91
7980927A81937780917A8394747C8F7D859A8F9AB0A6B0C9B9C3DCB6C0DBAEBCD7ADBBD6ADBBD6
ACBAD7ABB9D6AAB8D5AAB7D7A9B6D6A8B7D4A7B6D3A7B6D5A6B5D4A5B4D3A4B3D4A3B2D3A3B2D3
A1AFD2A1AFD2A0AED1A0AED19FADD09EACCF9DABCE9DABCE97AAD498ACD198ABCC98A8CC99A6D0
9DA9D1DADEE9DCE0EBDCE0ECD8DEEAD8DEECD9DFEFD9DFEFD6DDEDD7DDEDD7DDEDD6DCECD6DCEC
D5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D2D8E8D2D8E8D1D7E7D1D7E7D0D6E6D0D6E6CFD5E5CED5E7
CCD3E5D3DAECB3BACC8990A07D84947D8494868D9D848A98848A98838997828896808694808694
8086947F85937E84947E84947E84947E84947E84947D83937D83937C8292787F917A81937B8294
7B82947B82947A81937A81937B8294737A8A7B8292737C8D6F778A747C918590A6A6B0C9B3BDD6
ADBBD6ADBBD6ACBAD5ACBAD7ABB9D6AAB8D5AAB7D7A9B6D6A7B6D3A6B5D2A6B5D4A5B4D3A4B3D2
A3B2D3A2B1D2A2B1D2A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9DABCE9DABCE97AAD498ACD1
98ABCC97A7CB98A5CF9BA7CFD9DDE8DBDFEADBDFEBD7DDE9D7DDEBD8DEEED8DEEED5DCECD6DCEC
D6DCECD5DBEBD5DBEBD4DAEAD4DAEAD3D9E9D3D9E9D2D8E8D2D8E8D2D8E8D1D7E7D0D6E6D0D6E6
CFD5E5CFD5E5D1D8EACAD1E3C6CDDF979EB0747B8B858C9C878E9E7A81917E8492808694818795
7F85937D83917E84928086948187957F85957F85957F85957F85957F85957E84947D83937D8393
7E85977C8395798092787F91777E90777E90777E90777E907A81917C8393778091788093737B90
777F9698A2BBB4BED7ADBBD6ADBBD6ACBAD5ACBAD7ABB9D6AAB8D5A9B6D6A9B6D6A6B5D2A5B4D1
A5B4D3A4B3D2A3B2D1A2B1D2A1B0D1A1B0D1A1AFD2A1AFD2A0AED19FADD09FADD09EACCF9DABCE
9DABCE96A9D397ABD096A9CA95A5C995A2CC99A5CDD7DDE9DAE0EED8DEEED6DBEED8DFF1D6DDEF
D3DAEAD7DFECD4DBEDD4DBEDD3DAECD3DAECD2D9EBD2D9EBD1D8EAD1D8EAD1D8EBD0D7EACED5E8
CED5E8CDD4E7CDD4E7CDD4E7CCD3E6CACFE2D8DEEEB0B6C68C92A2848A9A818795858B99808694
8187958187958187958187958086948086947F85937F85937F85957F85957E84947E84947E8494
7D83937D83937D83937B82947A8193798092798092787F91787F91787F91798092788095777E91
777E907A7F92757C8E71798C8590A4AAB6CCA7B5CFB0BED8A5B3CEAAB8D5AEBDDCA5B4D5A8B6D9
A3B1D4A7B6D7A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4A1AFD2A0AED19EAED29EAED29DADD19DADD1
9CACD09BABCF9AAACE9AAACE95A8D298ACD193A6C798A8CC98A5CF96A2CAD6DCE8D9DFEDD6DCEC
D5DAEDD7DEF0D5DCEED2D9E9D5DDEAD4DBEDD4DBEDD3DAECD3DAECD2D9EBD1D8EAD1D8EAD1D8EA
D2D9ECD0D7EACED5E8CFD6E9D0D7EAD0D7EACDD4E7CAD1E4D0D5E8C9CFDF9FA5B5848A9A808696
818795888E9C8389978187958187958187958086948086948086947F85937F85937F85957F8595
7E84947E84947D83937D83937D83937D83937A81937A8193798092798092787F91787F91787F91
787F91747C91757C8F757C8E787D90767D8F70788B7A8599919DB3A5B3CDB2C0DAA6B4CFA7B5D2
AEBDDCA8B7D8A9B7DAA7B5D8A7B6D7A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4A1AFD2A0AED19EAED2
9EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE95A8D298ACD193A6C798A8CC98A5CF96A2CA
D5DBE7D8DEECD5DBEBD3D8EBD5DCEED4DBEDD1D8E8D4DCE9D3DAECD3DAECD3DAECD2D9EBD1D8EA
D1D8EAD0D7E9D0D7E9D1D8EBCFD6E9CDD4E7CED5E8D0D7EAD0D7EACCD3E6C9D0E3CFD4E7B1B7C7
8B91A17F85957F8595828896898F9D8288968187958187958187958086948086947F85937F8593
7F85937E84947E84947E84947D83937D83937D83937C82927C82927A81937A8193798092787F91
787F91787F91787F91787F91727A8F757C8F747B8D767B8E777E9071798C6E798D768298A0AEC8
B4C2DCAAB8D3A5B3D0ADBCDBAAB9DAA7B5D8A8B6D9A6B5D6A5B4D5A4B3D4A3B2D3A3B1D4A3B1D4
A1AFD2A0AED19EAED29EAED29DADD19CACD09BABCF9BABCF9AAACE9AAACE95A8D298ACD193A6C7
98A8CC98A5CF95A1C9D4DAE6D7DDEBD4DAEAD3D8EBD5DCEED3DAECD0D7E7D3DBE8D2D9EBD2D9EB
D2D9EBD1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CDD4E7CDD4E7CCD3E6CCD3E6CDD4E7CCD3E6CCD3E6
CBD2E5C4C9DC989EAE7F8595838999838999838997868C9A7D8391818795818795808694808694
8086947F85937F85937F85937E84947E84947D83937D83937D83937C82927C82927C82927A8193
7A8193798092787F91787F91787F91787F91787F91737B90787F92767D8F757A8D777E90747C8F
6B768A69758B93A1BBB0BED8AFBDD8A6B4D1ABBAD9A8B7D8A2B0D3A7B5D8A6B5D6A5B4D5A3B2D3
A3B2D3A3B1D4A2B0D3A1AFD2A0AED19EAED29DADD19DADD19CACD09BABCF9AAACE9AAACE9AAACE
95A8D298ACD193A6C797A7CB98A5CF95A1C9D4DAE6D7DDEBD4DAEAD2D7EAD4DBEDD3DAECD0D7E7
D3DBE8D2D9EBD1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CFD6E8CFD6E8CBD2E5CDD4E7CDD4E7CCD3E6
CAD1E4CAD1E4CCD3E6CFD6E9B6BBCE888E9E7C8292878D9D8389998288968389977D8391818795
8086948086948086947F85937F85937F85937E84927D83937D83937D83937C82927C82927C8292
7B81917B81917A8193798092798092787F91787F91777E90787F91787F91737B907A8194777E90
73788B757C8E747C8F6E798D6B778D7F8DA79FADC7AEBCD7A8B6D3A9B8D7A7B6D7A0AED1A7B5D8
A6B5D6A5B4D5A3B2D3A3B2D3A3B1D4A2B0D3A1AFD29FADD09DADD19DADD19DADD19CACD09BABCF
9AAACE9AAACE99A9CD94A7D197ABD093A6C797A7CB98A5CF95A1C9D3D9E5D6DCEAD3D9E9D2D7EA
D4DBEDD2D9EBCFD6E6D2DAE7D1D8EAD1D8EAD0D7E9D0D7E9CFD6E8CED5E7CED5E7CED5E7CCD3E6
CED5E8CED5E8CCD3E6CAD1E4C9D0E3CCD3E6CED5E8A8ADC08288987E8494858B9B808696808694
8187958288968086948086948086947F85937F85937F85937E84927E84927D83937D83937C8292
7C82927C82927B81917B81917B8191798092798092787F91787F91777E90777E90777E90777E90
71798E798093767D8F71768972798B727A8D6F7A8E707C926D7B958896B0A7B5D0AAB8D5A7B6D5
A8B7D8A3B1D4A7B5D8A6B5D6A4B3D4A3B2D3A2B1D2A2B0D3A2B0D3A0AED19FADD09DADD19DADD1
9CACD09CACD09BABCF9AAACE99A9CD99A9CD94A7D197ABD092A5C697A7CB97A4CE95A1C9D2D8E4
D5DBE9D2D8E8D0D5E8D2D9EBD1D8EACED5E5D1D9E6D0D7E9D0D7E9D0D7E9CFD6E8CED5E7CED5E7
CDD4E6CDD4E6CDD4E7CCD3E6CCD3E6CCD3E6CCD3E6CAD1E4C7CEE1C5CCDF999EB17F8595828898
8389997F85958288967F85938389978086948086948086947F85937F85937E84927E84927E8492
7C82927C82927C82927C82927B81917B81917A80907A8090798092798092787F91777E90777E90
777E90777E90777E9070788D767D90737A8C71768972798B727A8D6E798D717D9367758F76849E
9DABC6A9B7D4A6B5D4AAB9DAA5B3D6A4B2D5A5B4D5A4B3D4A3B2D3A2B1D2A2B0D3A2B0D3A0AED1
9FADD09DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD99A9CD94A7D197ABD092A5C697A7CB
97A4CE94A0C8D0D6E2D4DAE8D1D7E7CFD4E7D1D8EACFD6E8CDD4E4D0D8E5D0D7E9D0D7E9CFD6E8
CFD6E8CED5E7CED5E7CDD4E6CDD4E6CDD4E7CAD1E4C8CFE2CAD1E4CDD4E7CAD1E4C2C9DCBAC1D4
8E93A67D8393858B9B848A9A818797858B997D83918187958086948086948086947F85937F8593
7E84927E84927E84927C82927C82927C82927B81917B81917B81917A80907A8090798092798092
787F91777E90777E90777E90777E90777E9071798E747B8E72798B72778A757C8E727A8D6D788C
6F7B916977916D7B9597A5C0A9B7D4A4B3D2ABBADBA4B2D59EACCFA5B4D5A4B3D4A3B2D3A2B1D2
A2B0D3A1AFD2A0AED19FADD09DADD19DADD19CACD09BABCF9AAACE9AAACE99A9CD99A9CD94A7D1
97ABD092A5C697A7CB97A4CE94A0C8CFD6E0D0D6E2CFD6E6D0D7E9D0D7EACFD6E9CDD6E7CCD5E6
CDD5E8CDD5E8CCD4E7CCD4E7CCD4E7CBD3E6CBD3E6CBD3E6C8D0E3CAD2E5CAD2E5C9D1E4CBD2E4
C9D0E2CDD4E69DA4B67F85958086968187978288988288988288988187978187977F85957F8595
7E84947E84947D83937C82927C82927C82927A81937A81937A8193798092798092787F91787F91
787F91787F92787F92787F92777E91767D90767D90757C8F757C8F737B8E737B8E727A8D71798C
71798C70788B70788B70788B6F7B91707C9494A0BAAEBCD7AAB9D8A8B7D8A7B7D9A4B4D6A3B1D4
A3B1D4A2B0D3A1AFD2A1AFD4A0AED39FADD29FADD29CABD29CABD29CABD29BAAD19AA9D099A8CF
99A8CF98A7CE95A8D394A7CF94A6CA95A4CB96A3CF97A3CDCED5DFCFD5E1CED5E5CFD6E8CFD6E9
CED5E8CCD5E6CBD4E5CCD4E7CCD4E7CBD3E6CBD3E6CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4CAD2E5
C8D0E3C6CEE1C9D0E2C6CDDFC6CDDF949BAD8086968086968187978187978187978086967F8595
7E84947F85957E84947E84947D83937D83937C82927C82927C82927A81937A81937A8193798092
798092787F91787F91787F91787F92787F92777E91777E91767D90767D90757C8F757C8F737B8E
727A8D727A8D71798C71798C70788B70788B70788B6B778D67738B8692ACA2B0CBA3B2D1A0AFD0
A1B1D39FAFD1A3B1D4A3B1D4A2B0D3A1AFD2A0AED3A0AED39FADD29FADD29CABD29CABD29BAAD1
9BAAD19AA9D099A8CF98A7CE98A7CE94A7D293A6CE93A5C994A3CA95A2CE96A2CCCDD3DFCED4E2
CDD4E4CED5E7CED5E8CDD4E7CBD4E5CAD3E4CBD3E6CBD3E6CAD2E5CAD2E5CAD2E5C9D1E4C9D1E4
C9D1E4CCD4E9CBD3E6C8D0E3C7CFE2CAD1E4C6CDDFC6CDDF939AAC808696808696808696808696
8086967F85957D83937C82927E84947E84947E84947D83937C82927C82927B81917B81917A8193
7A8193798092798092798092787F91787F91787F91787F92777E91777E91767D90767D90757C8F
757C8F747B8E727A8D727A8D727A8D71798C71798C70788B70788B6F778A737F9569758D7E8AA4
A0AEC9A8B7D6A5B4D5A6B6D8A6B6D8A2B0D3A2B0D3A2B0D3A1AFD2A0AED39FADD29FADD29EACD1
9CABD29CABD29BAAD19AA9D099A8CF99A8CF98A7CE98A7CE93A6D192A5CD92A4C893A2C994A1CD
95A1CBCDD3DFCDD3E1CDD4E4CDD4E7CDD4E7CCD3E6CAD2E5CAD3E4CAD2E5CAD2E5CAD2E5C9D1E4
C9D1E4C9D1E4C8D0E3C8D0E3C9D1E6C9D1E6C8D0E5C6CEE1C9D0E3C8CFE2CBD2E49AA1B37F8595
7F85958086968086968086967F85957D83937D83937E84947D83937D83937C82927C82927B8191
7B81917B81917A8193798092798092798092787F91787F91787F91777E90777E91777E91767D90
767D90757C8F757C8F747B8E747B8E727A8D727A8D727A8D71798C70788B70788B6F778A6F778A
707C92636F87707C9696A4BFA6B5D4A1B0D1A2B2D4A2B2D4A2B0D3A2B0D3A1AFD2A0AED19FADD2
9FADD29EACD19EACD19BAAD19BAAD19AA9D09AA9D099A8CF98A7CE98A7CE97A6CD93A6D192A5CD
92A4C893A2C994A1CD95A1CBCDD3DFCDD3E1CDD4E6CDD4E7CDD3E9CCD2E8CAD2E5CAD2E5CAD2E5
CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C4CCE1C6CEE3C6CEE3C4CCE1C6CDE0C4CBDE
CAD1E49DA4B77E84947F85957F85958086968086968086967F85957E84947D83937D83937C8292
7C82927B81917B81917A80907A8090798092798092798092787F91787F91787F91777E90777E90
777E91767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D71798C71798C70788B
6F778A6F778A6F778A6C788E626E8667738D919FBAA6B5D49FAECFA0B0D29EAED0A1AFD2A1AFD2
A1AFD2A0AED19FADD29EACD19EACD19DABD09BAAD19AA9D09AA9D099A8CF98A7CE98A7CE97A6CD
97A6CD93A6D192A5CD92A4C893A2C994A1CD95A1CBCCD2E0CDD3E3CCD3E5CDD4E7CDD3E9CCD2E8
CAD2E5C9D1E4CAD2E5CAD2E5C9D1E4C9D1E4C9D1E4C8D0E3C8D0E3C8D0E3C6CEE5C8D0E5C7CFE4
C5CDE2C6CCE2C3CADDC7CEE1979EB17D83937E84947F85958086968086968086967F85957F8595
7D83937C82927C82927B81917B81917A80907A80907A8090798092798092798092787F91787F91
777E90777E90777E90767D90767D90757C8F757C8F747B8E747B8E737A8D737A8D727A8D71798C
71798C70788B70788B6F778A6F778A6F778A6E7A9069758D6A769092A0BBABBAD9A3B2D3A5B5D7
A1B1D3A1AFD2A1AFD2A0AED19FADD09EACD19EACD19DABD09DABD09AA9D09AA9D099A8CF99A8CF
98A7CE97A6CD96A5CC96A5CC93A6D192A5CD92A4C893A2C994A1CD95A1CBCBD1DFCCD2E2CBD2E4
CCD2E8CBD1E7CBD1E7C9D1E6C8D0E3C9D1E4C9D1E4C8D0E3C8D0E3C7CFE2C7CFE2C7CFE2C7CFE2
C8D0E7C7CFE6C6CEE3C5CDE2C9CFE5C4CAE0C1C8DB8B92A57D83937E84947F85957F85957F8595
7E84947D83937D83937C82927C82927C82927B81917A80907A8090797F8F797F8F798092798092
787F91787F91787F91777E90777E90777E90767D90757C8F757C8F747B8E747B8E737A8D737A8D
737A8D71798C71798C71798C70788B70788B6F778A6F778A6E768968748A6B778F67738D8B99B4
A4B3D29EADCEA3B3D59DADCFA1AFD2A0AED1A0AED19FADD09EACD19DABD09DABD09CAACF9AA9D0
9AA9D099A8CF98A7CE97A6CD97A6CD96A5CC96A5CC92A5D091A4CC91A3C792A1C893A0CC94A0CA
CAD0DECBD1E1CAD1E3CBD1E7CAD0E6CAD0E6C8D0E5C7CFE2C8D0E3C7CFE2C7CFE2C7CFE2C6CEE1
C6CEE1C6CEE1C6CEE1C4CCE3C2CAE1C0C8DFC2CADFC9CFE5C3C9DFBAC1D47F86997E84947E8494
7E84947E84947E84947D83937B81917A80907C82927C82927B81917B81917A80907A8090797F8F
797F8F798092798092787F91787F91777E90777E90777E90777E90757C8F757C8F757C8F747B8E
747B8E737A8D737A8D72798C71798C71798C71798C70788B70788B6F778A6E76896E768969758B
707C9469758F8A98B3A2B1D09EADCEA5B5D79FAFD1A0AED1A0AED19FADD09FADD09EACD19DABD0
9CAACF9CAACF9AA9D099A8CF99A8CF98A7CE97A6CD96A5CC96A5CC96A5CC91A4CF90A3CB90A2C6
91A0C7929FCB939FC9C9D0E2C8D0E3C8D0E5C8D0E7C8D0E7C5D0E6C5D0E4C5D0E4C6D1E5C5D0E4
C5D0E4C5D0E4C5D0E4C5D0E4C5D0E4C4CFE3BFCCDFC5D1E7BFCAE0C5CFE8BFCAE0C4CCE1BDC5D8
7B84957D8496848B9D7D84967980927F86987B8294777E907C83957B82947B82947B82947B8294
7A81937A8193798092798092787F92787F92787F92777E91767D90767D90757C8F757C8F737B8E
737B8E737B8E737B8E727A8D727A8D727A8D727A8D6F7B8B6F7B8B6E7A8A6E7A8A6D788A6C7789
6C77896C77896C789065748B75839D97A6C3A9B8D7A1B1D29BABCD9EB0D49EAED09EAED29DADD1
9DADD19CACD09BAAD19AA9D09AA9D098AAD297A9D196A8D095A7CF94A6CE94A6CE94A6CE94A6CE
8EA3D08EA4CD8DA3C88FA2CA8FA0CC929FCBC9D0E2C8D0E3C8D0E5C8D0E7C8D0E7C6D1E7C5D0E4
C5D0E4C4CFE3C4CFE3C4CFE3C4CFE3C4CFE3C4CFE3C3CEE2C3CEE2C0CDE0C3CFE5BEC9DFC3CDE6
BDC8DEC0C8DDBBC3D6818A9B777E907B82947E85977980927C8395808799798092787F917A8193
7A81937A81937A8193798092798092798092787F91787F92787F92777E91777E91767D90767D90
757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D727A8D727A8D6F7B8B6F7B8B6E7A8A
6E7A8A6D788A6C77896C77896C778969758D7180978694AE9CABC8A6B5D4A2B2D39FAFD19FB1D5
9EAED09EAED29DADD19CACD09CACD09BAAD19AA9D09AA9D098AAD297A9D196A8D095A7CF94A6CE
94A6CE94A6CE93A5CD8EA3D08EA4CD8DA3C88FA2CA8FA0CC929FCBC8CFE1C7CFE2C7CFE4C7CFE6
C7CFE6C5D0E6C4CFE3C4CFE3C3CEE2C3CEE2C3CEE2C3CEE2C2CDE1C2CDE1C2CDE1C2CDE1C2CFE2
C1CDE3BEC8E1C5CFE8BEC8E1BFC7DEBEC6D9949CAF7D8496777E90808799798092787F9182899B
798092777E907A8193798092798092798092787F91787F91787F91777E90787F92777E91777E91
767D90767D90757C8F757C8F747B8E737B8E737B8E727A8D727A8D727A8D727A8D727A8D727A8D
6F7B8B6E7A8A6E7A8A6D788A6D788A6C77896C77896B768A6470887E8CA699A7C2A1B0CDA1B0CF
A1B1D3A2B2D69EB0D49EAED09DADD19DADD19CACD09BABCF9AA9D09AA9D09AA9D097A9D197A9D1
96A8D095A7CF94A6CE93A5CD93A5CD93A5CD8EA3D08EA4CD8DA3C88FA2CA8FA0CC919ECAC6CDDF
C5CDE0C5CDE2C5CDE4C5CDE4C3CEE4C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C2CDE1C1CCE0
C1CCE0C1CCE0C1CDE3BECAE0BDC7E0C5CFE8C0CAE3C1C9E0C3CBE0AAB2C58D94A6777E907F8698
7A8193757C8E7F8698787F91798092798092798092798092787F91787F91787F91777E90777E90
777E91777E91767D90767D90757C8F757C8F747B8E747B8E727A8D727A8D727A8D727A8D727A8D
727A8D71798C71798C6E7A8A6E7A8A6E798B6D788A6C77896C778B6B768A6B768A616D858290AA
A0AEC9A3B2CF9EADCE9EAED0A1B1D59DAFD39DADCF9DADD19CACD09CACD09BABCF9AA9D099A8CF
99A8CF97A9D196A8D095A7CF94A6CE93A5CD93A5CD93A5CD93A5CD8EA3D08DA3CC8DA3C88EA1C9
8FA0CC919ECAC6CDDFC5CDE0C5CDE2C5CDE4C5CDE4C3CEE4C2CDE1C2CDE1C2CDE3C2CDE3C2CDE3
C2CDE3C1CCE2C1CCE2C1CCE2C1CCE2BFCBE1BBC7DFBCC6DFC2CCE7BEC8E1BFC7DEC2CADFB7BFD2
939AAC757C8E777E907B8294787F917A8193767D8F7C83957A8193798092798092798092787F91
787F91787F91777E90777E91767D90767D90757C8F757C8F747B8E747B8E737A8D727A8D727A8D
727A8D727A8D727A8D71798C71798C71798C6E798B6E798B6D788A6D788A6C778B6C778B6B768A
6B768A636F89818FA99FADC8A4B3D29FAECF9CACCE9EAED29CAED49DADCF9CACD09CACD09BABCF
9AAACE99A8CF99A8CF99A8CF96A8D096A8D095A7CF94A6CE93A5CD92A4CC92A4CC92A4CC8DA2CF
8DA3CC8DA3C88EA1C98E9FCB919ECAC7CEE0C6CEE1C6CEE3C6CEE5C6CEE5C4CFE5C3CEE2C3CEE2
C1CCE2C1CCE2C1CCE2C1CCE2C1CCE2C0CBE1C0CBE1C0CBE1C1CDE3BDC9E1BFC9E4C1CBE6BDC7E2
BEC5DFC0C8DDBCC4D9959CAE7E859772798B7B82947D8496777E90787F917B8294798092798092
798092787F91787F91787F91777E90777E90767D90767D90757C8F757C8F747B8E747B8E737A8D
737A8D727A8D727A8D727A8D71798C71798C71798C71798C71798C6E798B6E798B6D788A6D788C
6C778B6B768A6B768A6B768C66728C818FAA9EACC9A4B3D2A0AFD09DADD19EADD49CAED49CACCE
9CACD09BABCF9BABCF9AAACE99A8CF98A7CE98A7CE96A8D095A7CF94A6CE93A5CD92A4CC92A4CC
92A4CC92A4CC8DA2CF8DA3CC8CA2C78EA1C98E9FCB919ECAC6CDDFC5CDE0C5CDE2C5CDE4C5CDE4
C2CDE3C2CDE1C1CCE0C0CBE1C0CBE1C0CBE1C0CBE1BFCAE0BFCAE0BFCAE0BFCAE0C0CCE4BDC9E1
C1CBE6BFC9E4BDC7E2C0C7E1BEC6DDBFC7DCA8AFC19CA3B5798092787F917D8496757C8E7D8496
787F91787F91787F91787F91787F91777E90777E90767D8F767D8F767D90757C8F757C8F747B8E
747B8E737A8D737A8D737A8D727A8D727A8D71798C71798C71798C71798C71798C71798C6E798B
6D788A6D788C6C778B6C778B6B768A6B768C6A758B67738D8492AD9FADCAA2B1D09EACCF9FAFD3
9FAED59AACD29CACCE9BABCF9BABCF9AAACE99A9CD99A8CF98A7CE98A7CE95A7CF95A7CF94A6CE
93A5CD92A4CC91A3CB91A3CB91A3CB8DA2CF8DA3CC8CA2C78EA1C98E9FCB909DC9C3CADCC2CADD
C3CBE0C3CBE2C3CBE2C0CBE1C0CBDFBFCADEBFCAE0BFCAE0BFCAE0BEC9DFBEC9DFBEC9DFBEC9DF
BEC9DFBAC6DEB9C5DDBDC7E2BAC4DFB9C3DEBFC6E0BCC4DBBEC6DBC0C7D9BCC3D5848B9D767D8F
798092737A8C81889A767D8F777E90777E90777E90777E90767D8F767D8F767D8F757C8E757C8F
757C8F757C8F747B8E747B8E737A8D737A8D72798C727A8D727A8D71798C71798C71798C71798C
71798C71798C6D788A6D788A6D788C6C778B6C778B6B768C6B768C6A758B66718D8795B0A2B0CD
A0AFCE9BA9CC9FAFD3A0AFD697A9CF9CACCE9BABCF9BABCF9AAACE99A9CD98A7CE98A7CE97A6CD
95A7CF94A6CE93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB8DA2CF8DA3CC8CA2C78DA0C88E9FCB
909DC9C5CCDEC3CBDEC2CAE1C2C9E3C1C8E4BFC9E4BFC9E2BFC9E2BECAE2BECAE2BFCBE3BECAE2
BECAE2BDC9E1BDC9E1BCC8E0BBC7E1BBC7E1BBC7E1BBC7E1BBC7E1BAC6E0BAC6E0BAC6E0B4BFD5
BCC7DD939BB070788D7A82957A8394747B8D767D8F777E91777E91777E91767D90767D90757C8F
757C8F757C8F747C8F747C8F747C8F737B8E737B8E737B8E727A8D727A8D6F7A8C6F7A8C6F7A8C
6E798B6E798B6D788A6D788A6D788A6E78916A758B6D788C6D788C6673866C788E6D7991616D85
61708F8C9BBAA1B0D1A0AFD0A4B4D6A0B0D498A8CC9CACD099ABD398AAD298AAD297A9D196A8D0
95A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98CA1D08BA1CA
8AA0C78C9FC78C9DC88F9CC6C3CADCC2CADDC1C9E0C1C8E2C0C7E3BEC8E3BEC8E1BEC8E1BDC9E1
BDC9E1BDC9E1BDC9E1BDC9E1BCC8E0BCC8E0BBC7DFBAC6E0BAC6E0BAC6E0BAC6E0B9C5DFB9C5DF
B9C5DFB9C5DFB6C1D7BBC6DCA3AEC4747C917B8396777F92787F91787F91777E91777E91767D90
767D90767D90757C8F757C8F757C8F737B8E737B8E737B8E727A8D727A8D727A8D71798C71798C
6E798B6E798B6E798B6E798B6D788A6D788A6D788A6C77896D77906A758B6A75896B768A687588
69758B69758D64708A6978978E9DBC9FAECF9EACCFA2B2D4A0B0D499A9CD9DACD398AAD298AAD2
97A9D197A9D196A8D095A7CF95A7CF94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB90A2CA90A2CA
8FA1C98BA0CF8BA1CA8AA0C78C9FC78C9DC88F9CC6C2C9DBC1C9DCC0C8DFBFC6E0BFC6E2BDC7E2
BDC7E0BDC7E0BCC8E0BCC8E0BCC8E0BCC8E0BCC8E0BBC7DFBAC6DEBAC6DEB9C5DFB9C5DFB8C4DE
B8C4DEB8C4DEB8C4DEB8C4DEB8C4DEB8C2DBB4BED7B0BBD1778298767E9371798C757D90778091
767D90767D90767D90767D90757C8F757C8F757C8F747B8E727A8D727A8D727A8D71798C71798C
71798C70788B70788B6E798B6D788A6D788A6D788A6C77896C77896C77896B76886E798F6C778D
6974886A75896A778A66728866728A6F7B957B8AA995A4C59FAECF9BABCD9FAFD19EAED299A8CF
9AACD298AAD298AAD297A9D196A8D095A7CF95A7CF94A6CE94A6CE93A5CD93A5CD92A4CC91A3CB
90A2CA90A2CA8FA1C98FA1C98BA0CF8BA1CA8AA0C78B9EC68C9DC88F9CC6C1C8DAC0C8DBBFC7DE
BEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7DFBBC7DFBBC7DFBBC7DFBBC7DFBAC6DEB9C5DDB9C5DD
B8C4DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDBAC6E0ADB7D0B3BDD68893A9768195
767E9370788B767E91767D90767D90757C8F757C8F757C8F747B8E747B8E747B8E727A8D727A8D
727A8D71798C71798C70788B70788B70788B6D788A6D788A6C77896C77896B76886B76886B7688
6B76886E798F707B916B768A6A75896B778D6470886C7892838EAA8F9EBF9EADCEA0B0D19BABCD
9CACD09AACD096A8CE97A9CF97A9D197A9D197A9D196A8D095A7CF94A6CE94A6CE93A5CD92A4CC
92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98EA0C88BA0CF8BA1CA8AA0C78B9EC68C9DC88F9CC6
C1C8DAC0C8DBBFC7DEBEC5DFBEC5E1BCC6E1BCC6DFBCC6DFBBC7E1BBC7E1BBC7E1BBC7E1BBC7E1
BAC6E0B9C5DFB9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDB7C3DDBCC8E2ADB9D3
B3BFD7A9B3CC8E99AF8C97AB71798E757D92757C8F757C8F757C8F757C8F747B8E747B8E737A8D
737A8D727A8D727A8D727A8D71798C71798C71798C70788B70788B6C77896C77896C77896B7688
6B76886A75876A75876A75876C778D707B916C778B6A758968748A64708A76819D98A3C19CACCD
A1B1D2A0B0D29BABCD99ABCF99ABD197A9CF97A9D197A9D197A9D196A8D095A7CF94A6CE94A6CE
93A5CD93A5CD92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98EA0C88EA0C88BA0CF8AA0C98AA0C7
8B9EC68C9DC88E9BC5C0C7D9BFC7DABEC6DDBDC4DEBDC4E0BBC5E0BBC5DEBBC5DEBAC6E0BAC6E0
BAC6E0BAC6E0BAC6E0B9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB7C3DDB6C2DCB6C2DCB6C2DCB6C2DC
B6C2DCB8C3DFB0BBD7B3BFD9C0CCE4A9B3CCA4AFC57782986F7A8E757C8F757C8F747B8E747B8E
747B8E737A8D737A8D737A8D727A8D727A8D727A8D71798C71798C70788B70788B70788B6C7789
6C77896C77896B76886B76886A75876A75876A75876A758B6C778D6B768A687389636F8767738D
818CAAA3AECE9FAFD09EAED09DADCF99ABCF99ABCF9AACD29AACD498ABD396A8D096A8D096A8D0
95A7CF94A6CE93A5CD93A5CD92A4CC91A3CB91A3CB91A3CB90A2CA8FA1C98EA0C88EA0C88D9FC7
8A9FCE8AA0C9899FC68B9EC68B9CC78E9BC5BFC6D8BDC5D8BDC5DCBCC3DDBCC3DFBAC4DFBAC4DD
BAC4DDB9C5DFB9C5DFB9C5DFB9C5DFB8C4DEB8C4DEB7C3DDB7C3DDB6C2DCB5C1DBB5C1DBB5C1DB
B5C1DBB5C1DBB5C1DBB5C1DBB2BDD9B4BFDBB0BBD7BDC9E3B6C0D9AEB8D1848FA56C778D747B8E
747B8E747B8E747B8E737A8D737A8D737A8D72798C71798C71798C71798C70788B70788B70788B
6F778A6F778A6C77896C77896C77896B76886B76886B76886A75876A75876A758B677286687387
687389626E866E79958B96B4A4AED19FAFD19AAACC98ABCC9AACD098AAD099ABD199ACD498ABD3
96A8D096A8D095A7CF94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB91A3CB90A2CA8FA1C98FA1C9
8EA0C88D9FC78D9FC78A9FCE8AA0C9899FC68A9DC58B9CC78E9BC5BEC5D7BCC4D7BCC4DBBBC2DC
BBC2DEB8C2DDB9C3DCB9C3DCB8C4DEB8C4DEB8C4DEB8C4DEB7C3DDB7C3DDB6C2DCB5C1DBB4C0DA
B4C0DAB4C0DAB4C0DAB4C0DAB4C0DAB3BFD9B3BFD9B0BEDBB8C3DFAEB9D5AFBBD5B6C2DAAEB8D1
919CB26E798F747B8E747B8E747B8E737A8D737A8D737A8D72798C72798C70788B70788B70788B
6F778A6F778A6F778A6E76896E76896C77896C77896C77896B76886B76886B76886A75876A7587
6C778D646F8367728669748A647088747F9B929DBDA2ACCF9FAFD198A8CA97A9CD9AACD097A9CF
95A9CE97AAD295A8D096A8D096A8D095A7CF94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB
90A2CA8FA1C98EA0C88EA0C88D9FC78D9FC78A9FCE8AA0C9899FC68A9DC58B9CC78E9BC5C1C3D8
B9C3DCB5C5DFB6C6E0BAC4DDBAC1DBB7C0DDB6C3E5B6C4DFB6C4DFB5C3DEB5C3DEB5C3DEB4C2DD
B4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB3BEDAB6C1DDABB6D4
B3BEDCB1BCDAAFBAD6A5B1CB69758D757C8E737A8C687182737B8E6E798B6772847380916E7B8C
6E798D6E798D6D788C6D788C6D788C6C778B6C778B6C778B6C778B6C778B6C778B6B768A6B768A
6A75896A75896974886D788A6671856A768C69758F606E8B7885A597A6C79FADD09CABD49CABD4
9BAAD39BAAD39AA9D29AA9D299A8D199A8D195A7CF94A6CE94A6CE93A5CD92A4CC92A4CC91A3CB
91A3CB8FA2CC8FA2CC8FA2CC8EA1CB8DA0CA8C9FC98C9FC98B9EC8899DCF899EC9899FC68B9EC8
8C9DC98F9CC8C1C3D8B9C3DCB5C5DFB6C6E0BAC4DDBAC1DBB7C0DDB6C3E5B5C3DEB5C3DEB4C2DD
B4C2DDB4C2DDB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB0BED9B0BED9
B3BEDAB5C0DCACB7D5B4BFDDB2BDDBAFBAD6AAB6D07A869E767E916F778A737B8E717C8E6C7789
6C77896D7A8B6F7C8D6E798D6D788C6D788C6D788C6C778B6C778B6C778B6C778B6C778B6B768A
6B768A6B768A6B768A6A75896A75896A75896B768A69748868748C64708A6573908190AF9CAACD
9EACCF9BAAD39BAAD39AA9D29AA9D299A8D198A7D098A7D098A7D094A6CE94A6CE93A5CD92A4CC
91A3CB91A3CB90A2CA90A2CA8FA2CC8FA2CC8EA1CB8EA1CB8DA0CA8C9FC98C9FC98B9EC8899DCF
899EC9899FC68B9EC88C9DC98F9CC8C0C2D7B8C2DBB4C4DEB5C5DFB9C3DCB8BFD9B6BFDCB5C2E4
B3C1DCB3C1DCB3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB0BED9B0BED9
B0BED9AFBDD8AFBDD8B4BFDBB4BFDDACB7D5B5C0E0B2BDDBAFBAD6B1BDD7929EB6767E93697186
768195727D916D788C727D916774856E7B8C6D788C6D788C6D788C6C778B6C778B6C778B6B768A
6B768A6A75896A75896A75896A75896A75896A75896A75896A75896873876A758B6470885E6C87
707E9B8F9EBF9FADD09AAACE9AA9D29AA9D299A8D199A8D198A7D097A6CF97A6CF97A6CF93A5CD
93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98EA1CB8EA1CB8EA1CB8DA0CA8C9FC98C9FC9
8B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BEC0D5B6C0D9B2C2DCB3C3DDB7C1DA
B6BDD7B4BDDAB3C0E2B3C1DCB3C1DCB2C0DBB2C0DBB1BFDAB1BFDAB1BFDAB1BFDAB1BFDAB1BFDA
B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8B2C0DBB0BEDBABB8D8B2BFDFAEBBDBACBAD7B2C0DA
A4B2CC7B869C6772886C778B727D91727D91717C906774876B788B6D788C6D788C6C778B6C778B
6B768A6B768A6B768A6B768A6974886974886A75896A75896A75896A75896A75896A7589657086
657187616D8765738E7F8EAD98A6C99CACD098A8CC99A8D199A8D199A8D198A7D097A6CF97A6CF
96A5CE96A5CE93A5CD92A4CC92A4CC91A3CB90A2CA8FA1C98FA1C98FA1C98DA0CA8DA0CA8DA0CA
8DA0CA8C9FC98C9FC98B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BEC0D5B6C0D9
B1C1DBB3C3DDB6C0D9B6BDD7B4BDDAB2BFE1B2C0DBB2C0DBB2C0DBB2C0DBB1BFDAB1BFDAB0BED9
B0BED9B1BFDAB0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AFBDD8B1BFDCAFBDDAACB9D9AFBCDC
ACB9D9AAB8D5B0BED9AEBCD6919DB577839B636F87707C92727E946875886E798D6C778B6C778B
6C778B6C778B6B768A6B768A6B768A6A75896A7589697488697488697488697488697488697488
6A75896A7589647088636F8765738D7987A492A1C29CACCE9AA9D099A8CF99A8D199A8D199A8D1
98A7D097A6CF97A6CF96A5CE96A5CE93A5CD93A5CD92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C9
8DA0CA8C9FC98C9FC98C9FC98C9FC98B9EC88B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC9
8F9CC8BEC0D5B6C0D9B2C2DCB3C3DDB7C1DAB7BED8B4BDDAB3C0E2B2C0DBB2C0DBB1BFDAB1BFDA
B0BED9B0BED9B0BED9B0BED9B0BED9B0BED9B0BED9AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AFBDDA
AEBBDBADBADAACB9DBABB8D8A9B7D4ABB9D4AFBDD7A9B7D1909EB86F7B93707C946D798F647086
737E926D788C6C778B6B768A6B768A6B768A6A75896A75896A75896A7589697488697488697488
69748869748869748869748869748864708865718B74829D8E9DBC9EADCE9DADD19AA9D098AAD2
99A8D199A8D198A7D098A7D097A6CF96A5CE96A5CE96A5CE93A5CD92A4CC92A4CC91A3CB90A2CA
8FA1C98FA1C98FA1C98C9FC98C9FC98B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8899DCF899EC9
899FC68B9EC88C9DC98F9CC8BDBFD4B5BFD8B0C0DAB2C2DCB5BFD8B5BCD6B3BCD9B2BFE1B0BED9
B0BED9B0BED9AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AFBDD8AFBDD8AFBDD8AEBCD7AEBCD7ADBBD6
ADBBD6ADBBD6ACBAD7ADBADAADBADCA9B6D8AAB7D9ABB8D8A8B6D1ABB9D4AFBDD8A4B2CD8D9BB5
77839B67738B69758B717C906B768A6B768A6B768A6B768A6A75896A75896A7589697488697488
697488697488697488687387687387687387687387677286616D8767758F8593B09DACCB9EACCF
9AAACE99ABD396A8D098A7D097A6CF97A6CF96A5CE96A5CE95A4CD95A4CD95A4CD92A4CC91A3CB
91A3CB90A2CA8FA1C98FA1C98EA0C88EA0C88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8
8B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8BABCD1B2BCD5AEBED8AFBFD9B3BDD6B3BAD4
B1BAD7AFBCDEAFBDD8AFBDD8AFBDD8AEBCD7AEBCD7AEBCD7ADBBD6ADBBD6AEBCD7AEBCD7AEBCD7
ADBBD6ADBBD6ACBAD5ACBAD5ACBAD5A9B8D5ABBAD9ACBBDCA7B6D7AAB9DAACBBDAA5B4D1A7B7D1
A6B5D2A9B9D3A8B6D17D8BA5657189717D936D788C6671856B768A6B768A6B768A6A75896A7589
6974886974886974886A75896974886974886873876873876772866772866772865B69836B7994
8F9DBAA2B1D098A8CA97A6CD9BADD592A3CE97A6CF96A5CE96A5CE95A4CD95A4CD94A3CC94A3CC
94A3CC91A3CB91A3CB90A2CA8FA1C98EA0C88EA0C88D9FC78D9FC78B9EC88B9EC88B9EC88B9EC8
8B9EC88B9EC88B9EC88B9EC8899DCF899EC9899FC68B9EC88C9DC98F9CC8B3BED4B2BDD9B0BDDD
AFBEDBAFBFD8AEBED5AFBDD8B1BBDEAFBDDAAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8ADBBD8ADBBD8
ACBBD8ACBBD8ACBBD8ACBBD8ACBBD8ABBAD7ABBAD7ABBAD7A9B8D7A9B8D7A9B8D7A9B8D7A8B7D6
A8B7D6A8B7D6A8B7D6A5B5D7AAB9DAA5B3D07C86A16D788E6772866974886B788B6B768C6B768C
6A758B6A758B69748A69748A69748A69748A687387687387677286677286677286677286677286
67728662708B616F8C96A5C499A8C997A7CB97A9D197A8D397A8D494A6CE94A6CE94A6CE93A5CD
92A4CC92A4CC91A3CB91A3CB8FA2CC8EA1CB8EA1CB8DA0CA8DA0CA8DA0CA8DA0CA8DA0CA8B9EC9
8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8
B2BDD3B1BCD8AFBCDCAEBDDAAEBED7ADBDD4AEBCD7B0BADDAFBDDAAFBDDAAEBCD9AEBCD9ADBBD8
ADBBD8ADBBD8ADBBD8ACBBD8ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7ABBAD7A9B8D7A9B8D7
A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D69FAFD1A5B4D5A1AFCC78829D6C778D6A75896B768A
6B788B6A758B6A758B6A758B6A758B69748A69748A69748A687389677286677286677286677286
677286677286667185667185616F8A606E8993A2C19AA9CA98A8CC97A9D194A5D090A1CC94A6CE
94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB8FA2CC8EA1CB8EA1CB8DA0CA8C9FC98C9FC9
8DA0CA8DA0CA8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC6
8B9EC88C9DC98F9CC8B1BCD2B0BBD7AEBBDBADBCDBADBDD6ACBCD3ADBBD8AFB9DCAEBCD9AEBCD9
AEBCD9ADBBD8ADBBD8ACBAD7ACBAD7ACBAD7AAB9D8AAB9D8AAB9D8AAB9D8AAB9D8AAB9D8A9B8D7
A9B8D7A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A1B1D3A8B7D6A3B1CC78829D
6B768C6B768C6B768C68748A6A758B6A758B6A758B69748A69748A687389687389687389677288
67728867728867728866718766718766718766718764728D62708B8E9DBA9BAACB98A8CC98AAD0
95A6D191A2CD94A6CE93A5CD93A5CD92A4CC92A4CC91A3CB91A3CB91A3CB8EA1CB8EA1CB8DA0CA
8C9FC98C9FC98C9FC98C9FC98C9FC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9
899DCF899EC9899FC68B9EC88C9DC98F9CC8B1BBD4B0BBD7ADBADCACBBDAACBCD5ACBCD5ADBBD8
AFB9DDADBBD8ADBBD8ADBBD8ACBAD7ACBAD7ACBAD7ABB9D6ABB9D6A9B8D7A9B8D7A9B8D7A9B8D7
A9B8D7A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A1B1D2
ABBAD9A6B4CF78829B69748A69748A6A758B6773896A758B69748A69748A69748A687389687389
68738967728867728866718766718766718766718766718766718766718764728C63718C8897B4
99A8C995A5C796A8CE98AAD296A7D293A5CD93A5CD93A5CD92A4CC91A3CB91A3CB90A2CA90A2CA
8EA1CB8DA0CA8DA0CA8C9FC98C9FC98B9EC88C9FC98C9FC98B9EC98B9EC98B9EC98B9EC98B9EC9
8B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8B1BBD4B0BBD9ADBADCACBBDA
ACBCD6ACBCD5ADBBD8AFB9DDADBADAACB9D9ACB9D9ACB9D9ABB8D8ABB8D8ABB8D8AAB7D7A8B7D6
A8B7D6A8B7D6A8B7D6A8B7D6A8B7D6A7B6D5A7B6D5A7B6D5A7B6D5A6B5D4A6B5D4A6B5D4A6B5D4
A6B5D4A6B5D49EAFCDA8B7D4A3B1CC7680996772886772886A748D6A768E69748A69748A69748A
687389687389677288677288677288667187667187667187667187657086657086657086657086
606E8863718C8493B09BAAC992A2C492A4CA95A7CF93A4CF93A5CD92A4CC92A4CC91A3CB91A3CB
90A2CA90A2CA90A2CA8DA0CA8DA0CA8C9FC98B9EC88B9EC88B9EC88B9EC88B9EC88B9EC98B9EC9
8B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8B0BAD3
AFBAD8ADBADCACBBDCACBCD6ABBBD4ACB9D9AEB8DCACB9D9ACB9D9ABB8D8ABB8D8AAB7D7AAB7D7
AAB7D7AAB7D7A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7A6B5D4A6B5D4A6B5D4
A5B4D3A5B4D3A5B4D3A5B4D3A5B4D3A6B7D5A8B7D49FADC8757F9868728B66708967718A68748C
69748A687389687389687389677288677288677288667187656F88656F88656F88656F88656F88
656F88656F88646E875F6D8764728C8090AA9FAECD95A5C794A6CA93A5CD8EA0C892A4CC92A4CC
91A3CB91A3CB90A2CA90A2CA8FA1C98FA1C98DA0CA8C9FC98C9FC98B9EC88B9EC88A9DC78B9EC8
8B9EC88B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF899EC9899FC68B9EC8
8C9DC98F9CC8AFB9D4AEB9D7ACB9DCABBADBAABAD4AABAD4ABB8D8ADB6DDABB8D8ABB8D8ABB8D8
AAB7D7AAB7D7AAB7D7A9B6D6A9B6D6A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7A7B6D7A7B6D7A7B6D7
A5B4D3A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A4B3D2A7B8D69EADCA919FB96D779069738C
67718A67718A67738D687389687389687389677288677288667187667187667187656F88656F88
656F88656F88646E87646E87646E87646E875F6E85606E8873839D98A7C692A2C395A7CB96A8CE
8EA0C892A4CC92A4CC91A3CB90A2CA90A2CA8FA1C98FA1C98FA1C98C9FC98C9FC98B9EC88B9EC8
8A9DC78A9DC78A9DC78A9DC78B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9899DCF
899EC9899FC68B9EC88C9DC98F9CC8AEB8D3ADB8D6ABB8DBAAB9DAA9B8D5A9B9D3AAB7D7ACB5DC
ABB8D8ABB8D8AAB7D7AAB7D7AAB7D7A9B6D6A9B6D6A9B6D6A8B7D8A8B7D8A8B7D8A8B7D8A7B6D7
A7B6D7A7B6D7A7B6D7A5B4D3A5B4D3A5B4D3A5B4D3A4B3D2A4B3D2A4B3D2A4B3D298A9C58A9AB4
7B89A3616B8467718A6A748D6A748D6B7791687389687389677288677288677288667187667187
667187656F88656F88656F88646E87646E87646E87646E87646E875D6C8358668062728C8A99B8
8898B993A5C997A9CF90A2CA92A4CC91A3CB91A3CB90A2CA90A2CA8FA1C98FA1C98EA0C88C9FC9
8C9FC98B9EC88A9DC78A9DC78A9DC78A9DC78A9DC78B9EC98B9EC98B9EC98B9EC98B9EC98B9EC9
8B9EC98B9EC9899DCF899EC9899FC68B9EC88C9DC98F9CC8AFB9D4ACB7D7A9B5DBA8B6DBA7B8D6
A9B9D3A8B7D4A8B5D7A9B8D9A9B8D9A8B7D8A6B5D6A7B6D7AAB9DAABBADBA8B7D8A5B4D1A6B5D2
A5B4D1A2B1CEA1B0CDA3B2CFA4B3D0A4B3D0A9B5DDACB8DEA8B4DAA0ADD0A0ADCFA5B2D2A1AFCC
96A4C17F89A2717B9467718A69738C6D77906B758E67718A67718A67718A67718A667089667089
667089656F88656F88656F8865718B64708A64708A64708A636F89636F89636F89636F89617087
617087616F8964728D6B7A977A89A88C9BBA99A8C98EA0C88FA1C78EA0C68D9FC590A2CA92A3CE
8FA0CC8A9BC98A9ACB8A9ACB8A9ACB8B9BCC8D9DCE8D9DCE8C9CCD8C9CCD8A9DC78A9DC78B9EC8
8B9EC88B9EC88B9EC88A9DC78A9DC7889CCE8A9FCC8AA0C98A9DC78B9CC88F9CC8AEB8D3ABB6D6
A8B4DAA7B5DAA6B7D5A8B8D2A7B6D3A7B4D6A8B7D8A9B8D9A8B7D8A6B5D6A5B4D5A6B5D6A5B4D5
A2B1D2A9B8D7ABBAD9ABBAD9A8B7D6A7B6D5A7B6D5A6B5D4A4B3D29DAACDA0ADD0A2AFD1A3B0D2
A4B1D19CAAC78694B16F7D98707A9368728B646E8767718A69738C667089646E8766708967718A
67718A667089667089656F88656F88656F88656F8864708A64708A636F89636F89626E88626E88
626E88626E8864738A606F865B69835765805968856473907584A38190AF8A9CC291A3C994A6CA
90A2C68B9DC38B9DC58C9DC98D9ECC91A2CE90A1CD8E9FCB8C9DC98C9DC98B9CC88B9CC88B9CC8
8B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC88B9EC8889CCE8A9FCC8AA0C98B9EC88C9DC9
909DC9ADB7D2AAB5D5A7B3D9A6B4D9A5B6D4A6B6D0A6B5D2A6B3D5A3B2D3A6B5D6A8B7D8A6B5D6
A6B5D6A6B5D6A6B5D6A4B3D49FAECDA1B0CFA2B1D0A2B1D0A3B2D1A5B4D3A6B5D4A4B3D2ACB9D9
A9B6D6A3B0D097A5C28593AE72809B62708A58668067718A656F8867718A6A748D69738C646E87
646E8768728B667089667089667089656F88656F88656F88646E87646E87636F89636F89626E88
626E88626E88616D87616D87616D875967815C6A845F6D87606E895D6C895C6B885C6B8A5C6B8A
6E80A47B8DB1899BBF8FA2C38FA1C58D9FC58B9CC7899AC6879AC2889BC3899CC48B9EC68A9DC5
899CC4879AC28699C18B9EC88B9EC88B9EC88A9DC78A9DC78B9EC88B9EC88B9EC8889CCE8A9FCC
8AA0C98A9DC78C9DC9919ECAACB6D1AAB5D5A6B2D8A5B3D8A5B6D4A6B6D0A5B4D1A6B3D5A2B1D2
A6B5D6A7B6D7A5B4D5A5B4D5A6B5D6A7B6D7A6B5D6A8B7D8A8B7D8A7B6D7A4B3D4A4B3D4A5B4D5
A4B3D4A2B1D2A2ADC996A1BD8691AD77839D68748E606C846571896E7A9269738C69738C6A748D
6C768F69738C656F88646E8767718A667089667089656F88656F88656F88646E87646E87646E87
636F89626E88626E88626E88616D87616D87616D87606C86606E88606E885E6C875C6A85586882
5867845A69865C6B8858688A6070926D7D9E7C8CAD8A9ABC91A1C591A0C98E9DC88B9EC98B9EC9
8B9EC98B9EC98A9DC88B9EC98C9FCA8DA0CB8C9FC98B9EC88A9DC78A9DC78A9DC78A9DC78B9EC8
8C9FC9889CCE8A9FCC8AA0C98A9DC78B9CC8909DC9ACB6D1AAB5D5A6B2D8A5B3D8A5B6D4A6B6D0
A5B4D1A6B3D5A5B4D5A7B6D7A6B5D6A3B2D3A2B1D2A3B2D3A3B2D3A2B1D2A5B2D2A6B3D3A7B4D4
A6B3D3A5B2D2A4B1D19FACCC9AA7C7828EA8707C94626E86626E8667738B69758D6A768C6C788E
6B758E69738C68728B68728B67718A656F88646E87656F88656F88656F88656F88646E87646E87
646E87636D86636D86636F89636F89626E88626E88626E88616D87616D87616D875E6C875E6C87
5D6B865B69845969835968855B6A875C6B885B6A8B5867865867865F6E8D6D7C9D7D8BAE8A98BD
919FC68FA1D18EA0D08C9ECE889ACA8698C88799C98A9CCC8D9FCF8C9DC88C9DC88C9DC88B9CC7
8B9CC78C9DC88C9DC88C9DC8899DCF8A9FCC8AA0C9899CC68A9BC78F9CC8ACB6D1A9B4D4A6B2D8
A5B3D8A4B5D3A5B5CFA5B4D1A5B2D4A4B3D4A5B4D5A4B3D4A3B2D3A4B3D4A7B6D7A6B5D6A3B2D3
A1AFCCA1AFCC9FADCA9BA9C695A3C08D9BB88290AD7886A36F7B9367738B636F8767738B6A768E
66728A626E86606C846A748D67718A656F88656F8866708967718A67718A667089656F88656F88
646E87646E87646E87636D86636D86636D86636F89626E88626E88626E88616D87616D87616D87
606C865866815B69845F6D88616F8A60708A5D6D875969835666805B6A875A6986586784566582
5665825C6B8C6A789B7785AA798AB88091BF899AC88FA0CE90A1CF8E9FCD8B9CCA8A9BC98B9CC7
8C9DC88C9DC88C9DC88C9DC88C9DC88C9DC88B9CC7899DCF8BA0CD8AA0C9899CC68A9BC78F9CC8
ABB5D0A8B3D3A5B1D7A3B1D6A3B4D2A4B4CEA4B3D0A4B1D3A2B1D2A3B2D3A2B1D2A3B2D3A5B4D5
A6B5D6A1B0D19BAACBA2B0CB9DABC692A0BB8593AE7A88A3707E9964728D5B6984636D86667089
6A748D6A748D667089656F8868728B6C768F68728B67718A66708966708967718A68728B68728B
67718A646E87646E87646E87646E87636D86636D86626C85626C85626E88616D87616D87616D87
606C86606C86606C86606C8663718E606E8B5B69845866815767815969835D6D875F6F89596782
5967825B69845A688355637E525F7F5562845C698C6170996C7BA47A89B28695BE8C9BC48E9DC6
8F9EC78F9EC78A9BC68B9CC78C9DC88D9EC98D9EC98C9DC88B9CC78A9BC6899DCF8A9FCC8AA0C9
8A9DC78B9CC8919ECAA9B3CEA7B2D2A4B0D6A2B0D5A2B3D1A3B3CDA3B2CFA3B0D2A5B4D5A4B3D4
A2B1D2A0AFD0A0AFD09BAACB909FC08695B67984A0727D9967728E5F6A86606B8765708C697490
69749068728B68728B667089656F8866708967718A66708B646E89646E8766708967718A667089
646E87646E87646E87636D86646E87646E87646E87636D86636D86636D86626C85626C85616D87
616D87606C86606C865F6B855F6B855F6B855F6B855A68855B69865C6A875D6B865D6D875B6B85
5868825666805F6D8859678256647E5967815B69845A68855966865B688A526182536283546384
5766875F6E8F6D7C9D7D8CAD8998B9899AC58B9CC78D9EC98E9FCA8E9FCA8D9EC98B9CC7899AC5
889CCE8A9FCC8AA0C98A9DC78D9ECA94A1CDA6B3D5A3B2D3A0B3D49FB3D4A1B4D4A3B4D2A5B3CE
A8B2CDACB7D3A0ABC7929DB98792AE7C87A3727D996E79956E799568728B68728B68728B68728B
69738C69738C69738C69738C67718C67718C67718C67718C66708B66708B66708B66708B65718B
65718B64708A64708A636F89636F89636F89636F89636C89636C89636C89626B88626B88626B88
616A87616A87606B87606B87606B875F6A865F6A865F6A865F6A865F6A865B69865B69865B6986
5B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A68855A68855A6885
5966885966885A67895A67895B688A5C698B5C698B5D6A8C6776977382A37987AA7D8BB08896BD
909DC78F9CC68F9CC88C9ECC899BC98B9CC894A3CE8996C094A0C8A9B6D8A1B0D199ACCD9AAECF
9FB2D2A2B3D1A5B0CCA5AFCA838EAA76819D6A759167728E68738F66718D616C885F6A86667089
66708966708966708966708966708966708966708967718A67718A67718A667089667089667089
667089667089647088647088647088647088636F87636F87636F87626E86636D88636D88636D88
626C87626C87616B86616B86616B86606B87606B875F6A865F6A865F6A865F6A865F6A865F6A86
5B69865B69865B69865B69865A68855A68855A68855A68855A68855A68855A68855A68855A6885
5A68855A68855A68855764845764845764845865855865855865855865855865855261805A6988
5C6B8C5E6D8E6A789B7987AC8795BC94A2C98B9EC98C9FCA8B9CC892A0CD8A97C1939FC7A6B0D3
A4B3D4A1B1D39DB0D1A1B4D4A4B3D296A1BD828CA76E7A9266728A616D85626E8667738B69758D
68748C68748C67718A67718A67718A67718A667089667089667089667089667187667187667187
667187667187667187657086657086647086647086647086636F85636F85626E84626E84626E84
636D88626C87626C87626C87616B86616B86616B86606A855F6A865F6A865F6A865F6A865F6A86
5E69855E69855E69855B69865B69865B69865B69865A68855A68855A68855A68855A68855A6885
5A68855A68855A68855A68855A68855A68855B69865A68855A6885596784596784586683586683
57658255657F57678152617E4F5E7B5362815D6C8D6F7E9F8493B4899CC690A3CE8B9CC88F9DCA
8C99C5939FC79EA8CBA8B5D7A6B6D89AADCE9CAFCFA1B0CF8893AF646B8766728868748A6A768C
68748A64708664708668748A6D798F67718A67718A67718A67718A667089667089667089656F88
667187667187667187667187657086657086657086657086647086636F85636F85636F85626E84
626E84626E84616D83626C85626C85626C85616B84616B84606A83606A83606A835F6A865F6A86
5E69855E69855E69855E69855E69855E69855B69865B69865A68855A68855A68855A68855A6885
5A68855A68855A68855A68855A68855A68855A68855A68855A68855D6B865C6A855C6A855B6984
5B69845A68835A68835967825E6E875F6F885A6A8357678155657F52617E5A69866B7A978194BC
8FA2CC8A9BC78D9BC88E9BC794A0C8A3ADD0A3B0D29EAED097AACB98A8C992A1C07D88A4666D89
65708669748A6B768C687389626D83606B81636E84677288656F88656F88646E87646E87646E87
636D86636D86636D86657086657086657086657086657086657086646F85646F85646F85646F85
646F85636E84636E84626D83626D83626D83626C87616B86616B86616B86606A85606A85606A85
5F69845E69855E69855E69855E69855D68845D68845D68845D68845A67875A67875A67875A6787
5A67875A67875966865966865A67875A67875A67875A67875A67875A67875A67875A6787596782
59678259678259678259678259678259678259678257657F5967815967815C6A855F6D88596782
576580606E897589AC8A9EC38A9BC68F9DCA8E9BC895A1CBAAB2D69BA8CA9AA8CBA5B5D79BABCC
7D8AAA69728F69708C6A758B69748A6772886671876873896B768C687389646F85656F88656F88
656F88656F88646E87646E87646E87646E87656F88656F88656F88646E87646E87646E87646E87
646E87646E87636D86636D86636D86626C85626C85626C85616B84616A87616A87616A87606986
6069865F68855F68855F68855E69855E69855D68845D68845D68845D68845D68845D68845A6787
5A67875A67875A67875966865966865966865966865A67875A67875A67875A67875A67875A6787
5A67875A6787586683586683586683586683596784596784596784596784576582596784586683
5A68855E6C895A6885556380586683677B9C7F93B68A9BC692A0CD8C99C694A0CAA6AED29BA5C8
9EACCFAABADC97A7C86E7B9B5C6582666B88667089656F88636D86626C856670896A748D68728B
626C85667089667089667089667089667089667089667089667089646D8A646D8A646D8A646D8A
646D8A646D8A636C89636C89636C89636C89636C89626B88626B88616A87616A87616A87616A89
6069886069886069885F68875F68875F68875F68875D68845D68845D68845D68845D68845C6783
5C67835C67835A67875A67875A67875A67875966865966865966865966865A67875A67875A6787
5A67875A67875A67875A67875A67875966865966865A67875A67875A67875A67875A67875B6888
5D6A8C606D8F5C698B5764845966865865855461815562825A6F8C7488AB899AC595A3D28996C3
919DC79FA7CB9DA7CA9EACCF9BABCD8494B5697696626B886C718E636D8867718C69738E656F8A
626C87646E8966708B656F8A636D86646E87646E87646E87656F88656F88656F88656F88646D8A
646D8A646D8A646D8A646D8A636C89636C89636C89636C89636C89626B88626B88626B88616A87
616A87616A8760698A60698A60698A60698A5F68895F68895E67885E67885D68845D68845D6884
5D68845C67835C67835C67835C67835A67875A67875A6787596686596686596686596686596686
5A67875A67875A67875A67875A67875A67875A67875A6787596688596688596688596688596688
5966885966885966885862865F698D5C668A5660845A64875E688B5E688B5F698C5368856D81A2
899BC397A5D48591C18E9AC4A1ADC59FADCAA1B0D199A8C78898AF617181657285667187656F88
656F88646E87646E87646E87646E87646E87646E87646E89646E89646E89646E89646E89646E89
646E89646E89636E84636E84636E84626D83626D83626D83626D83626D83616C82616C82616C82
616C82616C82616C82616C82606B81616C82616C82606B81606B81606B815F6A805F6A805F6A80
58687F58687F58687F58687F58687F58687F58687F58687F57687C57687C57687C57687C57687C
57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C57687C
57687C57687C57687C57687C57687C57687C57677E57677E57677E57677E57677E57677E57677E
57677E546873677C91889BBC8B9FC2869AB58FA1B59CAAC49CA9C99EACCF95A4C58292AB5D6C7F
616E81636D86657189657189657189647088647088647088647088647088616D87616D87616D87
616D87616D87616D87616D87616D87636F87636F87626E86626E86626E86626E86626E86626E86
616D85616D85616D85616D85616D85606C84606C84606C84606C84606C84606C84606C845F6B83
5F6B835E6A825E6A825B6B845B6B845B6B845B6B845B6B845B6B845B6B845B6B845C6C835C6C83
5C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C83
5C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C835C6C855C6C855C6C855C6C85
5C6C855C6C855C6C855C6C8556687C6B7C9A8A9BC68FA0CC8A9CC093A4C09CAAC59AA9CA9CACD0
94A4C67B8CA65A6B7F626E86636F89606C84606C84606C84606C845F6B835F6B835F6B835F6B83
616D87616D87616D87616D87616D87616D87616D87616D875E69855D68845D68845D68845D6884
5D68845D68845D68845C67835C67835B66825B66825B66825B66825B66825B66825B66825B6682
5A65815A65815A6581596480596480596480556380556380556380556380556380556380556380
556380576580576580576580576580576580576580576580576580576580576580576580576580
576580576580576580576580576580576580576580576580576580576580576580576580576580
57658057658057658057658057658057658057658054638067759C8896C78C9CCF8B99C693A1C6
9CAAC79AA9CA9AA9D094A4C67687A15B6B82647088646F8B67738B67738B67738B67738B67738B
66728A66728A66728A616D85616D85616D85616D85616D85616D85616D85616D8565708C65708C
646F8B646F8B646F8B646F8B646F8B646F8B636E8A626D89626D89626D89626D89626D89626D89
616C88626D89626D89616C88616C88616C88606B87606B87606B875E69895E69895E69895E6989
5E69895E69895E69895E69895E69855E69855E69855E69855E69855E69855E69855E69855E6985
5E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E69855E6985
5E69855E69855E69875E69875E69875E69875E69875E69875E69875E698752607D627097838FC1
8B98CC8A97C4919EC19BA9C499A6C698A6CB94A3C471819A5D6C81657187646E875F6C7F5F6C7F
5F6C7F5F6C7F5F6C7F5F6C7F5E6B7E5E6B7E616D83616D83616D83616D83616D83616D83616D83
616D835D69835D69835D69835D69835C68825C68825C68825C68825B67815B67815B67815B6781
5B67815A66805A66805A66805B66825A65815A65815A658159648059648059648058637F5C6584
5C65845C65845C65845C65845C65845C65845C65845B64815B64815B64815B64815B64815B6481
5B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B6481
5B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B64815B6481
59657B6873938692BC8E9BC78F9CBF97A2BEA0ABC19BA6C297A4C498A6C37281966471816D7588
6870856E77886E77886D76876D76876D76876D76876D76876D7687687083687083687083687083
6870836870836870836870836C748B6C748B6C748B6B738A6B738A6B738A6B738A6B738A6B738A
6B738A6B738A6A72896A72896A72896A72896A72896A718B6A718B6A718B69708A69708A686F89
686F89686F896A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B
6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B
6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A718B6A72896A72896A72896A72896A7289
6A72896A72896A7289616D796C788E8993B6919EC1949FBB9BA6BA
end
%%PageTrailer
%%Trailer
%%EOF

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View file

@ -0,0 +1,44 @@
%% start of file `publications.bib'.
%% Copyright 2006-2012 Xavier Danaux (xdanaux at gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
@BOOK{book1,
author = {John Doe and Author 1},
title = {Title},
publisher = {Publisher},
edition = {edition},
year = {year},
}
@BOOK{book2,
author = {John Doe and Author 2},
title = {Title},
publisher = {Publisher},
edition = {edition},
year = {year},
}
@MISC{misc1,
author = {John Doe},
title = {Title},
year = {year},
}
@MISC{misc2,
author = {John Doe and Author 3},
title = {Title},
year = {year},
}
@MISC{misc3,
author = {John Doe},
title = {Title},
year = {year},
}
%% end of file `publications.bib'.

Binary file not shown.

View file

@ -0,0 +1,131 @@
%% Inicio del archivo `template-es.tex'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{moderncv} % opciones posibles incluyen tamaño de fuente ('10pt', '11pt' and '12pt'), tamaño de papel ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' y 'landscape') y familia de fuentes ('sans' y 'roman')
% temas de moderncv
\moderncvstyle{casual} % las opciones de estilo son 'casual' (por omision),'classic', 'oldstyle' y 'banking'
\moderncvcolor{blue} % opciones de color 'blue' (por omision), 'orange', 'green', 'red', 'purple', 'grey' y 'black'
%\renewcommand{\familydefault}{\sfdefault} % para seleccionar la fuente por omision, use '\sfdefault' para la fuente sans serif, '\rmdefault' para la fuente roman, o cualquier nombre de fuente
%\nopagenumbers{} % elimine el comentario para suprimir la numeracion automatica de las paginas para CVs mayores a una pagina
% codificacion de caracteres
%\usepackage[utf8]{inputenc} % reemplace con su codificacion
%\usepackage{CJKutf8} % si necesita usa CJK para redactar su CV en chino, japones o coreano
% ajustes para los margenes de pagina
\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % si desea cambiar el ando de la columna para las fechas
% datos personales
\name{John}{Doe}
\title{T\'itulo del CV (opcional)} % dato opcional, elimine la linea si no desea el dato
\address{calle y n\'umero}{c\'odigo postal y ciudad} % dato opcional, elimine la linea si no desea el dato
\phone[mobile]{+1~(234)~567~890} % dato opcional, elimine la linea si no desea el dato
\phone[fixed]{+2~(345)~678~901} % dato opcional, elimine la linea si no desea el dato
\phone[fax]{+3~(456)~789~012} % dato opcional, elimine la linea si no desea el dato
\email{john@doe.org} % dato opcional, elimine la linea si no desea el dato
\homepage{www.johndoe.com} % dato opcional, elimine la linea si no desea el dato
\extrainfo{informacion adicional} % dato opcional, elimine la linea si no desea el dato
\photo[64pt][0.4pt]{picture} % '64pt' es la altura a la que la imagen debe ser ajustada, 0.4pt es grosor del marco que lo contiene (eliga 0pt para eliminar el marco) y 'picture' es el nombre del archivo; dato opcional, elimine la linea si no desea el dato
\quote{Alguna cita (opcional)} % dato opcional, elimine la linea si no desea el dato
% para mostrar etiquetas numericas en la bibliografia (por omision no se muestran etiquetas), solo es util si desea incluir citas en en CV
%\makeatletter
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
%\makeatother
% bibliografia con varias fuentes
%\usepackage{multibib}
%\newcites{book,misc}{{Libros},{Otros}}
%----------------------------------------------------------------------------------
% contenido
%----------------------------------------------------------------------------------
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % para redactar el CV en chino usando CJK
\maketitle
\section{Formaci\'on acad\'emica}
\cventry{a\~no--a\~no}{Grado}{Instituci\'on}{Ciudad}{\textit{Grade}}{Descripci\'on} % Los argumentos del 3 al 6 pueden permanecer vacios
\cventry{a\~no--a\~no}{Grado}{Instituci\'on}{Ciudad}{\textit{Grade}}{Descripci\'on}
\section{Tesis de maestr\'ia}
\cvitem{t\'itulo}{\emph{T\'itulo}}
\cvitem{sinodares}{Sinodales}
\cvitem{descripci\'on}{Una breve descripci\'on de la tesis}
\section{Experiencia}
\subsection{Vocacional}
\cventry{a\~no--a\~no}{t\'itulo del puesto}{Empleador}{Ciudad}{}{Descripci\'on general, no m\'as de 1 \'o 2 l\'ineas.\newline{}%
Detalle de logros:%
\begin{itemize}%
\item Logro 1;
\item Logro 2, con sub-logros:
\begin{itemize}%
\item Sub-logro (a);
\item Sub-logro (b), con sub-sub-logros (¡evite hacer esto!);
\begin{itemize}
\item Sub-sub-logro i;
\item Sub-sub-logro ii;
\item Sub-sub-logro iii;
\end{itemize}
\item Sub-logro (c);
\end{itemize}
\item Logro 3.
\end{itemize}}
\cventry{a\~no--a\~no}{t\'itulo del puesto}{Empleador}{Ciudad}{}{Descripci\'on l\'inea 1\newline{}Descripci\'on l\'inea 2}
\subsection{Miscel\'aneo}
\cventry{a\~no--a\~no}{t\'itulo del puesto}{Empleador}{Ciudad}{}{Descripci\'on}
\section{Idiomas}
\cvitemwithcomment{Idioma 1}{nivel}{Comentario}
\cvitemwithcomment{Idioma 2}{nivel}{Comentario}
\cvitemwithcomment{Idioma 3}{nivel}{Comentario}
\section{Conocimientos de computaci\'on}
\cvdoubleitem{categor\'ia 1}{XXX, YYY, ZZZ}{categor\'ia 4}{XXX, YYY, ZZZ}
\cvdoubleitem{categor\'ia 2}{XXX, YYY, ZZZ}{categor\'ia 5}{XXX, YYY, ZZZ}
\cvdoubleitem{categor\'ia 3}{XXX, YYY, ZZZ}{categor\'ia 6}{XXX, YYY, ZZZ}
\section{Interests}
\cvitem{hobby 1}{Descripci\'on}
\cvitem{hobby 2}{Descripci\'on}
\cvitem{hobby 3}{Descripci\'on}
\section{Extra 1}
\cvlistitem{Tema 1}
\cvlistitem{Tema 2}
\cvlistitem{Tema 3}
\renewcommand{\listitemsymbol}{-~} % para cambiar el simbolo para las listas
\section{Extra 2}
\cvlistdoubleitem{Tema 1}{Tema 4}
\cvlistdoubleitem{Tema 2}{Tema 5\cite{book1}}
\cvlistdoubleitem{Tema 3}{}
% Las publicaciones tomadas de un archivo de BibTeX sin usar multibib\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications} % 'publications' es el nombre del archivo BibTeX
% Las publicaciones tomadas de un archivo BibTeX usando el paquete multibib
%\section{Publicaciones}
%\nocitebook{book1,book2}
%\bibliographystylebook{plain}
%\bibliographybook{publications} % 'publications' es el nombre del archivo BibTeX
%\nocitemisc{misc1,misc2,misc3}
%\bibliographystylemisc{plain}
%\bibliographymisc{publications} % 'publications' es el nombre del archivo BibTeX
%\clearpage\end{CJK*} % si esta redactando su CV en chino usando CJK, \clearpage es requerido por fancyhdr para que funcione correctamente con CJK, aunque esto eliminara la numeracion de pagina al dejar \lastpage como no definido
\end{document}
%% fin del archivo `template-es.tex'.

Binary file not shown.

View file

@ -0,0 +1,130 @@
%% start of file `template-zh.tex'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
% moderncv 主题
\moderncvstyle{casual} % 选项参数是 casual, classic, oldstylebanking
\moderncvcolor{blue} % 选项参数是 blue (默认)、orangegreenredpurplegrey
%\nopagenumbers{} % 消除注释以取消自动页码生成功能
% 字符编码
\usepackage[utf8]{inputenc} % 替换你正在使用的编码
\usepackage{CJKutf8}
% 调整页面出血
\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % 如果你希望改变日期栏的宽度
% 个人信息
\name{小龙}{}
\title{简历题目 (可选项)} % 可选项、如不需要可删除本行
\address{街道及门牌号}{邮编及城市} % 可选项、如不需要可删除本行
\phone[mobile]{+1~(234)~567~890} % 可选项、如不需要可删除本行
\phone[fixed]{+2~(345)~678~901} % 可选项、如不需要可删除本行
\phone[fax]{+3~(456)~789~012} % 可选项、如不需要可删除本行
\email{xiaolong@li.com.cn} % 可选项、如不需要可删除本行
\homepage{www.xialongli.com} % 可选项、如不需要可删除本行
\extrainfo{附加信息 (可选项)} % 可选项、如不需要可删除本行
\photo[64pt][0.4pt]{picture} % 64pt是图片必须压缩至的高度、0.4pt‘是图片边框的宽度 (如不需要可调节至0pt)、picture 是图片文件的名字;可选项、如不需要可删除本行
\quote{引言(可选项)} % 可选项、如不需要可删除本行
% 显示索引号;仅用于在简历中使用了引言
%\makeatletter
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
%\makeatother
% 分类索引
%\usepackage{multibib}
%\newcites{book,misc}{{Books},{Others}}
%----------------------------------------------------------------------------------
% 内容
%----------------------------------------------------------------------------------
\begin{document}
\begin{CJK}{UTF8}{gbsn} % 详情参阅CJK文件包
\maketitle
\section{教育背景}
\cventry{年 -- 年}{学位}{院校}{城市}{\textit{成绩}}{说明} % 第3到第6编码可留白
\cventry{年 -- 年}{学位}{院校}{城市}{\textit{成绩}}{说明}
\section{毕业论文}
\cvitem{题目}{\emph{题目}}
\cvitem{导师}{导师}
\cvitem{说明}{\small 论文简介}
\section{工作背景}
\subsection{专业}
\cventry{年 -- 年}{职位}{公司}{城市}{}{不超过1--2行的概况说明\newline{}%
工作内容:%
\begin{itemize}%
\item 工作内容 1;
\item 工作内容 2、 含二级内容:
\begin{itemize}%
\item 二级内容 (a);
\item 二级内容 (b)、含三级内容 (不建议使用);
\begin{itemize}
\item 三级内容 i;
\item 三级内容 ii;
\item 三级内容 iii;
\end{itemize}
\item 二级内容 (c);
\end{itemize}
\item 工作内容 3。
\end{itemize}}
\cventry{年 -- 年}{职位}{公司}{城市}{}{说明行1\newline{}说明行2}
\subsection{其他}
\cventry{年 -- 年}{职位}{公司}{城市}{}{说明}
\section{语言技能}
\cvitemwithcomment{语言 1}{水平}{评价}
\cvitemwithcomment{语言 2}{水平}{评价}
\cvitemwithcomment{语言 3}{水平}{评价}
\section{计算机技能}
\cvdoubleitem{类别 1}{XXX, YYY, ZZZ}{类别 4}{XXX, YYY, ZZZ}
\cvdoubleitem{类别 2}{XXX, YYY, ZZZ}{类别 5}{XXX, YYY, ZZZ}
\cvdoubleitem{类别 3}{XXX, YYY, ZZZ}{类别 6}{XXX, YYY, ZZZ}
\section{个人兴趣}
\cvitem{爱好 1}{\small 说明}
\cvitem{爱好 2}{\small 说明}
\cvitem{爱好 3}{\small 说明}
\section{其他 1}
\cvlistitem{项目 1}
\cvlistitem{项目 2}
\cvlistitem{项目 3}
\renewcommand{\listitemsymbol}{-} % 改变列表符号
\section{其他 2}
\cvlistdoubleitem{项目 1}{项目 4}
\cvlistdoubleitem{项目 2}{项目 5\cite{book1}}
\cvlistdoubleitem{项目 3}{}
% 来自BibTeX文件但不使用multibib包的出版物
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% BibTeX的数字标签
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications} % 'publications' 是BibTeX文件的文件名
% 来自BibTeX文件并使用multibib包的出版物
%\section{出版物}
%\nocitebook{book1,book2}
%\bibliographystylebook{plain}
%\bibliographybook{publications} % 'publications' 是BibTeX文件的文件名
%\nocitemisc{misc1,misc2,misc3}
%\bibliographystylemisc{plain}
%\bibliographymisc{publications} % 'publications' 是BibTeX文件的文件名
\clearpage\end{CJK}
\end{document}
%% 文件结尾 `template-zh.tex'.

View file

@ -0,0 +1,165 @@
%% start of file `template.tex'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
\documentclass[11pt,a4paper,sans]{moderncv} % possible options include font size ('10pt', '11pt' and '12pt'), paper size ('a4paper', 'letterpaper', 'a5paper', 'legalpaper', 'executivepaper' and 'landscape') and font family ('sans' and 'roman')
% moderncv themes
\moderncvstyle{casual} % style options are 'casual' (default), 'classic', 'oldstyle' and 'banking'
\moderncvcolor{blue} % color options 'blue' (default), 'orange', 'green', 'red', 'purple', 'grey' and 'black'
%\renewcommand{\familydefault}{\sfdefault} % to set the default font; use '\sfdefault' for the default sans serif font, '\rmdefault' for the default roman one, or any tex font name
%\nopagenumbers{} % uncomment to suppress automatic page numbering for CVs longer than one page
% character encoding
%\usepackage[utf8]{inputenc} % if you are not using xelatex ou lualatex, replace by the encoding you are using
%\usepackage{CJKutf8} % if you need to use CJK to typeset your resume in Chinese, Japanese or Korean
% adjust the page margins
\usepackage[scale=0.75]{geometry}
%\setlength{\hintscolumnwidth}{3cm} % if you want to change the width of the column with the dates
%\setlength{\makecvtitlenamewidth}{10cm} % for the 'classic' style, if you want to force the width allocated to your name and avoid line breaks. be careful though, the length is normally calculated to avoid any overlap with your personal info; use this at your own typographical risks...
% personal data
\name{John}{Doe}
\title{Resumé title} % optional, remove / comment the line if not wanted
\address{street and number}{postcode city}{country}% optional, remove / comment the line if not wanted; the "postcode city" and "country" arguments can be omitted or provided empty
\phone[mobile]{+1~(234)~567~890} % optional, remove / comment the line if not wanted; the optional "type" of the phone can be "mobile" (default), "fixed" or "fax"
\phone[fixed]{+2~(345)~678~901}
\phone[fax]{+3~(456)~789~012}
\email{john@doe.org} % optional, remove / comment the line if not wanted
\homepage{www.johndoe.com} % optional, remove / comment the line if not wanted
\social[linkedin]{john.doe} % optional, remove / comment the line if not wanted
\social[twitter]{jdoe} % optional, remove / comment the line if not wanted
\social[github]{jdoe} % optional, remove / comment the line if not wanted
\extrainfo{additional information} % optional, remove / comment the line if not wanted
\photo[64pt][0.4pt]{picture} % optional, remove / comment the line if not wanted; '64pt' is the height the picture must be resized to, 0.4pt is the thickness of the frame around it (put it to 0pt for no frame) and 'picture' is the name of the picture file
\quote{Some quote} % optional, remove / comment the line if not wanted
% to show numerical labels in the bibliography (default is to show no labels); only useful if you make citations in your resume
%\makeatletter
%\renewcommand*{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}
%\makeatother
%\renewcommand*{\bibliographyitemlabel}{[\arabic{enumiv}]}% CONSIDER REPLACING THE ABOVE BY THIS
% bibliography with mutiple entries
%\usepackage{multibib}
%\newcites{book,misc}{{Books},{Others}}
%----------------------------------------------------------------------------------
% content
%----------------------------------------------------------------------------------
\begin{document}
%\begin{CJK*}{UTF8}{gbsn} % to typeset your resume in Chinese using CJK
%----- resume ---------------------------------------------------------
\makecvtitle
\section{Education}
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description} % arguments 3 to 6 can be left empty
\cventry{year--year}{Degree}{Institution}{City}{\textit{Grade}}{Description}
\section{Master thesis}
\cvitem{title}{\emph{Title}}
\cvitem{supervisors}{Supervisors}
\cvitem{description}{Short thesis abstract}
\section{Experience}
\subsection{Vocational}
\cventry{year--year}{Job title}{Employer}{City}{}{General description no longer than 1--2 lines.\newline{}%
Detailed achievements:%
\begin{itemize}%
\item Achievement 1;
\item Achievement 2, with sub-achievements:
\begin{itemize}%
\item Sub-achievement (a);
\item Sub-achievement (b), with sub-sub-achievements (don't do this!);
\begin{itemize}
\item Sub-sub-achievement i;
\item Sub-sub-achievement ii;
\item Sub-sub-achievement iii;
\end{itemize}
\item Sub-achievement (c);
\end{itemize}
\item Achievement 3.
\end{itemize}}
\cventry{year--year}{Job title}{Employer}{City}{}{Description line 1\newline{}Description line 2}
\subsection{Miscellaneous}
\cventry{year--year}{Job title}{Employer}{City}{}{Description}
\section{Languages}
\cvitemwithcomment{Language 1}{Skill level}{Comment}
\cvitemwithcomment{Language 2}{Skill level}{Comment}
\cvitemwithcomment{Language 3}{Skill level}{Comment}
\section{Computer skills}
\cvdoubleitem{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvdoubleitem{category 2}{XXX, YYY, ZZZ}{category 5}{XXX, YYY, ZZZ}
\cvdoubleitem{category 3}{XXX, YYY, ZZZ}{category 6}{XXX, YYY, ZZZ}
\section{Interests}
\cvitem{hobby 1}{Description}
\cvitem{hobby 2}{Description}
\cvitem{hobby 3}{Description}
\section{Extra 1}
\cvlistitem{Item 1}
\cvlistitem{Item 2}
\cvlistitem{Item 3. This item is particularly long and therefore normally spans over several lines. Did you notice the indentation when the line wraps?}
\section{Extra 2}
\cvlistdoubleitem{Item 1}{Item 4}
\cvlistdoubleitem{Item 2}{Item 5\cite{book1}}
\cvlistdoubleitem{Item 3}{Item 6. Like item 3 in the single column list before, this item is particularly long to wrap over several lines.}
\section{References}
\begin{cvcolumns}
\cvcolumn{Category 1}{\begin{itemize}\item Person 1\item Person 2\item Person 3\end{itemize}}
\cvcolumn{Category 2}{Amongst others:\begin{itemize}\item Person 1, and\item Person 2\end{itemize}(more upon request)}
\cvcolumn[0.5]{All the rest \& some more}{\textit{That} person, and \textbf{those} also (all available upon request).}
\end{cvcolumns}
% Publications from a BibTeX file without multibib
% for numerical labels: \renewcommand{\bibliographyitemlabel}{\@biblabel{\arabic{enumiv}}}% CONSIDER MERGING WITH PREAMBLE PART
% to redefine the heading string ("Publications"): \renewcommand{\refname}{Articles}
\nocite{*}
\bibliographystyle{plain}
\bibliography{publications} % 'publications' is the name of a BibTeX file
% Publications from a BibTeX file using the multibib package
%\section{Publications}
%\nocitebook{book1,book2}
%\bibliographystylebook{plain}
%\bibliographybook{publications} % 'publications' is the name of a BibTeX file
%\nocitemisc{misc1,misc2,misc3}
%\bibliographystylemisc{plain}
%\bibliographymisc{publications} % 'publications' is the name of a BibTeX file
\clearpage
%----- letter ---------------------------------------------------------
% recipient data
\recipient{Company Recruitment team}{Company, Inc.\\123 somestreet\\some city}
\date{January 01, 1984}
\opening{Dear Sir or Madam,}
\closing{Yours faithfully,}
\enclosure[Attached]{curriculum vit\ae{}} % use an optional argument to use a string other than "Enclosure", or redefine \enclname
\makelettertitle
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis ullamcorper neque sit amet lectus facilisis sed luctus nisl iaculis. Vivamus at neque arcu, sed tempor quam. Curabitur pharetra tincidunt tincidunt. Morbi volutpat feugiat mauris, quis tempor neque vehicula volutpat. Duis tristique justo vel massa fermentum accumsan. Mauris ante elit, feugiat vestibulum tempor eget, eleifend ac ipsum. Donec scelerisque lobortis ipsum eu vestibulum. Pellentesque vel massa at felis accumsan rhoncus.
Suspendisse commodo, massa eu congue tincidunt, elit mauris pellentesque orci, cursus tempor odio nisl euismod augue. Aliquam adipiscing nibh ut odio sodales et pulvinar tortor laoreet. Mauris a accumsan ligula. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse vulputate sem vehicula ipsum varius nec tempus dui dapibus. Phasellus et est urna, ut auctor erat. Sed tincidunt odio id odio aliquam mattis. Donec sapien nulla, feugiat eget adipiscing sit amet, lacinia ut dolor. Phasellus tincidunt, leo a fringilla consectetur, felis diam aliquam urna, vitae aliquet lectus orci nec velit. Vivamus dapibus varius blandit.
Duis sit amet magna ante, at sodales diam. Aenean consectetur porta risus et sagittis. Ut interdum, enim varius pellentesque tincidunt, magna libero sodales tortor, ut fermentum nunc metus a ante. Vivamus odio leo, tincidunt eu luctus ut, sollicitudin sit amet metus. Nunc sed orci lectus. Ut sodales magna sed velit volutpat sit amet pulvinar diam venenatis.
Albert Einstein discovered that $e=mc^2$ in 1905.
\[ e=\lim_{n \to \infty} \left(1+\frac{1}{n}\right)^n \]
\makeletterclosing
%\clearpage\end{CJK*} % if you are typesetting your resume in Chinese using CJK; the \clearpage is required for fancyhdr to work correctly with CJK, though it kills the page numbering by making \lastpage undefined
\end{document}
%% end of file `template.tex'.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

616
moderncv/moderncv.cls Normal file
View file

@ -0,0 +1,616 @@
%% start of file `moderncv.cls'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{moderncv}[2013/04/29 v1.5.1 modern curriculum vitae and letter document class]
%-------------------------------------------------------------------------------
% class options
%
% (need to be done before the external package loading, for example because
% we need \paperwidth, \paperheight and \@ptsize to be defined before loading
% geometry and fancyhdr)
%-------------------------------------------------------------------------------
% paper size option
\DeclareOption{a4paper}{
\setlength\paperheight{297mm}
\setlength\paperwidth{210mm}}
\DeclareOption{a5paper}{
\setlength\paperheight{210mm}
\setlength\paperwidth{148mm}}
\DeclareOption{b5paper}{
\setlength\paperheight{250mm}
\setlength\paperwidth{176mm}}
\DeclareOption{letterpaper}{
\setlength\paperheight{11in}
\setlength\paperwidth{8.5in}}
\DeclareOption{legalpaper}{
\setlength\paperheight{14in}
\setlength\paperwidth{8.5in}}
\DeclareOption{executivepaper}{
\setlength\paperheight{10.5in}
\setlength\paperwidth{7.25in}}
\DeclareOption{landscape}{
\setlength\@tempdima{\paperheight}
\setlength\paperheight{\paperwidth}
\setlength\paperwidth{\@tempdima}}
% font size options
\newcommand\@ptsize{}
\DeclareOption{10pt}{\renewcommand\@ptsize{0}}
\DeclareOption{11pt}{\renewcommand\@ptsize{1}}
\DeclareOption{12pt}{\renewcommand\@ptsize{2}}
% font type options
\DeclareOption{sans}{\AtBeginDocument{\renewcommand{\familydefault}{\sfdefault}}}
\DeclareOption{roman}{\AtBeginDocument{\renewcommand{\familydefault}{\rmdefault}}}
% draft/final option
\DeclareOption{draft}{\setlength\overfullrule{5pt}}
\DeclareOption{final}{\setlength\overfullrule{0pt}}
% execute default options
\ExecuteOptions{a4paper,11pt,final}
% process given options
\ProcessOptions\relax
\input{size1\@ptsize.clo}
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% \AtEndPreamble hook (loading etoolbox instead of defining the macro, as to avoid incompatibilities with etoolbox (and packages relying on it) defining the macro too)
\RequirePackage{etoolbox}
%\let\@endpreamblehook\@empty
%\def\AtEndPreamble{\g@addto@macro\@endpreamblehook}
%\let\document@original\document
%\def\document{\endgroup\@endpreamblehook\begingroup\document@original}
% if... then... else... constructs
\RequirePackage{ifthen}
% TODO: move to xifthen and \isempty{<arg>} instead of \equal{<arg>}{}
% color
\RequirePackage{xcolor}
% font loading
\RequirePackage{ifxetex,ifluatex}
\newif\ifxetexorluatex
\ifxetex
\xetexorluatextrue
\else
\ifluatex
\xetexorluatextrue
\else
\xetexorluatexfalse
\fi
\fi
% automatic loading of latin modern fonts
%\ifxetexorluatex
% \RequirePackage{fontspec}
% \defaultfontfeatures{Ligatures=TeX}
% \RequirePackage{unicode-math}
% \setmainfont{Latin Modern}
% \setsansfont{Latin Modern Sans}
% \setmathfont{Latin Modern Math}
%\else
\RequirePackage[T1]{fontenc}
\IfFileExists{lmodern.sty}%
{\RequirePackage{lmodern}}%
{}
%\fi
% hyper links (hyperref is loaded at the end of the preamble to pass options required by loaded packages such as CJK)
\newcommand*\pdfpagemode{UseNone}% do not show thumbnails or bookmarks on opening (on supporting browsers); set \pdfpagemode to "UseOutlines" to show bookmarks
\RequirePackage{url}
\urlstyle{tt}
\AtEndPreamble{
\pagenumbering{arabic}% has to be issued before loading hyperref, as to set \thepage and hence to avoid hyperref issuing a warning and setting pdfpagelabels=false
\RequirePackage[unicode]{hyperref}% unicode is required for unicode pdf metadata
\hypersetup{
breaklinks,
baseurl = http://,
pdfborder = 0 0 0,
pdfpagemode = \pdfpagemode,
pdfstartpage = 1,
pdfcreator = {\LaTeX{} with 'moderncv' package},
% pdfproducer = {\LaTeX{}},% will/should be set automatically to the correct TeX engine used
bookmarksopen = true,
bookmarksdepth= 2,% to show sections and subsections
pdfauthor = {\@firstname{}~\@lastname{}},
pdftitle = {\@firstname{}~\@lastname{} -- \@title{}},
pdfsubject = {Resum\'{e} of \@firstname{}~\@lastname{}},
pdfkeywords = {\@firstname{}~\@lastname{}, curriculum vit\ae{}, resum\'{e}}}}
% graphics
\RequirePackage{graphicx}
% headers and footers
\RequirePackage{fancyhdr}
\fancypagestyle{plain}{
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\fancyhf{}}
% page numbers in footer if more than 1 page
\newif\if@displaypagenumbers\@displaypagenumberstrue
\newcommand*{\nopagenumbers}{\@displaypagenumbersfalse}
\AtEndPreamble{%
\AtBeginDocument{%
\if@displaypagenumbers%
\@ifundefined{r@lastpage}{}{%
\ifthenelse{\pageref{lastpage}>1}{%
\newlength{\pagenumberwidth}%
\settowidth{\pagenumberwidth}{\color{color2}\addressfont\itshape\strut\thepage/\pageref{lastpage}}%
\fancypagestyle{plain}{%
\fancyfoot[r]{\parbox[b]{\pagenumberwidth}{\color{color2}\pagenumberfont\strut\thepage/\pageref{lastpage}}}}% the parbox is required to ensure alignment with a possible center footer (e.g., as in the casual style)
\pagestyle{plain}}{}}%
\AtEndDocument{\label{lastpage}}\else\fi}}
\pagestyle{plain}
% reduced list spacing
% package providing hooks into lists
% originally developped by Jakob Schiøtz (see http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty)
% modified and distributed with moderncv(not available otherwise on ctan)
\RequirePackage{tweaklist}
\renewcommand*{\itemhook}{%
\@minipagetrue% removes spacing before lists as they use \addvspace, which doesn't add vertical space inside minipages
\@noparlisttrue% removes spacing at end of lists, caused by \par
\setlength{\topsep}{0pt}% normally not required thanks to \@minipagetrue
\setlength{\partopsep}{0pt}% normally not required thanks to \@minipagetrue
\setlength{\parsep}{0pt}% not required when \itemsep and \parskip are set to 0pt (?)
\setlength{\parskip}{0pt}%
\setlength{\itemsep}{0pt}}
\renewcommand*{\enumhook}{\itemhook{}}
\renewcommand*{\deschook}{\itemhook{}}
% lengths calculations
\RequirePackage{calc}
% advanced command arguments (LaTeX 3)
\RequirePackage{xparse}
% TODO (?): replace all \newcommand by \NewDocumentCommand
% micro-typography (e.g., character protrusion, font expansion, hyphenatable letterspacing)
\RequirePackage{microtype}
% stack of key-value elements, used to save personal information
\RequirePackage{moderncvcollection}
% compatibility package with older versions of moderncv
\RequirePackageWithOptions{moderncvcompatibility}
%-------------------------------------------------------------------------------
% class definition
%-------------------------------------------------------------------------------
% minimal base settings
\setlength\lineskip{1\p@}
\setlength\normallineskip{1\p@}
\renewcommand\baselinestretch{}
\setlength{\parindent}{0\p@}
\setlength{\parskip}{0\p@}
\setlength\columnsep{10\p@}
\setlength\columnseprule{0\p@}
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
\setlength\arrayrulewidth{.4\p@}
\setlength\doublerulesep{2\p@}
% not set on purpose
%\setlength\arraycolsep{5\p@}
%\setlength\tabcolsep{6\p@}
%\setlength\tabbingsep{\labelsep}
\raggedbottom
\onecolumn
%-------------------------------------------------------------------------------
% overall design commands definitions
%-------------------------------------------------------------------------------
% elements
%---------
% defines one's name
% usage: \name{<firstname>}{<lastname>}
\newcommand*{\name}[2]{\def\@firstname{#1}\def\@lastname{#2}}
% defines one's title (optional)
% usage: \title{<title>}
\renewcommand*{\title}[1]{\def\@title{#1}}
% defines one's address (optional)
% usage: \address{<street>}{<city>}{<country>}
% where the <city> and <country> arguments can be omitted or provided empty
\NewDocumentCommand{\address}{mG{}G{}}{\def\@addressstreet{#1}\def\@addresscity{#2}\def\@addresscountry{#3}}
% defines one's email (optional)
% usage: \email{<email adress>}
\newcommand*{\email}[1]{\def\@email{#1}}
% defines one's home page (optional)
% usage: \homepage{<url>}
\newcommand*{\homepage}[1]{\def\@homepage{#1}}
% adds a fixed/mobile/fax number to one's personal information (optional)
% usage: \phone[<optional type>]{<number>}
% where <optional type> should be either "fixed" (default), "mobile" or "fax
\collectionnew{phones}
\newcommand*{\phone}[2][fixed]{\collectionadd[#1]{phones}{#2}}
% adds a social link to one's personal information (optional)
% usage: \social[<optional type>][<optional url>]{<account name>}
% where <optional type> should be either "linkedin", "twitter" or "github"
\collectionnew{socials}
\NewDocumentCommand{\social}{O{}O{}m}{%
\ifthenelse{\equal{#2}{}}%
{%
\ifthenelse{\equal{#1}{linkedin}}{\collectionadd[linkedin]{socials}{\protect\httplink[#3]{www.linkedin.com/in/#3}}}{}%
\ifthenelse{\equal{#1}{twitter}} {\collectionadd[twitter]{socials} {\protect\httplink[#3]{www.twitter.com/#3}}} {}%
\ifthenelse{\equal{#1}{github}} {\collectionadd[github]{socials} {\protect\httplink[#3]{www.github.com/#3}}} {}%
}
{\collectionadd[#1]{socials}{\protect\httplink[#3]{#2}}}}
% defines additional personal information (optional)
% usage: \extrainfo{<text>}
\newcommand*{\extrainfo}[1]{\def\@extrainfo{#1}}
% colors
%-------
\definecolor{color0}{rgb}{0,0,0}% main default color, normally left to black
\definecolor{color1}{rgb}{0,0,0}% primary scheme color
\definecolor{color2}{rgb}{0,0,0}% secondary scheme color
\definecolor{color3}{rgb}{0,0,0}% tertiary scheme color
% symbols
%--------
% itemize labels (the struts were added to correct inter-item spacing (works for single line items, until a solution is found for multi-line ones...)
\newcommand*{\labelitemi} {\strut\textcolor{color1}{\large\rmfamily\textbullet}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
\newcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}}
\newcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% alternative: \textasteriskcentered; the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
\newcommand*{\labelitemiv} {\labelitemiii}
% enumerate labels
\renewcommand{\theenumi} {\@arabic\c@enumi}
\renewcommand{\theenumii} {\@alph\c@enumii}
\renewcommand{\theenumiii} {\@roman\c@enumiii}
\renewcommand{\theenumiv} {\@Alph\c@enumiv}
% other symbols
\newcommand*{\listitemsymbol} {\labelitemi~}
\newcommand*{\addresssymbol} {}
\newcommand*{\mobilephonesymbol} {}
\newcommand*{\fixedphonesymbol} {}
\newcommand*{\faxphonesymbol} {}
\newcommand*{\emailsymbol} {}
\newcommand*{\homepagesymbol} {}
\newcommand*{\linkedinsocialsymbol}{}
\newcommand*{\twittersocialsymbol} {}
\newcommand*{\githubsocialsymbol} {}
% other
%------
% fonts
\AtBeginDocument{\normalfont\color{color0}}
% strings for internationalisation
\newcommand*{\refname}{Publications}
\newcommand*{\enclname}{Enclosure}
% makes the footer (normally used both for the resume and the letter)
% usage: \makefooter
\newcommand*{\makefooter}{}%
% loads a style variant
% usage: \moderncvstyle{<style variant name>}
\newcommand*{\moderncvstyle}[1]{
\RequirePackage{moderncvstyle#1}}
% loads a color scheme
% usage: \moderncvcolor{<color scheme name>}
\newcommand*{\moderncvcolor}[1]{
\RequirePackage{moderncvcolor#1}}
% loads an icons set
% usage: \moderncvicons{<icon set name>}
\newcommand*{\moderncvicons}[1]{
\RequirePackage{moderncvicons#1}}
% recomputes all automatic lengths
\newcommand*{\recomputelengths}{\recomputecvlengths}
\AtBeginDocument{\recomputelengths{}}
% creates a length if not yet defined
\newcommand*{\@initializelength}[1]{%
\ifdefined#1\else\newlength{#1}\fi}
%-------------------------------------------------------------------------------
% resume design commands definitions
%-------------------------------------------------------------------------------
% elements
% defines one's picture (optional)
% usage: photo[<picture width>][<picture frame thickness>]{<picture filename>}
\NewDocumentCommand{\photo}{O{64pt}O{0.4pt}m}{\def\@photowidth{#1}\def\@photoframewidth{#2}\def\@photo{#3}}
\newcommand*{\quote}[1]{\def\@quote{#1}}
% fonts
\newcommand*{\namefont}{}
\newcommand*{\titlefont}{}
\newcommand*{\addressfont}{}
\newcommand*{\quotefont}{}
\newcommand*{\sectionfont}{}
\newcommand*{\subsectionfont}{}
\newcommand*{\hintfont}{}
\newcommand*{\pagenumberfont}{\addressfont\itshape}
% styles
\newcommand*{\namestyle}[1]{{\namefont#1}}
\newcommand*{\titlestyle}[1]{{\titlefont#1}}
\newcommand*{\addressstyle}[1]{{\addressfont#1}}
\newcommand*{\quotestyle}[1]{{\quotefont#1}}
\newcommand*{\sectionstyle}[1]{{\sectionfont#1}}
\newcommand*{\subsectionstyle}[1]{{\subsectionfont#1}}
\newcommand*{\hintstyle}[1]{{\hintfont#1}}
\newcommand*{\pagenumberstyle}[1]{{\pagenumberfont#1}}
% recompute all resume lengths
\newcommand*{\recomputecvlengths}{}
% internal maketitle command to issue a new line only when required
\newif\if@firstdetailselement\@firstdetailselementtrue
\newcommand*{\makenewline}{
\if@firstdetailselement%
\strut% to ensure baseline alignment, e.g. with when put in the margin vs sections that also contains a \strut
\else%
\\\fi%
\@firstdetailselementfalse}
% makes the resume title
% usage: \makecvtitle
\newcommand*{\makecvtitle}{}
% makes the resume footer
% usage: \makecvfooter
\newcommand*{\makecvfooter}{\makefooter}
% makes a resume section
% usage: \section{<title>}
% identical starred and non-starred variants should be defined for compatibility with other packages (e.g. with natbib, that uses \section*{} for the bibliography header)
\NewDocumentCommand{\section}{sm}{}
% makes a resume subsection
% usage: \subsection{title}
\NewDocumentCommand{\subsection}{sm}{}
% makes a resume line with a header and a corresponding text
% usage: \cvitem[spacing]{header}{text}
\newcommand*{\cvitem}[3][.25em]{}
% makes a resume line 2 headers and their corresponding text
% usage: \cvdoubleitem[spacing]{header1}{text1}{header2}{text2}
\newcommand*{\cvdoubleitem}[5][.25em]{}
% makes a resume line with a list item
% usage: \cvlistitem[label]{item}
\newcommand*{\cvlistitem}[2][\listitemsymbol]{}
% makes a resume line with 2 list items
% usage: \cvlistdoubleitem[label]{item1}{item2}
\newcommand*{\cvlistdoubleitem}[3][\listitemsymbol]{}
% makes a typical resume job / education entry
% usage: \cventry[spacing]{years}{degree/job title}{institution/employer}{localization}{optionnal: grade/...}{optional: comment/job description}
\newcommand*{\cventry}[7][.25em]{}
% makes a resume entry with a proficiency comment
% usage: \cvitemwithcomment[spacing]{header}{text}{comment}
\newcommand*{\cvitemwithcomment}[4][.25em]{}
% makes a generic hyperlink
% usage: \link[optional text]{link}
\newcommand*{\link}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{#2}{#2}}%
{\href{#2}{#1}}}
% makes a http hyperlink
% usage: \httplink[optional text]{link}
\newcommand*{\httplink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{http://#2}{#2}}%
{\href{http://#2}{#1}}}
% makes an email hyperlink
% usage: \emaillink[optional text]{link}
\newcommand*{\emaillink}[2][]{%
\ifthenelse{\equal{#1}{}}%
{\href{mailto:#2}{#2}}%
{\href{mailto:#2}{#1}}}
% cvcolumns environment, where every column is created through \cvcolumn
% usage: \begin{cvcolumns}
% \cvcolumn[width]{head}{content}
% \cvcolumn[width]{head}{content}
% ...
% \end{cvcolumns}
% where "width" is the width as a fraction of the line length (between 0 and 1), "head" is the column header and "content" its content
\newcounter{cvcolumnscounter}% counter for the number of columns
\newcounter{cvcolumnsautowidthcounter}% counter for the number of columns with no column width provided, and which will then be equally distributed
\newcounter{tmpiteratorcounter}% counter for any temporary purpose (e.g., iterating loops)
\newlength{\cvcolumnsdummywidth}\setlength{\cvcolumnsdummywidth}{1000pt}% dummy width for total width, in order to enable arithmetics (TeX has no float variables, only integer counters or lengths)
\newlength{\cvcolumnswidth}% total width available for head / content
\newlength{\cvcolumnsautowidth}% total width of columns with no explicit width provided
\newlength{\cvcolumnautowidth}% width of one of the columns with no explicit width provided (based on equal distribution of remaining space)
\newif\if@cvcolumns@head@empty% whether or not at least one of the columns has a header
\newenvironment*{cvcolumns}%
{% at environment opening: reset counters, lengths and ifs
\setcounter{cvcolumnscounter}{0}%
\setcounter{cvcolumnsautowidthcounter}{0}%
\setlength{\cvcolumnsautowidth}{\cvcolumnsdummywidth}%
\setlength{\cvcolumnautowidth}{0pt}%
\@cvcolumns@head@emptytrue}%
{% at environment closing: typeset environment
% compute the width of each cvcolumn, considering a spacing of \separatorcolumnwidth and the columns with set width
\ifnum\thecvcolumnscounter>0%
\setlength{\cvcolumnswidth}{\maincolumnwidth-\value{cvcolumnscounter}\separatorcolumnwidth+\separatorcolumnwidth}%
\setlength{\cvcolumnautowidth}{\cvcolumnswidth*\ratio{\cvcolumnsautowidth}{\cvcolumnsdummywidth}/\value{cvcolumnsautowidthcounter}}\fi%
% pre-aggregate the tabular definition, heading and content (required before creating the tabular, as the tabular environment doesn't like loops --- probably because "&" generates a \endgroup)
% - the tabular definition is the aggregation of the different "\cvcolumn<i>@def" (by default "p{\cvcolumnautowidth}"), separated by "@{\hspace*{\separatorcolumnwidth}}"
% - the tabular heading is the aggregation of the different "\cvcolumn<i>@head", separated by "&"
% - the tabular content is the aggregation of the different "\cvcolumn<i>@content", separated by "&"
% to aggregate the different elements, \protected@edef or \g@addto@macro is required to avoid that \cvcolumns@def, -@head and -@content get expanded in subsequent redefinitions, which would cause errors due to the expansions of \hspace, of \subsectionstyle and possibly of user content/argument such as font commands
\def\cvcolumns@def{}%
\def\cvcolumns@head{}%
\def\cvcolumns@content{}%
\setcounter{tmpiteratorcounter}{0}%
% loop based on \g@addto@macro
\loop\ifnum\thetmpiteratorcounter<\thecvcolumnscounter%
\ifnum\thetmpiteratorcounter=0\else%
\g@addto@macro\cvcolumns@def{@{\hspace*{\separatorcolumnwidth}}}%
\g@addto@macro\cvcolumns@head{&}%
\g@addto@macro\cvcolumns@content{&}\fi%
\expandafter\g@addto@macro\expandafter\cvcolumns@def\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}%
\expandafter\g@addto@macro\expandafter\cvcolumns@head\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@head\endcsname}%
\expandafter\g@addto@macro\expandafter\cvcolumns@content\expandafter{\csname cvcolumn\roman{tmpiteratorcounter}@content\endcsname}%
\stepcounter{tmpiteratorcounter}%
\repeat%
% % same loop based on \protected@edef
% \loop\ifnum\thetmpiteratorcounter<\thecvcolumnscounter%
% \ifnum\thetmpiteratorcounter=0\else%
% \protected@edef\cvcolumns@def{\cvcolumns@def @{\hspace*{\separatorcolumnwidth}}}%
% \protected@edef\cvcolumns@head{\cvcolumns@head &}%
% \protected@edef\cvcolumns@content{\cvcolumns@content &}\fi%
% \expandafter\protected@edef\expandafter\cvcolumns@def\expandafter{\expandafter\cvcolumns@def\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@def\endcsname}%
% \expandafter\protected@edef\expandafter\cvcolumns@head\expandafter{\expandafter\cvcolumns@head\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@head\endcsname}%
% \expandafter\protected@edef\expandafter\cvcolumns@content\expandafter{\expandafter\cvcolumns@content\expandafter\protect\csname cvcolumn\roman{tmpiteratorcounter}@content\endcsname}%
% \stepcounter{tmpiteratorcounter}%
% \repeat%
% create the tabular
\cvitem{}{%
\begin{tabular}{\cvcolumns@def}%
\if@cvcolumns@head@empty\else%
\cvcolumns@head%\\[-.8em]%
% {\color{color1}\rule{\maincolumnwidth}{.25pt}}%
\\\fi%
\cvcolumns@content%
\end{tabular}}}
% cvcolumn command, to create a column inside a cvcolumns environment
% usage: \cvcolumn[width]{head}{content}
% where "width" is the width as a fraction of the line length (between 0 and 1), "head" is the column header and "content" its content ("head" and "content" can contain "\\", "\newline" or any other paragraph command such as "itemize")
\newcommand*{\cvcolumn}[3][\cvcolumnautowidth]{%
% \def\cvcolumn@width{}%
\ifthenelse{\equal{#1}{\cvcolumnautowidth}}%
{% if no width fraction is provided, count this column as auto-adjusted and set its width to \cvcolumnsautowidth
\stepcounter{cvcolumnsautowidthcounter}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@def\endcsname{p{\cvcolumnautowidth}}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@head\endcsname{\protect\parbox[b]{\cvcolumnautowidth}{\protect\subsectionstyle{#2}}}}%
{% if a width is provided, set the width of the column to it and decrease the available space for auto-adjusted columns
\addtolength{\cvcolumnsautowidth}{-#1\cvcolumnsdummywidth}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@def\endcsname{p{#1\cvcolumnswidth}}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@head\endcsname{\protect\parbox[b]{#1\cvcolumnswidth}{\protect\subsectionstyle{#2}}}}%
\ifthenelse{\equal{#2}{}}{}{\@cvcolumns@head@emptyfalse}%
\expandafter\expandafter\expandafter\def\expandafter\csname cvcolumn\roman{cvcolumnscounter}@content\endcsname{\protect\cvcolumncell{#3}}%
\stepcounter{cvcolumnscounter}}
% internal cvcolumncell command, that enables a cvcolumn cell to contain paragraph commands (lists, newlines, etc)
\newcommand*{\cvcolumncell}[1]{{% put cell inside a group, so that command redefinitions are only local
% roughly restore \\ to its regular definition (outside of tabular)
\renewcommand*{\\}{\newline}%
% enclose the contents of the cell inside a vertical box, to allow paragraph commands
\protect\vtop{#1}}}
% thebibliography environment, for use with BibTeX and possibly multibib
\newlength{\bibindent}
\setlength{\bibindent}{1.5em}
% bibliography item label
\newcommand*{\bibliographyitemlabel}{}% use \@biblabel{\arabic{enumiv}} for BibTeX labels
%\newif\if@multibibfirstbib\@multibibfirstbibfalse
% bibliography head (section, etc}, depending on whether multibib is used
\newcommand*{\bibliographyhead}[1]{\section{#1}}
\AtEndPreamble{\@ifpackageloaded{multibib}{\renewcommand*{\bibliographyhead}[1]{\subsection{#1}}}{}}
% thebibliography environment definition
\newenvironment{thebibliography}[1]{}{}
\newcommand*{\newblock}{\hskip .11em\@plus.33em\@minus.07em}
\let\@openbib@code\@empty
% itemize, enumerate and description environment
\setlength{\leftmargini} {1em}
\leftmargin\leftmargini
\setlength{\leftmarginii} {\leftmargini}
\setlength{\leftmarginiii} {\leftmargini}
\setlength{\leftmarginiv} {\leftmargini}
\setlength{\leftmarginv} {\leftmargini}
\setlength{\leftmarginvi} {\leftmargini}
\setlength{\labelsep} {.5em}% this is the distance between the label and the body, but it pushes the label to the left rather than pushing the body to the right (to do the latter, modify \leftmargin(i)
\setlength{\labelwidth} {\leftmargini}% unfortunately, \labelwidth is not defined by item level (i.e. no \labeliwidth, \labeliiwidth, etc)
\addtolength{\labelwidth} {-\labelsep}
\@beginparpenalty -\@lowpenalty
\@endparpenalty -\@lowpenalty
\@itempenalty -\@lowpenalty
\newcommand\labelenumi{\theenumi.}
\newcommand\labelenumii{(\theenumii)}
\newcommand\labelenumiii{\theenumiii.}
\newcommand\labelenumiv{\theenumiv.}
\renewcommand\p@enumii{\theenumi}
\renewcommand\p@enumiii{\p@enumii(\theenumii)}
\renewcommand\p@enumiv{\p@enumiii\theenumiii}
% description label
\newcommand*\descriptionlabel[1]{\hspace\labelsep\normalfont\bfseries#1}
% classical \today definition
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}
%\newcommand{\widthofautobox}[1]{%
% \widthof{\begin{tabular}{@{}l@{}}#1\end{tabular}}}
%\newcommand{\autobox}[2][b]{%
% \parbox[#1]{\widthofautobox{#2}}{#2}}
%-------------------------------------------------------------------------------
% letter design commands definitions
%-------------------------------------------------------------------------------
% elements
\newcommand*{\recipient}[2]{\def\@recipientname{#1}\def\@recipientaddress{#2}}
\renewcommand*{\date}[1]{\def\@date{#1}}\date{\today}
\newcommand*{\opening}[1]{\def\@opening{#1}}
\newcommand*{\closing}[1]{\def\@closing{#1}}
\newcommand*{\enclosure}[2][]{%
% if an optional argument is provided, use it to redefine \enclname
\ifthenelse{\equal{#1}{}}{}{\renewcommand*{\enclname}{#1}}%
\def\@enclosure{#2}}
% recompute all letter lengths
\newcommand*{\recomputeletterlengths}{}
% makes the letter title
% usage: \makelettertitle
\newcommand*{\makelettertitle}{}
% makes the letter footer
% usage: \makeletterfooter
\newcommand*{\makeletterfooter}{\makefooter}
% makes the letter closing
% usage: \makeletterclosing
\newcommand*{\makeletterclosing}{}
\endinput
%% end of file `moderncv.cls'.

View file

@ -0,0 +1,85 @@
%% start of file `moderncvcollection.sty'.
%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcollection}[2013/04/29 v1.5.1 moderncv collections]
%-------------------------------------------------------------------------------
% requirements
%-------------------------------------------------------------------------------
\RequirePackage{ifthen}
%-------------------------------------------------------------------------------
% code
%-------------------------------------------------------------------------------
% creates a new collection
% usage: \collectionnew{<collection name>}
\newcommand*{\collectionnew}[1]{%
\newcounter{collection@#1@count}}
% adds an item to a collection
% usage: \collectionadd[<optional key>]{<collection name>}{<item to add>}
\newcommand*{\collectionadd}[3][]{%
\expandafter\def\csname collection@#2@item\roman{collection@#2@count}\endcsname{#3}%
\if\relax\noexpand#1\relax% if #1 is empty
\else\expandafter\def\csname collection@#2@key\roman{collection@#2@count}\endcsname{#1}\fi%
\stepcounter{collection@#2@count}}
% returns the number of items in a collection
% usage: \collectioncount{<collection name>}
\newcommand*{\collectioncount}[1]{%
\value{collection@#1@count}}
% gets an item from a collection
% usage: \collectiongetitem{<collection name>}{<element id>}
% where <element id> is an integer between 0 and (collectioncount-1)
\newcommand*{\collectiongetitem}[2]{%
\csname collection@#1@item\romannumeral #2\endcsname}
% gets a key from a collection
% usage: \collectiongetkey{<collection name>}{<element id>}
% where <element id> is an integer between 0 and (collectioncount-1)
\newcommand*{\collectiongetkey}[2]{%
\csname collection@#1@key\romannumeral #2\endcsname}
% loops through a collection and perform the given operation on every element
% usage: \collectionloop{<collection name>}{<operation sequence>}
% where <operation sequence> is the code sequence to be evaluated for each collection item,
% code which can refer to \collectionloopid, \collectionloopkey, \collectionloopitem and
% \collectionloopbreak
\newcounter{collection@iterator}
\newcommand*{\collectionloopbreak}{\let\iterate\relax}
\newcommand*{\collectionloop}[2]{%
\setcounter{collection@iterator}{0}%
\loop\ifnum\value{collection@iterator}<\value{collection@#1@count}%
\def\collectionloopid{\arabic{collection@iterator}}%
\def\collectionloopitem{\collectiongetitem{#1}{\collectionloopid}}%
\def\collectionloopkey{\collectiongetkey{#1}{\collectionloopid}}%
#2%
\stepcounter{collection@iterator}%
\repeat}
% loops through a collection and finds the (first) element matching the given key
% usage: \collectionfindbykey{<collection name>}{key>}
\newcommand*{\collectionfindbykey}[2]{%
\collectionloop{#1}{%
\ifthenelse{\equal{\collectionloopkey}{#2}}{\collectionloopitem\collectionloopbreak}{}}}
\endinput
%% end of file `moderncvcollection.cls'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorblack.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblack}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: black]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0,0,0}% black
\definecolor{color2}{rgb}{0,0,0}% black
\endinput
%% end of file `moderncvcolorblack.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorblue.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorblue}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: blue]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.22,0.45,0.70}% light blue
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolorblue.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorgreen.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgreen}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: green]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.35,0.70,0.30}% green
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolorgreen.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorgrey.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorgrey}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: grey]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.55,0.55,0.55}% dark grey
\definecolor{color2}{rgb}{0.55,0.55,0.55}% dark grey
\endinput
%% end of file `moderncvcolorgrey.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolororange.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolororange}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: orange]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.95,0.55,0.15}% orange
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolororange.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorpurple.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorpurple}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: purple]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.50,0.33,0.80}% purple
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolorpurple.sty'.

View file

@ -0,0 +1,27 @@
%% start of file `moderncvcolorred.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcolorred}[2013/04/29 v1.5.1 modern curriculum vitae and letter color scheme: red]
%-------------------------------------------------------------------------------
% color scheme definition
%-------------------------------------------------------------------------------
\definecolor{color0}{rgb}{0,0,0}% black
\definecolor{color1}{rgb}{0.95,0.20,0.20}% red
\definecolor{color2}{rgb}{0.45,0.45,0.45}% dark grey
\endinput
%% end of file `moderncvcolorred.sty'.

View file

@ -0,0 +1,104 @@
%% start of file `moderncvcompatibility.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvcompatibility}[2013/04/29 v1.5.1 modern curriculum vitae and letter compatibility patches]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% package options
%-------------------------------------------------------------------------------
% old casual option (version 0.1)
%\DeclareOption{casual}{\input{moderncvstylecasual.sty}}
% old classic option (version 0.1)
%\DeclareOption{classic}{\input{moderncvstyleclassic.sty}}
\DeclareOption*{}
% process given options
\ProcessOptions\relax
%-------------------------------------------------------------------------------
% definitions
%-------------------------------------------------------------------------------
% compatibility with version 0.1
\newcommand*{\cvresume}[2]{\cvlistdoubleitem{#1}{#2}}
% compatibility with versions <= 0.2
% section, cvline, ... with width argument...
%\newcommand*{\section}[2][0.825]{%
% \closesection{}%
% \@sectionopentrue%
% \addcontentsline{toc}{part}{#2}
% \begin{longtable}[t]{@{}r@{\hspace{.025\textwidth}}@{}p{#1\textwidth}@{}}%
%% \colorrule{.15\textwidth}&\mbox{\color{sectiontitlecolor}\sectionfont#2}\\[1ex]}%
% {\color{sectionrectanglecolor}\rule{0.15\textwidth}{1ex}}&\mbox{\color{sectiontitlecolor}\sectionfont#2}\\[1ex]}%
%\newcommand*{\cvline}[3][.825]{%
% \begin{minipage}[t]{\hintscolumnwidth}\raggedleft\small\sffamily#2\end{minipage}&\begin{minipage}[t]{\maincolumnwidth}#3\end{minipage}\\}
%\newcommand*{\cvitem}[3][.825]{%
% \cvline[#1]{#2}{#3\vspace*{.75em}}} % the \vspace*{} inside the cvline environment is a hack... (should conceptually be outside the environment)
% compatibility with versions <= 0.5
%\newcommand*{\cvitem}[2]{\cvline{#1}{#2}}
%\newcommand*{\moderncvstyle}[1]{\moderncvtheme{#1}}
% compatibility with versions <= 0.7
\newcommand*{\closesection}{}
\newcommand*{\emptysection}{}
\newcommand*{\sethintscolumnlength}[1]{%
\setlength{\hintscolumnwidth}{#1}%
\recomputelengths}
\newcommand*{\sethintscolumntowidth}[1]{%
\settowidth{\hintscolumnwidth}{#1}%
\recomputelengths}
% compatibility with versions <= 0.15
\newcommand*{\cvline}[2]{\cvitem{#1}{#2}}
\newcommand*{\cvlanguage}[3]{\cvitemwithcomment{#1}{#2}{#3}}
\newcommand*{\cvcomputer}[4]{\cvdoubleitem{#1}{\small#2}{#3}{\small#4}}
\newcommand*{\moderncvtheme}[2][blue]{%
\moderncvcolor{#1}%
\moderncvstyle{#2}}
% compatibility with versions <= 0.19
\newcommand*{\maketitle}{\makecvtitle}%
\title{}% to avoid LaTeX complaining that \maketitle is a called without first a call to \title
\newcommand*{\maketitlenamewidth}{\makecvtitlenamewidth}
% compatibility with versions <= 1.3.0
\newcommand*{\firstname}[1]{\def\@firstname{#1}}
\newcommand*{\lastname}[1]{\def\@lastname{#1}}
\newcommand*{\givenname}[1]{\def\@firstname{#1}}
\newcommand*{\familyname}[1]{\def\@lastname{#1}}
\def\@familyname{\@lastname}
% compatibility with versions <= 1.4.0
\newcommand*{\mobile}[1]{\collectionadd[mobile]{phones}{#1}}
%\newcommand*{\phone}[1]{\collectionadd[fixed]{phones}{#1}}% implicit, as \phone{...} defaults to \phone[fixed]{...}
\newcommand*{\fax}[1]{\collectionadd[fax]{phones}{#1}}
\newcommand*{\@mobile}{\collectionfindbykey{phones}{mobile}}
\newcommand*{\@phone}{\collectionfindbykey{phones}{fixed}}
\newcommand*{\@fax}{\collectionfindbykey{phones}{fax}}
\newcommand*{\phonesymbol}{\fixedphonesymbol}
\newcommand*{\mobilesymbol}{\mobilephonesymbol}
\newcommand*{\faxsymbol}{\faxphonesymbol}
\endinput
%% end of file `moderncvcompatibility.sty'.

View file

@ -0,0 +1,54 @@
%% start of file `moderncvdebugtools.sty'.
%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvdebugtools}[2013/04/29 v1.5.1 modern curriculum vitae and letter debug tools]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
\RequirePackage{tikz}
%-------------------------------------------------------------------------------
% debug tools
%-------------------------------------------------------------------------------
% code of \tracedebugvrule and \tracedebughrule provided by Gonzalo Medina on TeX.SX (cfr tex.stackexchange.com/a/110805/10102)
\newcounter{debugrule}
\pgfdeclarelayer{background}
\pgfsetlayers{background,main}
\DeclareDocumentCommand{\tracedebugvrule}{oO{0pt}}{%
\stepcounter{debugrule}%
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (a\thedebugrule);
\draw[red,thin,#1]
([xshift=#2]a\thedebugrule|-current page.north) -- ([xshift=#2]a\thedebugrule|-current page.south);
\end{pgfonlayer}
\end{tikzpicture}}
\DeclareDocumentCommand{\tracedebughrule}{oO{0pt}}{%
\stepcounter{debugrule}%
\begin{tikzpicture}[remember picture,overlay]
\begin{pgfonlayer}{background}
\coordinate (b\thedebugrule);
\draw[red,thin,#1]
([yshift=#2]b\thedebugrule-|current page.west) -- ([yshift=#2]b\thedebugrule-|current page.east);
\end{pgfonlayer}
\end{tikzpicture}}
\endinput
%% end of file `moderncvdebugtools.sty'.

View file

@ -0,0 +1,51 @@
%% start of file `moderncviconsmarvosym.sty'.
%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsawesome}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: awesome]
% XeTeX or LuaTeX is needed to be able to use fontspec and fontawesome
\ifxetexorluatex
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Font Awesome font
\RequirePackage{fontawesome}
%-------------------------------------------------------------------------------
% symbols definition
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\tiny\faCircleBlank}}
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {{\Large\faMobilePhone}~}
\renewcommand*{\fixedphonesymbol} {\faPhone~}
\renewcommand*{\faxphonesymbol} {\faPrint~} % alternative: \faFileAlt
\renewcommand*{\emailsymbol} {\faEnvelope~} % alternative: \faInbox
\renewcommand*{\homepagesymbol} {\faGlobe~} % alternative: \faHome
\renewcommand*{\linkedinsocialsymbol}{\faLinkedinSign~} % alternative: \faLinkedin
\renewcommand*{\twittersocialsymbol} {\faTwitter~}
\renewcommand*{\githubsocialsymbol} {\faGithub~}
% if XeTeX or LuaTeX is not used, load the marvosym icon set instead
\else
\typeout{WARNING: to use the awesome icon set, please use XeTeX or LuaTeX to compile your document; switching to the marvosym icon set.}
\RequirePackage{moderncviconsmarvosym}
\fi
\endinput
%% end of file `moderncviconsmarvosym.sty'.

View file

@ -0,0 +1,53 @@
%% start of file `moderncviconsletters.sty'.
%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: letters]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% MarVoSym font
%\RequirePackage{marvosym}
\newcommand*{\marvosymbol}[1]{}
%\ifxetexorluatex
% \renewcommand*{\marvosymbol}[1]{{\fontspec{MarVoSym}\char#1}}
%\else
\renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
%\fi
%-------------------------------------------------------------------------------
% symbols definition
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {\hbox to 1.1em{\textbf{M}}~}% 1em is the width of the M capital in most fonts
\renewcommand*{\fixedphonesymbol} {\hbox to 1.1em{\textbf{T}}~}
\renewcommand*{\faxphonesymbol} {\hbox to 1.1em{\textbf{F}}~}
\renewcommand*{\emailsymbol} {\hbox to 1.1em{\textbf{E}}~}
\renewcommand*{\homepagesymbol} {\hbox to 1.1em{\textbf{W}}~}
\renewcommand*{\linkedinsocialsymbol}{\hbox to 1.1em{\textbf{in}}~}
\renewcommand*{\twittersocialsymbol} {\hbox to 1.1em{\textbf{tw}}~}
\renewcommand*{\githubsocialsymbol} {\hbox to 1.1em{\textbf{gh}}~}
\renewcommand*{\listitemsymbol} {\labelitemi~}
\endinput
%% end of file `moderncviconsletters.sty'.

View file

@ -0,0 +1,230 @@
%% start of file `moderncviconsmarvosym.sty'.
%% Copyright 2013-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncviconsmarvosym}[2013/04/29 v1.5.1 modern curriculum vitae and letter icons: marvosym]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% MarVoSym font
%\RequirePackage{marvosym}
\newcommand*{\marvosymbol}[1]{}
%\ifxetexorluatex
% \renewcommand*{\marvosymbol}[1]{{\fontspec{MarVoSym}\char#1}}
%\else
\renewcommand*{\marvosymbol}[1]{{\fontfamily{mvs}\fontencoding{U}\fontseries{m}\fontshape{n}\selectfont\char#1}}
%\fi
% tikz drawings
\RequirePackage{tikz}
%-------------------------------------------------------------------------------
% symbols definition
%-------------------------------------------------------------------------------
\renewcommand*{\labelitemi} {\strut\textcolor{color1}{\marvosymbol{123}}} % equivalent to \Neutral from marvosym package; alternative: \fontencoding{U}\fontfamily{ding}\selectfont\tiny\symbol{'102}
%\renewcommand*{\labelitemii} {\strut\textcolor{color1}{\large\bfseries-}} % no change from default in moderncv.cls
%\renewcommand*{\labelitemiii} {\strut\textcolor{color1}{\rmfamily\textperiodcentered}}% no change from default in moderncv.cls
%\renewcommand*{\labelitemiv} {\labelitemiii} % no change from default in moderncv.cls
\renewcommand*{\addresssymbol} {}
\renewcommand*{\mobilephonesymbol} {\marvosymbol{72}~}
\renewcommand*{\fixedphonesymbol} {\marvosymbol{84}~}
\renewcommand*{\faxphonesymbol} {\marvosymbol{117}~}
\renewcommand*{\emailsymbol} {\marvosymbol{66}~}
\renewcommand*{\homepagesymbol} {{\Large\marvosymbol{205}}~}
\renewcommand*{\linkedinsocialsymbol}{%
\protect\raisebox{-0.165em}{%
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[cm={{0.60,0.0,0.0,0.60,(346.39,123.07)}}]
\protect\path[fill=color2]
(381,202) -- (434,202) .. controls (439,202) and (442,205) ..
(442,210) -- (442,264) .. controls (442,268) and (439,272) ..
(434,272) -- (381,272) .. controls (376,272) and (372,268) ..
(372,264) -- (372,210) .. controls (372,205) and (376,202) ..
(381,202) -- cycle;
\protect\begin{scope}[xscale=0.98, yscale=1.02, fill=white]
\protect\path[fill=white]
(403,253) -- (403,224) -- (394,224) -- (394,253) --
cycle(398,211) .. controls (397,211) and (395,212) ..
(395,213) .. controls (394,213) and (393,215) ..
(393,216) .. controls (393,217) and (394,218) ..
(395,219) .. controls (395,220) and (397,220) ..
(398,220) .. controls (400,220) and (401,220) ..
(402,219) .. controls (402,218) and (403,217) ..
(403,216) .. controls (403,215) and (402,213) ..
(402,213) .. controls (401,212) and (400,211) ..
(398,211) -- cycle;
\protect\path[fill=white]
(410,253) -- (419,253) --
(419,236) .. controls (419,236) and (419,235) ..
(419,235) .. controls (419,235) and (419,234) ..
(419,234) .. controls (419,233) and (420,232) ..
(421,232) .. controls (422,231) and (423,231) ..
(424,231) .. controls (425,231) and (427,231) ..
(427,232) .. controls (428,234) and (428,235) ..
(428,237) -- (428,253) -- (437,253) --
(437,236) .. controls (437,232) and (436,228) ..
(434,226) .. controls (433,224) and (430,223) ..
(427,223) .. controls (425,223) and (423,224) ..
(421,225) .. controls (420,226) and (419,227) ..
(418,228) -- (418,228) -- (417,224) --
(410,224) .. controls (410,225) and (410,227) ..
(410,228) .. controls (410,230) and (410,231) ..
(410,233) -- cycle;
\protect\end{scope}%
\protect\end{scope}%
\protect\end{tikzpicture}}%
~}
\renewcommand*{\twittersocialsymbol} {%
\protect\raisebox{0em}{%
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.005, yscale=-0.005, inner sep=0pt, outer sep=0pt]
\protect\path[fill=color2]
(2000, 192) .. controls (1926, 225) and (1847, 247) ..
(1764, 257) .. controls (1849, 206) and (1914, 126) ..
(1945, 30) .. controls (1865, 77) and (1778, 111) ..
(1684, 130) .. controls (1609, 50) and (1503, 0) ..
(1385, 0) .. controls (1158, 0) and ( 974, 184) ..
( 974, 410) .. controls ( 974, 442) and ( 978, 474) ..
( 985, 504) .. controls ( 644, 487) and ( 342, 323) ..
( 139, 75) .. controls ( 104, 136) and ( 84, 206) ..
( 84, 281) .. controls ( 84, 424) and ( 156, 549) ..
( 266, 623) .. controls ( 199, 621) and ( 136, 602) ..
( 80, 572) .. controls ( 80, 573) and ( 80, 575) ..
( 80, 577) .. controls ( 80, 776) and ( 222, 941) ..
( 409, 979) .. controls ( 375, 988) and ( 339, 993) ..
( 301, 993) .. controls ( 275, 993) and ( 249, 991) ..
( 224, 986) .. controls ( 276,1149) and ( 428,1268) ..
( 607,1271) .. controls ( 467,1381) and ( 290,1447) ..
( 98,1447) .. controls ( 65,1447) and ( 32,1445) ..
( 0,1441) .. controls ( 182,1557) and ( 397,1625) ..
( 629,1625) .. controls (1384,1625) and (1796,1000) ..
(1796, 458) .. controls (1796, 440) and (1796, 422) ..
(1795, 405) .. controls (1875, 347) and (1945, 275) ..
(2000, 192);
\protect\end{tikzpicture}}%
~}
\renewcommand*{\githubsocialsymbol} {%
\protect\raisebox{-0.15em}{%
\protect\begin{tikzpicture}[x=0.08em, y=0.08em, xscale=0.25, yscale=-0.25, inner sep=0pt, outer sep=0pt]
\protect\begin{scope}[shift={(507,387)}]
\protect\path[fill=color2]
(117, 60) .. controls (117, 71) and (108, 81) ..
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
( 96, 39) .. controls (108, 39) and (117, 48) ..
(117, 60) -- cycle;
\protect\path[cm={{0.88,0.0,0.0,0.88,(11.10,6.89)}}, fill=white]
(117, 60) .. controls (117, 71) and (108, 81) ..
( 96, 81) .. controls ( 85, 81) and ( 75, 71) ..
( 75, 60) .. controls ( 75, 48) and ( 85, 39) ..
( 96, 39) .. controls (108, 39) and (117, 48) ..
(117, 60) -- cycle;
\protect\path[fill=color2, nonzero rule]
(103, 45) .. controls (103, 45) and (101, 46) ..
(101, 47) -- (100, 47) --
( 99, 47) .. controls ( 99, 47) and ( 98, 47) ..
( 97, 47) .. controls ( 94, 47) and ( 93, 47) ..
( 92, 47) -- ( 92, 47) --
( 91, 47) .. controls ( 90, 46) and ( 88, 45) ..
( 88, 45) .. controls ( 88, 45) and ( 88, 45) ..
( 87, 45) .. controls ( 87, 45) and ( 87, 45) ..
( 87, 45) .. controls ( 86, 46) and ( 86, 48) ..
( 86, 49) -- ( 87, 50) --
( 86, 51) .. controls ( 85, 51) and ( 85, 52) ..
( 85, 53) .. controls ( 85, 54) and ( 85, 57) ..
( 85, 58) .. controls ( 85, 58) and ( 85, 58) ..
( 82, 59) .. controls ( 79, 59) and ( 77, 59) ..
( 77, 59) .. controls ( 77, 59) and ( 77, 59) ..
( 78, 59) .. controls ( 80, 59) and ( 83, 59) ..
( 85, 59) .. controls ( 85, 59) and ( 85, 59) ..
( 85, 59) .. controls ( 86, 59) and ( 86, 59) ..
( 86, 59) .. controls ( 86, 59) and ( 85, 59) ..
( 84, 59) .. controls ( 82, 60) and ( 80, 60) ..
( 79, 60) .. controls ( 78, 61) and ( 77, 61) ..
( 77, 61) .. controls ( 77, 61) and ( 78, 61) ..
( 79, 61) .. controls ( 81, 60) and ( 83, 60) ..
( 85, 60) .. controls ( 86, 60) and ( 86, 60) ..
( 86, 60) .. controls ( 86, 60) and ( 87, 61) ..
( 88, 62) .. controls ( 89, 63) and ( 90, 63) ..
( 92, 63) .. controls ( 92, 63) and ( 93, 64) ..
( 93, 64) .. controls ( 93, 64) and ( 93, 64) ..
( 93, 64) .. controls ( 92, 64) and ( 92, 65) ..
( 92, 65) .. controls ( 92, 66) and ( 90, 66) ..
( 89, 66) .. controls ( 88, 66) and ( 88, 66) ..
( 87, 65) .. controls ( 87, 64) and ( 86, 63) ..
( 86, 63) .. controls ( 85, 63) and ( 84, 63) ..
( 84, 63) .. controls ( 84, 63) and ( 84, 63) ..
( 84, 63) .. controls ( 85, 64) and ( 86, 65) ..
( 86, 66) .. controls ( 87, 67) and ( 87, 68) ..
( 88, 68) .. controls ( 89, 68) and ( 89, 68) ..
( 90, 68) -- ( 92, 68) -- ( 92, 70) -- ( 92, 72) --
( 91, 72) .. controls ( 91, 72) and ( 91, 73) ..
( 91, 73) .. controls ( 90, 73) and ( 90, 73) ..
( 91, 73) .. controls ( 92, 73) and ( 92, 73) ..
( 92, 73) .. controls ( 93, 73) and ( 93, 73) ..
( 93, 70) .. controls ( 93, 67) and ( 93, 67) ..
( 94, 66) -- ( 94, 66) --
( 94, 69) .. controls ( 94, 71) and ( 94, 73) ..
( 94, 73) .. controls ( 94, 73) and ( 94, 73) ..
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
( 93, 74) .. controls ( 93, 74) and ( 93, 74) ..
( 94, 74) .. controls ( 94, 74) and ( 95, 74) ..
( 96, 73) .. controls ( 96, 72) and ( 96, 71) ..
( 96, 68) -- ( 96, 66) -- ( 96, 66) --
( 96, 69) .. controls ( 96, 72) and ( 96, 72) ..
( 97, 73) .. controls ( 97, 74) and ( 99, 74) ..
( 99, 74) .. controls ( 99, 74) and ( 99, 74) ..
( 99, 73) .. controls ( 99, 73) and ( 98, 73) ..
( 98, 72) .. controls ( 98, 72) and ( 98, 66) ..
( 98, 66) .. controls ( 98, 66) and ( 99, 66) ..
( 99, 66) .. controls ( 99, 67) and ( 99, 67) ..
( 99, 69) .. controls ( 99, 71) and ( 99, 72) ..
( 99, 72) .. controls ( 99, 73) and (100, 73) ..
(100, 73) .. controls (101, 73) and (101, 73) ..
(101, 73) .. controls (102, 73) and (102, 73) ..
(102, 73) .. controls (101, 72) and (101, 72) ..
(101, 69) .. controls (101, 66) and (101, 65) ..
(100, 65) .. controls (100, 64) and (100, 64) ..
(100, 64) -- ( 99, 64) --
(100, 63) .. controls (101, 63) and (102, 63) ..
(103, 63) .. controls (104, 62) and (106, 61) ..
(106, 60) -- (106, 60) --
(107, 60) .. controls (109, 60) and (113, 60) ..
(115, 61) .. controls (115, 61) and (115, 61) ..
(115, 61) .. controls (115, 60) and (111, 60) ..
(108, 59) .. controls (107, 59) and (107, 59) ..
(107, 59) .. controls (107, 59) and (107, 59) ..
(107, 59) -- (107, 59) --
(108, 59) .. controls (110, 59) and (112, 59) ..
(114, 59) .. controls (115, 59) and (115, 59) ..
(115, 59) .. controls (115, 59) and (112, 59) ..
(109, 59) .. controls (108, 58) and (107, 58) ..
(107, 58) .. controls (107, 58) and (107, 58) ..
(107, 58) .. controls (107, 57) and (107, 56) ..
(107, 55) .. controls (107, 53) and (107, 53) ..
(107, 53) .. controls (107, 52) and (106, 51) ..
(106, 50) -- (105, 50) --
(105, 48) .. controls (105, 47) and (105, 46) ..
(105, 46) -- (105, 45) --
(104, 45) .. controls (104, 45) and (104, 45) ..
(103, 45) -- cycle;
\protect\end{scope}%
\protect\end{tikzpicture}}%
~}
\endinput
%% end of file `moderncviconsmarvosym.sty'.

View file

@ -0,0 +1,289 @@
%% start of file `moderncvstylebanking.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylebanking}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: banking]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% overall style definition
%-------------------------------------------------------------------------------
% fonts
%\ifxetexorluatex
% \setmainfont{Tex-Gyre Pagella}
% \setsansfont{Tex-Gyre Pagella}
% \setmathfont{Tex-Gyre Pagella}
% \setmathfont[range=\mathit,\mathsfit]{Tex-Gyre Pagella Italic}
% \setmathfont[range=\mathbfup,\mathbfsfup]{Tex-Gyre Pagella Bold}
% \setmathfont[range=\mathbfit,\mathbfsfit]{Tex-Gyre Pagella Bold Italic}
%\else
\IfFileExists{tgpagella.sty}%
{%
\RequirePackage{tgpagella}%
\renewcommand*{\familydefault}{\rmdefault}}%
{}
%\fi
% symbols
\moderncvicons{awesome}
% commands
\newcommand*{\maketitlesymbol}{%
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
% internal command to add an element to the footer
% it collects the elements in a temporary box, and checks when to flush the box
\newsavebox{\maketitlebox}%
\newsavebox{\maketitletempbox}%
\newlength{\maketitlewidth}%
\newlength{\maketitleboxwidth}%
\newif\if@firstmaketitleelement\@firstmaketitleelementtrue%
% adds an element to the maketitle, separated by maketitlesymbol
% usage: \addtomaketitle[maketitlesymbol]{element}
\newcommand*{\addtomaketitle}[2][\maketitlesymbol]{%
\if@firstmaketitleelement%
\savebox{\maketitletempbox}{\usebox{\maketitlebox}#2}%
\else%
\savebox{\maketitletempbox}{\usebox{\maketitlebox}#1#2}\fi%
\settowidth{\maketitleboxwidth}{\usebox{\maketitletempbox}}%
\ifnum\maketitleboxwidth<\maketitlewidth%
\savebox{\maketitlebox}{\usebox{\maketitletempbox}}%
\@firstmaketitleelementfalse%
\else%
\flushmaketitle{}\\%
\savebox{\maketitlebox}{#2}%
\savebox{\maketitletempbox}{#2}%
\settowidth{\maketitleboxwidth}{\usebox{\maketitlebox}}%
\@firstmaketitleelementfalse\fi}
% internal command to flush the maketitle
\newcommand*{\flushmaketitle}{%
\strut\usebox{\maketitlebox}%
\savebox{\maketitlebox}{}%
\savebox{\maketitletempbox}{}%
\setlength{\maketitleboxwidth}{0pt}}
\renewcommand*{\maketitle}{%
\setlength{\maketitlewidth}{0.8\textwidth}%
\hfil%
\parbox{\maketitlewidth}{%
\centering%
% name and title
\namestyle{\@firstname~\@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\titlestyle{~|~\@title}}\\% \isundefined doesn't work on \@title, as LaTeX itself defines \@title (before it possibly gets redefined by \title)
% detailed information
\addressfont\color{color2}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtomaketitle{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtomaketitle[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtomaketitle[~--~]{\@addresscountry}}%
\flushmaketitle\@firstmaketitleelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtomaketitle{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtomaketitle{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtomaketitle{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtomaketitle{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtomaketitle{\@extrainfo}}%
\flushmaketitle}\\[2.5em]}% need to force a \par after this to avoid weird spacing bug at the first section if no blank line is left after \maketitle
%-------------------------------------------------------------------------------
% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\Huge\bfseries\upshape}
\renewcommand*{\titlefont}{\Huge\mdseries\upshape}
\renewcommand*{\addressfont}{\normalsize\mdseries\upshape}
\renewcommand*{\quotefont}{\large\slshape}
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
\renewcommand*{\subsectionfont}{\large\upshape\fontseries{sb}\selectfont}
\renewcommand*{\hintfont}{\bfseries}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color1}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2!85}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
\newlength{\separatorcolumnwidth}
\setlength{\separatorcolumnwidth}{0.025\textwidth}%
\newlength{\maincolumnwidth}
\newlength{\doubleitemcolumnwidth}
\newlength{\listitemsymbolwidth}
\settowidth{\listitemsymbolwidth}{\listitemsymbol}
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
% commands
\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth}%
% listitem lengths
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
% doubleitem lengths
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
% listdoubleitem lengths
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}%
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}%
% regular lengths
\setlength{\parskip}{0\p@}}
\renewcommand*{\makecvtitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputecvlengths%
\maketitle%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle}
\RenewDocumentCommand{\section}{sm}{%
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
\strut\sectionstyle{#2}%
{\color{color1}\hrule}%
\par\nobreak\addvspace{1ex}\@afterheading}
\newcommand{\subsectionfill}{\xleaders\hbox to 0.35em{\scriptsize.}\hfill}% different subsectionfills will not be perfectly aligned, but remaining space at the end of the fill will be distributed evenly between leaders, so it will be barely visible
\RenewDocumentCommand{\subsection}{sm}{%
\par\addvspace{1ex}%
\phantomsection{}%
\addcontentsline{toc}{subsection}{#2}%
\strut\subsectionstyle{#2}{\color{color1}{\subsectionfill}}%
\par\nobreak\addvspace{0.5ex}\@afterheading}
\renewcommand*{\cvitem}[3][.25em]{%
\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}%
\par\addvspace{#1}}
\renewcommand*{\cvdoubleitem}[5][.25em]{%
\begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistitem}[2][.25em]{%
\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{
\begin{tabular*}{\textwidth}{l@{\extracolsep{\fill}}r}%
{\bfseries #4} & {\bfseries #5} \\%
{\itshape #3\ifthenelse{\equal{#6}{}}{}{, #6}} & {\itshape #2}\\%
\end{tabular*}%
\ifx&#7&%
\else{\\\vbox{\small#7}}\fi%
\par\addvspace{#1}}
\newbox{\cvitemwithcommentmainbox}
\newlength{\cvitemwithcommentmainlength}
\newlength{\cvitemwithcommentcommentlength}
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
\savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
\setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
\begin{minipage}[t]{\cvitemwithcommentmainlength}\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}%
\par\addvspace{#1}}
\renewenvironment{thebibliography}[1]%
{%
\bibliographyhead{\refname}%
% \small%
\begin{list}{\bibliographyitemlabel}%
{%
\setlength{\topsep}{0pt}%
\setlength{\labelwidth}{0pt}%
\setlength{\labelsep}{0pt}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy\clubpenalty4000\widowpenalty4000%
% \sfcode`\.\@m%
% \sfcode `\=1000\relax%
}%
{%
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
\end{list}%
}
%-------------------------------------------------------------------------------
% letter style definition
%-------------------------------------------------------------------------------
% commands
\renewcommand*{\recomputeletterlengths}{
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
\renewcommand*{\makelettertitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
% sender block
\maketitle%
\par%
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
\addressfont%
{\bfseries\upshape\@recipientname}\\%
\@recipientaddress%
\end{minipage}
% date
\hfill % US style
% \\[1em] % UK style
\@date\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
% opening
\raggedright%
\@opening\\[1.5em]%
% ensure no extra spacing after \makelettertitle due to a possible blank line
% \ignorespacesafterend% not working
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
\renewcommand*{\makeletterclosing}{
\@closing\\[3em]%
{\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
{\color{color2}\itshape\enclname: \@enclosure}}}
\endinput
%% end of file `moderncvstylebanking.sty'.

View file

@ -0,0 +1,188 @@
%% start of file `moderncvstylecasual.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstylecasual}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: casual]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
\RequirePackage{moderncvstyleclassic}
\moderncvicons{awesome}
%-------------------------------------------------------------------------------
% overall style definition
%-------------------------------------------------------------------------------
% commands
% footer symbol used to separate footer elements
\newcommand*{\footersymbol}{%
{~~~{\rmfamily\textbullet}~~~}}% the \rmfamily is required to force Latin Modern fonts when using sans serif, as OMS/lmss/m/n is not defined and gets substituted by OMS/cmsy/m/n
% internal command to add an element to the footer
% it collects the elements in a temporary box, and checks when to flush the box
\newsavebox{\footerbox}%
\newsavebox{\footertempbox}%
\newlength{\footerwidth}%
\newlength{\footerboxwidth}%
\newif\if@firstfooterelement\@firstfooterelementtrue%
% adds an element to the footer, separated by footersymbol
% usage: \addtofooter[footersymbol]{element}
\newcommand*{\addtofooter}[2][\footersymbol]{%
\if@firstfooterelement%
\savebox{\footertempbox}{\usebox{\footerbox}#2}%
\else%
\savebox{\footertempbox}{\usebox{\footerbox}#1#2}\fi%
\settowidth{\footerboxwidth}{\usebox{\footertempbox}}%
\ifnum\footerboxwidth<\footerwidth%
\savebox{\footerbox}{\usebox{\footertempbox}}%
\@firstfooterelementfalse%
\else%
\flushfooter\\%
\savebox{\footerbox}{#2}%
\savebox{\footertempbox}{#2}%
\settowidth{\footerboxwidth}{\usebox{\footerbox}}%
\@firstfooterelementfalse\fi}
% internal command to flush the footer
\newcommand*{\flushfooter}{%
\strut\usebox{\footerbox}%
\savebox{\footerbox}{}%
\savebox{\footertempbox}{}%
\setlength{\footerboxwidth}{0pt}}
%-------------------------------------------------------------------------------
% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\fontsize{38}{40}\mdseries\upshape}
\renewcommand*{\addressfont}{\normalsize\mdseries\slshape}
% commands
\renewcommand*{\makecvtitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputecvlengths%
% ensure footer with personal information
\makecvfooter%
% optional picture
\newbox{\makecvtitlepicturebox}%
\savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
{\color{color1}\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}}%
\usebox{\makecvtitlepicturebox}%
% name
\@initializelength{\makecvtitlepicturewidth}%
\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\parbox[b]{\textwidth-\makecvtitlepicturewidth}{%
\raggedleft\namefont{\color{color2!50}\@firstname} {\color{color2}\@lastname}}\\[-.35em]% alternate design: \MakeLowercase and no space
{\color{color2!50}\rule{\textwidth}{.25ex}}%
% optional title
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\null\hfill\titlestyle{\@title}}\\[2.5em]% \null is required as there is no box on the line after \\, so glue (and leaders) disappears; this is in contrast to after \par, where the next line starts with an indent box (even after \noindent).
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\null\hfill\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\hfill\null\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \maketitle
\renewcommand*{\makecvfooter}{%
\setlength{\footerwidth}{0.8\textwidth}%
\fancypagestyle{plain}{%
\fancyfoot[c]{%
\parbox[b]{\footerwidth}{%
\centering%
\color{color2}\addressfont%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}%
\flushfooter\@firstfooterelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofooter{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofooter{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
\ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
}}}%
\pagestyle{plain}}
%-------------------------------------------------------------------------------
% letter style definition
%-------------------------------------------------------------------------------
\renewcommand*{\makelettertitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
% ensure footer with personal information
\makeletterfooter%
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
\addressfont%
{\bfseries\upshape\@recipientname}\\%
\@recipientaddress%
\end{minipage}
% date
\hfill% US style
% \\[1em]% UK style
\@date\\[2em]% US informal style: "April 6, 2006"; UK formal style: "05/04/2006"
% opening
\raggedright%
\@opening\\[1.5em]%
% ensure no extra spacing after \makelettertitle due to a possible blank line
% \ignorespacesafterend% not working
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
\renewcommand*{\makeletterfooter}{%
\setlength{\footerwidth}{0.8\textwidth}%
\fancypagestyle{plain}{%
\fancyfoot[c]{%
\parbox[b]{\footerwidth}{%
\centering%
\addressfont\color{color2}%
\vspace{\baselineskip}% forces a white line to ensure space between main text and footer (as footer height can't be known in advance)
\vspace{-\baselineskip}% to cancel out the extra vertical space taken by the name (below) and ensure perfect alignment of letter and cv footers
\strut{\bfseries\upshape\@firstname~\@lastname}\\% the \strut is required to ensure the line is exactly \baselineskip tall
\ifthenelse{\isundefined{\@addressstreet}}{}{\addtofooter[]{\addresssymbol\@addressstreet}%
\ifthenelse{\equal{\@addresscity}{}}{}{\addtofooter[~--~]{\@addresscity}}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\addtofooter[~--~]{\@addresscountry}}%
\flushfooter\@firstfooterelementtrue\\}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\addtofooter{\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@email}}{}{\addtofooter{\emailsymbol\emaillink{\@email}}}%
\ifthenelse{\isundefined{\@homepage}}{}{\addtofooter{\homepagesymbol\httplink{\@homepage}}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\addtofooter{\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\addtofooter{\@extrainfo}}%
\ifthenelse{\lengthtest{\footerboxwidth=0pt}}{}{\flushfooter}% the lengthtest is required to avoid flushing an empty footer, which could cause a blank line due to the \\ after the address, if no other personal info is used
}}}%
\pagestyle{plain}}
\renewcommand*{\makeletterclosing}{
\@closing\\[3em]%
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfil%
{\color{color2}\itshape\enclname: \@enclosure}}%
\vfil}
\endinput
%% end of file `moderncvstylecasual.sty'.

View file

@ -0,0 +1,298 @@
%% start of file `moderncvstyleclassic.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleclassic}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: classic]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% Latin Modern fonts
%\ifxetexorluatex
% \setmainfont{Latin Modern Roman}
% \setsansfont{Latin Modern Sans}
% \setmathfont{Latin Modern Math}
%\else
\IfFileExists{lmodern.sty}%
{\RequirePackage{lmodern}}%
{}
%\fi
%-------------------------------------------------------------------------------
% overall style definition
%-------------------------------------------------------------------------------
% symbols
\moderncvicons{marvosym}
%-------------------------------------------------------------------------------
% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
\renewcommand*{\addressfont}{\small\mdseries\slshape}
\renewcommand*{\quotefont}{\large\slshape}
\renewcommand*{\sectionfont}{\Large\mdseries\upshape}
\renewcommand*{\subsectionfont}{\large\mdseries\upshape}
\renewcommand*{\hintfont}{}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color1}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.175\textwidth}
\newlength{\separatorcolumnwidth}
\setlength{\separatorcolumnwidth}{0.025\textwidth}
\newlength{\maincolumnwidth}
\newlength{\doubleitemmaincolumnwidth}
\newlength{\listitemsymbolwidth}
\settowidth{\listitemsymbolwidth}{\listitemsymbol}
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
% commands
\renewcommand*{\recomputecvlengths}{%
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\separatorcolumnwidth-\hintscolumnwidth}%
% listitem lengths
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
% doubleitem lengths
\setlength{\doubleitemmaincolumnwidth}{\maincolumnwidth-\hintscolumnwidth-\separatorcolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemmaincolumnwidth}{0.5\doubleitemmaincolumnwidth}%
% listdoubleitem lengths
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}%
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}%
% regular lengths
\setlength{\parskip}{0\p@}}
% optional maketitle width to force a certain width (if set to 0pt, the width is calculated automatically)
\newlength{\makecvtitlenamewidth}
\setlength{\makecvtitlenamewidth}{0pt}% dummy value
\renewcommand*{\makecvtitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputecvlengths%
% optional detailed information (pre-rendering)
\def\phonesdetails{}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\protected@edef\phonesdetails{\phonesdetails\protect\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}}%
\def\socialsdetails{}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\protected@edef\socialsdetails{\socialsdetails\protect\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}}%
\newbox{\makecvtitledetailsbox}%
\savebox{\makecvtitledetailsbox}{%
\addressfont\color{color2}%
\begin{tabular}[b]{@{}r@{}}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\phonesdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\socialsdetails% needs to be pre-rendered as loops and tabulars seem to conflict
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}%
\end{tabular}
}%
% optional photo (pre-rendering)
\newbox{\makecvtitlepicturebox}%
\savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\hspace*{\separatorcolumnwidth}%
\color{color1}%
\setlength{\fboxrule}{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
\newlength{\makecvtitledetailswidth}\settowidth{\makecvtitledetailswidth}{\usebox{\makecvtitledetailsbox}}%
\newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\ifthenelse{\lengthtest{\makecvtitlenamewidth=0pt}}% check for dummy value (equivalent to \ifdim\makecvtitlenamewidth=0pt)
{\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitledetailswidth-\makecvtitlepicturewidth}}%
{}%
\begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
\hfill%
% optional detailed information (rendering)
\llap{\usebox{\makecvtitledetailsbox}}% \llap is used to suppress the width of the box, allowing overlap if the value of makecvtitlenamewidth is forced
% optional photo (rendering)
\usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
\par}% to avoid weird spacing bug at the first section if no blank line is left after \makecvtitle
\newlength{\baseletterheight}
\settoheight{\baseletterheight}{\sectionstyle{o}}
\setlength{\baseletterheight}{\baseletterheight-0.95ex}
\RenewDocumentCommand{\section}{sm}{%
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
\parbox[t]{\hintscolumnwidth}{\strut\raggedleft\raisebox{\baseletterheight}{\color{color1}\rule{\hintscolumnwidth}{0.95ex}}}%
\hspace{\separatorcolumnwidth}%
\parbox[t]{\maincolumnwidth}{\strut\sectionstyle{#2}}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
\par\addvspace{1ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{subsection}{#2}%
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
\raggedleft\hintstyle{} &{\strut\subsectionstyle{#2}}%
\end{tabular}%
\par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading
\renewcommand*{\cvitem}[3][.25em]{%
\begin{tabular}{@{}p{\hintscolumnwidth}@{\hspace{\separatorcolumnwidth}}p{\maincolumnwidth}@{}}%
\raggedleft\hintstyle{#2} &{#3}%
\end{tabular}%
\par\addvspace{#1}}
\renewcommand*{\cvdoubleitem}[5][.25em]{%
\cvitem[#1]{#2}{%
\begin{minipage}[t]{\doubleitemmaincolumnwidth}#3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\hintscolumnwidth}\raggedleft\hintstyle{#4}\end{minipage}%
\hspace*{\separatorcolumnwidth}%
\begin{minipage}[t]{\doubleitemmaincolumnwidth}#5\end{minipage}}}
\renewcommand*{\cvlistitem}[2][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}
\renewcommand*{\cventry}[7][.25em]{%
\cvitem[#1]{#2}{%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut%
\ifx&#7&%
\else{\newline{}\begin{minipage}[t]{\linewidth}\small#7\end{minipage}}\fi}}
\newbox{\cvitemwithcommentmainbox}
\newlength{\cvitemwithcommentmainlength}
\newlength{\cvitemwithcommentcommentlength}
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
\savebox{\cvitemwithcommentmainbox}{{\bfseries#3}}%
\setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
\cvitem[#1]{#2}{%
\begin{minipage}[t]{\cvitemwithcommentmainlength}\bfseries#3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}}}
\renewenvironment{thebibliography}[1]%
{%
\bibliographyhead{\refname}%
% \small%
\begin{list}{\bibliographyitemlabel}%
{%
\setlength{\topsep}{0pt}%
\setlength{\labelwidth}{\hintscolumnwidth}%
\setlength{\labelsep}{\separatorcolumnwidth}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy\clubpenalty4000\widowpenalty4000%
% \sfcode`\.\@m%
% \sfcode `\=1000\relax%
}%
{%
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
\end{list}%
}
%-------------------------------------------------------------------------------
% letter style definition
%-------------------------------------------------------------------------------
% commands
\renewcommand*{\recomputeletterlengths}{%
\recomputecvlengths%
\setlength{\parskip}{6\p@}}
\renewcommand*{\makelettertitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
% sender contact info
\hfill%
\begin{minipage}{.5\textwidth}%
\raggedleft%
\addressfont\textcolor{color2}{%
{\bfseries\upshape\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}%
\end{minipage}\\[1em]
% recipient block
\begin{minipage}[t]{.5\textwidth}
\raggedright%
\addressfont%
{\bfseries\upshape\@recipientname}\\%
\@recipientaddress%
\end{minipage}
% date
\hfill% US style
% \\[1em]% UK style
\@date\\[2em]% US informal style: "January 1, 1900"; UK formal style: "01/01/1900"
% opening
\raggedright%
\@opening\\[1.5em]%
% ensure no extra spacing after \makelettertitle due to a possible blank line
% \ignorespacesafterend% not working
\hspace{0pt}\par\vspace{-\baselineskip}\vspace{-\parskip}}
\renewcommand*{\makeletterclosing}{
\@closing\\[3em]%
{\bfseries \@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
{\color{color2}\itshape\enclname: \@enclosure}}}
\endinput
%% end of file `moderncvstyleclassic.sty'.

View file

@ -0,0 +1,34 @@
%% start of file `moderncvstyleempty.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleempty}[2013/04/29 v1.5.1 modern curriculum vitae scheme: empty]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% package options
%-------------------------------------------------------------------------------
%-------------------------------------------------------------------------------
% style definition
%-------------------------------------------------------------------------------
% see moderncv.cls for command declarations that needs to be implemented, e.g. \maketitle, \section, \subsections, \cvline, etc
\endinput
%% end of file `moderncvstyleempty.sty'.

View file

@ -0,0 +1,310 @@
%% start of file `moderncvstyleoldstyle.sty'.
%% Copyright 2006-2013 Xavier Danaux (xdanaux@gmail.com).
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
%-------------------------------------------------------------------------------
% identification
%-------------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{moderncvstyleoldstyle}[2013/04/29 v1.5.1 modern curriculum vitae and letter style scheme: oldstyle]
%-------------------------------------------------------------------------------
% required packages
%-------------------------------------------------------------------------------
% change the layout of the page on the fly, for resume or letter layout
\RequirePackage{changepage}
%-------------------------------------------------------------------------------
% overall style definition
%-------------------------------------------------------------------------------
% fonts
%\ifxetexorluatex
% \setmainfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light}
% \setsansfont[Numbers={OldStyle,Proportional}, BoldFont={Kurier Bold}, ItalicFont={Kurier Light Italic}, BoldItalicFont={Kurier Bold Italic}]{Kurier Light}
% \setmathfont{Kurier Light}
% \setmathfont[range=\mathit,\mathsfit]{Kurier Light Italic}
% \setmathfont[range=\mathbfup,\mathbfsfup]{Kurier Bold}
% \setmathfont[range=\mathbfit,\mathbfsfit]{Kurier Bold Italic}
%\else
\IfFileExists{kurier.sty}%
{\RequirePackage[light,math]{kurier}}%
{}
%\fi
% symbols
\moderncvicons{letters}
%-------------------------------------------------------------------------------
% resume style definition
%-------------------------------------------------------------------------------
% fonts
\renewcommand*{\namefont}{\fontsize{34}{36}\mdseries\upshape}
\renewcommand*{\titlefont}{\LARGE\mdseries\slshape}
\renewcommand*{\addressfont}{\small\mdseries}
\renewcommand*{\quotefont}{\large\itshape}
\renewcommand*{\sectionfont}{\Large\bfseries\upshape}
\renewcommand*{\subsectionfont}{\large\bfseries\itshape}
\renewcommand*{\hintfont}{\bfseries}
% styles
\renewcommand*{\namestyle}[1]{{\namefont\textcolor{color0}{#1}}}
\renewcommand*{\titlestyle}[1]{{\titlefont\textcolor{color2}{#1}}}
\renewcommand*{\addressstyle}[1]{{\addressfont\textcolor{color2}{#1}}}
\renewcommand*{\quotestyle}[1]{{\quotefont\textcolor{color1}{#1}}}
\renewcommand*{\sectionstyle}[1]{{\sectionfont\textcolor{color1}{#1}}}
\renewcommand*{\subsectionstyle}[1]{{\subsectionfont\textcolor{color1}{#1}}}
\renewcommand*{\hintstyle}[1]{{\hintfont\textcolor{color0}{#1}}}
% lengths
\newlength{\quotewidth}
\newlength{\hintscolumnwidth}
\setlength{\hintscolumnwidth}{0.3\textwidth}%
\newlength{\separatorcolumnwidth}
\setlength{\separatorcolumnwidth}{0.025\textwidth}%
\newlength{\maincolumnwidth}
\newlength{\doubleitemcolumnwidth}
\newlength{\listitemsymbolwidth}
\settowidth{\listitemsymbolwidth}{\listitemsymbol}
\newlength{\listitemmaincolumnwidth}
\newlength{\listdoubleitemmaincolumnwidth}
% commands
\setlength{\marginparwidth}{0\p@}%
\setlength{\marginparsep}{0\p@}
\renewcommand*{\recomputecvlengths}{%
% regular lengths
\changepage{}{+\marginparwidth+\marginparsep}{}{}{}{}{}{}{}% if a letter was typeset before the resume, \marginparwidth and \marginparsep will be non-zero; otherwise, this has no effect
\setlength{\marginparwidth}{0\p@}%
\setlength{\marginparsep}{0\p@}
\setlength{\parskip}{0\p@}%
% maketitle lengths
\setlength{\quotewidth}{0.65\textwidth}%
% main lenghts
\setlength{\maincolumnwidth}{\textwidth-\hintscolumnwidth-\separatorcolumnwidth}%
% listitem lengths
\setlength{\listitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth}%
% doubleitem lengths
\setlength{\doubleitemcolumnwidth}{\maincolumnwidth-\separatorcolumnwidth}%
\setlength{\doubleitemcolumnwidth}{0.5\doubleitemcolumnwidth}%
% listdoubleitem lengths
\setlength{\listdoubleitemmaincolumnwidth}{\maincolumnwidth-\listitemsymbolwidth-\separatorcolumnwidth-\listitemsymbolwidth}%
\setlength{\listdoubleitemmaincolumnwidth}{0.5\listdoubleitemmaincolumnwidth}%
% fancyhdr lengths
\renewcommand{\headwidth}{\textwidth}}
\newcommand{\makecvinfo}[1]{%
\newbox{\makecvinfobox}%
\savebox{\makecvinfobox}{\parbox[t]{\hintscolumnwidth}{#1}}%
\newlength{\makecvinfoheight}%
\setlength{\makecvinfoheight}{\totalheightof{\usebox{\makecvinfobox}}}% the total height of the parbox is the sum of its height (\the\ht\makeinfobox) and its depth (\the\dp\makeinfobox); the \totalheightof command is provided by the "calc" package
\usebox{\makecvinfobox}\vspace{-\makecvinfoheight}%
\newlength{\leftcolumnwidth}%
\setlength{\leftcolumnwidth}{\hintscolumnwidth+\separatorcolumnwidth}%
\par\vspace{-\baselineskip}\vspace{-\parskip}\leftskip=\leftcolumnwidth}
\renewcommand*{\makecvtitle}{
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputecvlengths%
% optional picture box
\newbox{\makecvtitlepicturebox}%
\savebox{\makecvtitlepicturebox}{%
\ifthenelse{\isundefined{\@photo}}%
{}%
{%
\color{color1}%
\setlength\fboxrule{\@photoframewidth}%
\ifdim\@photoframewidth=0pt%
\setlength{\fboxsep}{0pt}\fi%
\framebox{\includegraphics[width=\@photowidth]{\@photo}}}}%
% name and title
\newlength{\makecvtitlepicturewidth}\settowidth{\makecvtitlepicturewidth}{\usebox{\makecvtitlepicturebox}}%
\newlength{\makecvtitlenamewidth}\setlength{\makecvtitlenamewidth}{\textwidth-\makecvtitlepicturewidth}%
\begin{minipage}[b]{\makecvtitlenamewidth}%
\namestyle{\@firstname\ \@lastname}%
\ifthenelse{\equal{\@title}{}}{}{\\[1.25em]\titlestyle{\@title}}%
\end{minipage}%
% optional photo
\usebox{\makecvtitlepicturebox}\\[2.5em]%
% optional quote
\ifthenelse{\isundefined{\@quote}}%
{}%
{{\centering\begin{minipage}{\quotewidth}\centering\quotestyle{\@quote}\end{minipage}\\[2.5em]}}%
% optional details
\makecvinfo{%
\addressfont\color{color2}%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}
\RenewDocumentCommand{\section}{sm}{%
\par\addvspace{2.5ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{section}{#2}%
\strut\sectionstyle{#2}%
\par\nobreak\addvspace{1ex}\@afterheading}% to avoid a pagebreak after the heading
\RenewDocumentCommand{\subsection}{sm}{%
\par\addvspace{1ex}%
\phantomsection{}% reset the anchor for hyperrefs
\addcontentsline{toc}{subsection}{#2}%
\strut\subsectionstyle{#2}%
\par\nobreak\addvspace{0.5ex}\@afterheading}% to avoid a pagebreak after the heading
\renewcommand*{\cvitem}[3][.25em]{%
\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }{#3}%
\par\addvspace{#1}}
\renewcommand*{\cvdoubleitem}[5][.25em]{%
\begin{minipage}[t]{\doubleitemcolumnwidth}\hintstyle{#2}: #3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\doubleitemcolumnwidth}\ifthenelse{\equal{#4}{}}{}{\hintstyle{#4}: }#5\end{minipage}%
\par\addvspace{#1}}
\renewcommand*{\cvlistitem}[2][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listitemmaincolumnwidth}#2\end{minipage}}}
\renewcommand*{\cvlistdoubleitem}[3][.25em]{%
\cvitem[#1]{}{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#2\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\ifthenelse{\equal{#3}{}}%
{}%
{\listitemsymbol\begin{minipage}[t]{\listdoubleitemmaincolumnwidth}#3\end{minipage}}}}
\newbox{\cventryyearbox}
\newlength{\cventrytitleboxwidth}
\renewcommand*{\cventry}[7][.25em]{%
\savebox{\cventryyearbox}{%
\hspace*{2\separatorcolumnwidth}%
\hintstyle{#2}}%
\setlength{\cventrytitleboxwidth}{\widthof{\usebox{\cventryyearbox}}}%
\setlength{\cventrytitleboxwidth}{\maincolumnwidth-\cventrytitleboxwidth}%
\begin{minipage}{\maincolumnwidth}%
\parbox[t]{\cventrytitleboxwidth}{%
\strut%
{\bfseries#3}%
\ifthenelse{\equal{#4}{}}{}{, {\slshape#4}}%
\ifthenelse{\equal{#5}{}}{}{, #5}%
\ifthenelse{\equal{#6}{}}{}{, #6}%
.\strut}%
\usebox{\cventryyearbox}%
\end{minipage}%
\ifx&#7&%
\else{%
\newline{}%
\begin{minipage}[t]{\maincolumnwidth}%
\small%
#7%
\end{minipage}}\fi%
\par\addvspace{#1}}
\newbox{\cvitemwithcommentmainbox}
\newlength{\cvitemwithcommentmainlength}
\newlength{\cvitemwithcommentcommentlength}
\renewcommand*{\cvitemwithcomment}[4][.25em]{%
\savebox{\cvitemwithcommentmainbox}{\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3}%
\setlength{\cvitemwithcommentmainlength}{\widthof{\usebox{\cvitemwithcommentmainbox}}}%
\setlength{\cvitemwithcommentcommentlength}{\maincolumnwidth-\separatorcolumnwidth-\cvitemwithcommentmainlength}%
\begin{minipage}[t]{\cvitemwithcommentmainlength}\ifthenelse{\equal{#2}{}}{}{\hintstyle{#2}: }#3\end{minipage}%
\hfill% fill of \separatorcolumnwidth
\begin{minipage}[t]{\cvitemwithcommentcommentlength}\raggedleft\small\itshape#4\end{minipage}%
\par\addvspace{#1}}
\renewenvironment{thebibliography}[1]%
{%
\bibliographyhead{\refname}%
% \small%
\begin{list}{\bibliographyitemlabel}%
{%
\setlength{\topsep}{0pt}%
\setlength{\labelwidth}{\hintscolumnwidth}%
\setlength{\labelsep}{\separatorcolumnwidth}%
\leftmargin\labelwidth%
\advance\leftmargin\labelsep%
\@openbib@code%
\usecounter{enumiv}%
\let\p@enumiv\@empty%
\renewcommand\theenumiv{\@arabic\c@enumiv}}%
\sloppy\clubpenalty4000\widowpenalty4000%
% \sfcode`\.\@m%
% \sfcode `\=1000\relax%
}%
{%
\def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
\end{list}%
}
%-------------------------------------------------------------------------------
% letter style definition
%-------------------------------------------------------------------------------
% commands
%\newlength{\textwidthdelta}%
\renewcommand*{\recomputeletterlengths}{%
\recomputecvlengths%
\setlength{\parskip}{6\p@}%
\leftskip=0pt%
% \setlength{\textwidthdelta}{+\marginparwidth+\marginparsep}%
\setlength{\marginparwidth}{\hintscolumnwidth}%
\setlength{\marginparsep}{2\separatorcolumnwidth}%
% \addtolength{\textwidthdelta}{-\marginparwidth-\marginparsep}%
% \changepage{}{\textwidthdelta}{-\textwidthdelta}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
\changepage{}{-\marginparwidth-\marginparsep}{}{}{}{}{}{}{}%\changepage{<textheight>}{<textwidth>}{<evensidemargin>}{<oddsidemargin>}{<columnsep>}{<topmargin>}{<headheight>}{<headsep>}{<footskip>}
}
\renewcommand*{\makelettertitle}{%
% recompute lengths (in case we are switching from letter to resume, or vice versa)
\recomputeletterlengths%
% recipient block
{\addressfont%
{\bfseries\upshape\@recipientname}\\%
\@recipientaddress}\\[1em]%
% date
\@date\\[2em]%
% opening
\@opening\\[1.5em]%
% sender contact info
\hspace{0pt}%
\marginpar{%
\addressfont\textcolor{color2}{%
{\bfseries\@firstname~\@lastname}\@firstdetailselementfalse%
\ifthenelse{\isundefined{\@addressstreet}}{}{\makenewline\addresssymbol\@addressstreet%
\ifthenelse{\equal{\@addresscity}{}}{}{\makenewline\@addresscity}% if \addresstreet is defined, \addresscity and \addresscountry will always be defined but could be empty
\ifthenelse{\equal{\@addresscountry}{}}{}{\makenewline\@addresscountry}}%
\collectionloop{phones}{% the key holds the phone type (=symbol command prefix), the item holds the number
\makenewline\csname\collectionloopkey phonesymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@email}}{}{\makenewline\emailsymbol\emaillink{\@email}}%
\ifthenelse{\isundefined{\@homepage}}{}{\makenewline\homepagesymbol\httplink{\@homepage}}%
\collectionloop{socials}{% the key holds the social type (=symbol command prefix), the item holds the link
\makenewline\csname\collectionloopkey socialsymbol\endcsname\collectionloopitem}%
\ifthenelse{\isundefined{\@extrainfo}}{}{\makenewline\@extrainfo}}}%
% ensure no extra spacing after \makelettertitle due to a possible blank line
% \ignorespacesafterend% not working
\par\vspace{-\baselineskip}\vspace{-\parskip}}
\renewcommand*{\makeletterclosing}{
\@closing\\[3em]%
{\bfseries\@firstname~\@lastname}%
\ifthenelse{\isundefined{\@enclosure}}{}{%
\\%
\vfill%
{\color{color2}\itshape\enclname: \@enclosure}}}
\endinput
%% end of file `moderncvstyleoldstyle.sty'.

56
moderncv/tweaklist.sty Normal file
View file

@ -0,0 +1,56 @@
%% start of file `tweaklist.sty'.
%% Original by Jakob Schiøtz, downloaded from http://dcwww.camd.dtu.dk/~schiotz/comp/LatexTips/tweaklist.sty; not found on ctan.
%% Modified by Xavier Danaux (xdanaux@gmail.com).
%
% The tweaklist.sty package redefines the itemize, enumerate and description packages, so that all parameters can be adjusted.
% This was done by copying the original definitions, and adding "hook commands" that are executed when entering the environment.
% The hook commands are initially empty, but can be redefined with \renewcommand.
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License version 1.3c,
% available at http://www.latex-project.org/lppl/.
% hooks for the itemize environment
\def\itemhook{}
\def\itemhooki{}
\def\itemhookii{}
\def\itemhookiii{}
\def\itemhookiv{}
% hooks for the enumerate environment
\def\enumhook{}
\def\enumhooki{}
\def\enumhookii{}
\def\enumhookiii{}
\def\enumhookiv{}
% hook for the description environment
\def\deschook{}
% original environment definitions, with hooks added
\def\enumerate{%
\ifnum \@enumdepth >\thr@@\@toodeep\else
\advance\@enumdepth\@ne
\edef\@enumctr{enum\romannumeral\the\@enumdepth}%
\expandafter
\list
\csname label\@enumctr\endcsname
{%
\enumhook \csname enumhook\romannumeral\the\@enumdepth\endcsname%
\usecounter\@enumctr\def\makelabel##1{\hss\llap{##1}}%
}%
\fi}
\def\itemize{%
\ifnum \@itemdepth >\thr@@\@toodeep\else
\advance\@itemdepth\@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\expandafter
\list
\csname\@itemitem\endcsname
{%
\itemhook \csname itemhook\romannumeral\the\@itemdepth\endcsname%
\def\makelabel##1{\hss\llap{##1}}%
}%
\fi}
\newenvironment{description}
{\list{}{\deschook\labelwidth\z@ \itemindent-\leftmargin
\let\makelabel\descriptionlabel}}
{\endlist}