Moderncv LaTeX package. A really easy way to create a modern CV

As far as the options are concerned these are the following:

I had created my CV many months ago and I put it in good use, I found a PhD position. However I was still meddling with my girlfriend’s CV as she is looking for a job. So I came up with moderncv package that provides a way to easily create a really nice proffesional CV.

You can install the moderncv package manually after downloading it from CTAN directory or if you use MiKTeK like I do, you can go to the package manager search for moderncv package and install it. However I pretty sure that by default MiKTeK prompts you to download any missing packages.

To use moderncv you simply use:


and you set the CV theme that you want to create:


Where theme you can have casual, classic and empty:

Casual is a resume created with a simple header on the first page with the name and a picture. Information of the address, telephone number and email is placed in the bottom of each page of the CV.

Classic creates a full header with name, information and passport image on the first page. There is no information on the footer of each page. I recommend this on for most professional uses.

Empty creates a very simple moderncv resume without headers and footers.

As far as the options are concerned these are the following: blue, orange, green, red, purple, grey (which are to choose the color of the cv lines and roman to use roman fonts instead of sans serif fonts.
Then you continue writing down your personal data using:

\firstname {name}    % Your name
\lastname {Last name} % Your last name
\title {Title}              % Your title (optional)
\address{street and number}{post code and city} % Your current address
\mobile {number}    % Your mobile phone number
\phone {number}    % Your phone number
\email {email}          % Your email address
\homepage {link}    % Your website
\extrainfo {information} % Possible extra information e.g. website
\photo[64pt][0.4pt]{picture}  % Your photo (optional)
\quote {quote} % Life motto or something like that (optional)

These are used with the \maketitle command. Further more the moderncv had some structures that can be used to enter your skills and qualities. Some of these are:

\cvlanguage{Language 1}{Skill level}{Comment}
\cvcomputer{category 1}{XXX, YYY, ZZZ}{category 4}{XXX, YYY, ZZZ}
\cvline{hobby 1}{\small Description}

cventry is used to enter education and work experience entries. cvlanguage to enter linguistic skills, cvcomputer computer skills. Finally cvline is used to enter generic information. More structures and information can be found in the templates code in the CTAN directory found here.

The results are the following:
Using [green]{classic}: pdf, tex
Using [blue]{casual}: pdf, tex
Using classic with photo: pdf


LaTeX issues and portability

My laptop needed repair lately so I sent it to SONY. Thus I will be without it for a couple of weeks. I had to back up everything before doing so, which was easy due to good file organization.

I used a flash drive to install to enhance the portable experience. However if you plan to work in solely one computer using the flash drive is of no use. It is really slow and has limited capabilities on the programs you can install and use. So I could not have LaTeX or Matlab. I know it is a long-shot to want to run these from a flash drive.

Fortunately I had a computer available, I created a new account, made anything else installed on that computer transparent to me and everything I installed transparent to everyone else. The only problem was when I was about to use LaTeX. Nothing worked and no packages were installed due to the transition from LaTeX 2e to LaTeX 3. I realized that I had to update MiKTeX as some packages, in particular expl3.sty, had become obsolete. So running the MiKTeX updater twice in admin mode is sufficient to solve the problem. you can find more detailed instructions on that in Greek though, here.
Afterwards I got another error while compiling the code:

'xdvipdfmx' is not recognized as an internal or external command, operable program or batch file.

I read that when such an error occurs it has to do with the OS. In windows all you have to do is add the path containing the xdvipdfmx to your PATH environmental variable. However this requires restart to work and until I realized that I got a bit frustrated. But now everything is fine and I can still work without the laptop for some time. The only thing missing is a microphone for Skype usage and a more effective back up strategy. When you use your personal PC, backup can be easily automated. However when you use a temporary one, the back up is between mobile devices all the time and it becomes a tricky business. But more on file organization on another post.

Introducing eclipse

And I don’t mean the vampire series. I mean the IDE (Integrated Development Environment). I used eclipse to write Java for quite some time. I finished my pre-graduate thesis with it. Lately I’ve been writing code almost exclusively on notepad++ but the idea of having an integrated environment to write any code is flickering in my mind.

The challenge. To write and compile most common code using eclipse. Apart from Java eclipse supports much more. So let’s start with installation. Eclipse is developed in Java itself so it will need a JRE to run. You can get the latest Java Runtime Environment here.

Last time I got to use eclipse I remembered that there was a package including everything. However as I was to download eclipse from the I could not find one. I downloaded the standard Java package (Eclipse Classic 3.6.2), the C/C++ package (Eclipse IDE for C/C++ Developers) and the PHP package (Eclipse for PHP Developers) that suffice for my needs. Then I extracted the eclipse folder of each one of them zips and merged the three folders into one overwriting everything. (As I guessed so it worked like a charm and I got to have java,C,C++ and web projects available).

My problem at first was that for some reason eclipse was searching for the JRE exclusively in …/eclipse/jre/ so I could not get the IDE get started at all. What I did eventually was to copy paste the JRE in my case …/java/jre6/ and rename the jre6 folder to jre.

So far I have Java, C , C++ and PHP support among with Javascript and HTML. To use LaTeX and VHDL as well I had to intall two plugins: TeXlipse and simplifide.The thing with simplifide is that it is not free. You can try it as there is a trial and it also has an academic license.

To install TeXlipse I went to Help –> Install new software and in the field “work with” I entered the url: Below TeXlipse was available to install so I checked it and then clicked on Next. Coming soon: more details on how to use eclipse.

Greek in XeLaTeX Part 2

As I was to finish my master thesis I came across a small problem. I had to insert a chapter of around 10 pages describing the whole thesis in Greek. At first I was thinking just to use the xgreek package along with the xltxtra and I’d be fine. But with two problem emerged: First the xgreek package overrides all definitions on e.g. chaptername and bibname variables. This means that in the English text instead of “Chapter” I would get “Κεφάλαιο” instead. The second problem is that the font that I was using for the Thesis did not support unicode.
Starting from the latter I used:


in order to make a \greekfont family that I could use to make the text appear. I did that and avoided using chapters (only sections and subsections) and everything was good because I did not needed to use the xgreek package. Then I realized that a new problem emerged. The words in Greek would not be split in the end of sentences. Instead they would go over the margin! This could easily be solved with the xgreek package. In order to make it easy for me I used the package eventually and redefined everything (below is the code for everyone to copy)

% Partially negating xgreek package 
\def\listfigurename{List of Figures}%
\def\listtablename{List of Tables}%
\def\alsoname{see also}%

And then I realized what a fool I have been! With the use of the xgreek package the words in English would not break at the end of the sentences! That was the rest of the thesis… Thus the problem with the words not breaking could not be solved and I ended up breaking the Greek sections painfully manually. If there is any way to do it please tell me!

Curriculum Vitae in LaTeX

Now that I started looking for a PhD it was good to have my curriculum vitae updated. Apart from the content I wanted it to be more professional so this time I wanted it to be in LaTeX. Searching through the net it was easy to find quite a lot of templates bus I decided to use the one found here. the result of the CV I prepared for my PhD search is the following CV.pdf.

Some tips for making the content of the CV could be that there is no need to have a single CV but always adjust for the needs of every situation. Mentioning every little thing you have done just to make it look filled up is not a good idea at all. People who will read the CV won’t probably have any time to read past the first sentence of each section so the best way to go is to place there the more important information there to make sure it won’t be overlooked. The more minimal the better.

In the CV you can find in the link above there is an appendix with grades which I may eventually remove as I think that it is not a good idea to have such a long CV.

That’s all for now.

Greek in LaTeX

It was obvious tha sooner or later I would be in need to use greek in my LaTeX texts. To use them the Babel package is needed so (here in use with English):


then by choosing \foreignlanguage{greek} or \selectlanguage{english} you switch between languages. However you cannot use greek letters but latin ones to write in Greeks. so writing: Kalhm’era would yield: Καλημέρα.

If you need to use the Greek characters then the:


is necessary. While using that you can switch between the encodings (latin and greek) using \latintext and \greektext.

For more information on the babel package here.

For more international LaTeX here.


XeLaTeX is XeTeX with LaTeX macros. XeTeX is a useful aid in LaTeX document production as I allows you to use the systems fonts and not breaking your back while trying to make a font work in LaTeX.

To make it work in TeXMaker that I use now I simply changed the

[..]\MikTeX 2.9\miktek\bin\latex.exe option in the command options of the program with

[..]\MikTeX 2.9\miktek\bin\xelatex.exe which was already there!

Simple as pie. Other things that should be taken care off (but usually are set that way) is the character encoding set to UTF8 and the quick built should be changed manually to :

xelatex %.tex|"PDF_reader" %.pdf

Where PDF_reader is the path to the executable program that opens the .pdf files (mine was adobe reader). That is needed as the XeLaTeX does not produce .ps files but only .pdf…

Reading for it I found out that apart from MiKTeX there is an alternative compiler for windows called TeXLive. It also supports XeLaTeX so I guess the procedure to set it up is similar.

LaTeX editors

After a brief problem concerning the pdf output when I used the Texnic Center, I tried to find a more efficient and reliable TeX editor. There can always be the solution of writing to notepad++ but a quick compile every now and then while writing comes in handy and saves from debugging time a lot.

So the ones that I checked out so far were:

TeXWorks– Came with MikTeX installation (MiKTeX is the LaTex (pdfTeX to be exact) compiler for Windows). It could be just what I need but for some reason there is no annotation in the editor (although there is an option for it in the preferences) making it really useless. If the annotation actually worked then it could be a really could solution.

TeXnic Center– The one I used so far. I used the 1.0 Release Candidate version. Now the 2.0 alpha is released but did not checked it out (it is alpha version and I have no time for debugging other’s people problems!). I switched because the pdf preview stopped to work after upgrading to Adobe Reader 10. Guess a reinstall or a tweak would do the trick but I’m not interested. Another thing that I did not liked it that the spelling was not active all the time (you had to run it yourself), and that although there was an autocomplete function I did not find how to use it so it acted more like a reminder.

TeXmaker. The one I chose to use now. It has a similar interface with TeXnic Center although it seems to be more solid and more minimal the way I like it. Its options are more straightforward which made it easy to have it find the new MiKTeX installation and use it properly.

LyX – Not actually a TeX editor. It produces .lyx files instead of .tex. There is an option to import .tex files however. The editor is not writing LaTeX code however. It is a more WYSIWYG approach. The code it produces is LaTeX but as far as I understood it is closed. I think that it is an interesting solution. But not for me Smile

LEd– Did not actually tried that one but it seems to be buggy. Maybe later if I see progress in its development. However when you type LaTeX editor in google it is the first that pops up!

TeXipse– It is a plug in for eclipse. Could be exactly what I need but I’m having trouble making eclipse start up (will solve it later)

Gummi– It is not available for windows yet but it looks promising.