Giter VIP home page Giter VIP logo

europecv's Introduction

All Contributors PRs Welcome first-timers-only License

EuropeCV

TeX code associated to the EuropeCV CTAN repository.

Content of the package

The package contains the TeX and the cls files needed to create your CV in LaTeX. In the package, there are some examples that you can follow to build your CV.

I apologize if some translations are wrong, but Italian is my mother tongue. I'm trying to improve my English skills, but it is not an easy task. So, please, do not hesitate to correct the information reported in this README.md file.

Therefore, you can independently change the content of the translation files by editing the text in the .def files. The suffix "it", "de", and so on, indicates the language (e.g., "it" means Italian, "de" German, etc.).

Conversely, the .cls file contains the heart of the code. You can use it to redefine the package by adding your functionality. In such case, please feel free to share your code with the community members that already use EuropeCV.

In case you want to make changes or fix bugs in Linux distributions, you can find europecv.cls under the /usr/share/texlive/texmf-dist/tex/latex/europecv path.

Pull request template

Well, if you are reading this section it means that you are thinking of helping me to make EuropeCV big! :) Before helping me, developing your features or fixing a bug, please consider the few rules listed below:

  1. The DOS style line terminators CRLF (\r\n) has to be replaced with Unix style (\n) line terminators LF before installing your package.

  2. Each change must be reported in the CHANGELOG file. Please, do not forget to be clear and specify who made this contribution.

  3. In the head of each file, there is the date on which the last changes were made. Please, do not forget to update this information. The same procedure must be followed in the tex file europecv.tex (at the beginning of the file a date says when the file has been changed).

In any case, please take a look at the Contributing.md file.

europecv's People

Contributors

emilgardis avatar fakenmc avatar gsilano avatar jpspleite avatar jspitz avatar kanerazh avatar lgelmi avatar mahermanns avatar nunofachada avatar panchoh avatar redlulz avatar scottkosty avatar stalecu avatar vlasakm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

europecv's Issues

Update EuropeCV Template: Outdated Template Discovery and Proposal for New Style File

Hi there!

I recently discovered that the current template we're using for this package is outdated, thanks to a tip from Sebastiano Spatola. You can find more details at this link: https://tex.stackexchange.com/questions/711582/currriculum-vitae-format-2024.

To keep EuropeCV relevant and useful for the entire community, it would be beneficial to develop a new style file (.sty) that can generate a PDF with the same characteristics as our current Word file https://www.modelli-di-curriculum.it/wp-content/download/X10-cv-europass-modello-it-word.docx.

This could potentially be a great project for an AI tool like ChatGBT, Gemini, or any other. While I'm currently short on time to delve into this myself, I'm definitely interested in exploring it further during the next Summer or Winter break.

I'm keeping this issue open in case any of you have some spare time to begin investigating the topic and would like to provide feedback.

Bug with pdf logos in europecv

Here I reported the bug described by Antonis Tsolomitis.

I just tried the europecv class. Very nice. pdflatex works fine. However, there is a bug
in the logos when one uses xelatex or lualatex.
When one loads fontspec, for example with

\usepackage[gfsneohellenic]{fontsetup}

, this is a new package of mine that allows easy and quick font selection with unicode engines, and runs either xelatex or lualatex, the first ignores the logo and the second stops compilation with error and produces no pdf.

The problem is that the pdf is created by PSNormalizer.framework and xelatex and lualatex for some reason do not like this. However, if you pass the eps files through epstopdf the pdf output works in all cases.

I have noticed this problem with all files coming from Adobe tools. So I write to you in case you want to address this issue and re upload to ctan working pdfs for all logos.

Getting data from DB

It would be interesting using your template while getting data from a DB. We have all our data in PostgreSQL, in principle it should be feasible.

[Suggestion] How to add biblatex/biber support

Adding this macros:

\makeatletter
  % Add a row of two cols to a global list
  % #1: list; #2#3: two cols
  \def\ecv@blx@additemto#1#2#3{\expandafter\gdef\expandafter#1\expandafter{#1\\#2&#3}}

  % Called for each item
  \def\blx@bibitem#1{%
    % Counter for defernumbers
    \blx@getdata{#1}%
    \blx@thelabelnumber%
    %
    % Add current item to the list
    \ecv@blx@additemto\ecv@blx@table{%
      % Hypertarget
      \raisebox{10pt}[0pt][0pt]{\hypertarget{cite.\the\c@refsection @#1}{}}%
      % Label
      \protect\NoHyper\cite{#1}%
    }{%
      % Citation
      \fullcite{#1}\vspace{5pt}%
    }%
  }

  \let\std@blx@printbibliography\printbibliography
  \renewcommand\printbibliography[1][]{%
    \gdef\ecv@blx@table{}% Init the list of items
    \std@blx@printbibliography[#1]% Add items to list
    \ecv@blx@table\\% Print the list of items
  }
\makeatother

% Heading
\defbibheading{bibliography}[\bibname]{\textbf{#1}\vspace{-10pt}}

you can use biblatex bibliogaphy with biber support.

I know that not all the options of biblatex will work, but the most important one work and it's a first step towards biblatex support.

Here there is an example: https://www.overleaf.com/read/tsbkgvvfyydp

Add a command for Matrix

Here I reported another suggestion received via mail by Antonios Tsolomitis.

I think you must provide a command for Matrix (matrix.org) and its client Riot and not only Skype. Technology such as Matrix is the future I think. Because people must be free to have their own video-conference servers as the have their own email servers.

don't need "updated ..." - line

I used your template "cv_template_en.tex".
I don't need the "Updated " line at the beginning of the pdf (see picture). How can I delete this?
dont_need_updated

I tried to change the "ecvde.def"-file (in my CV german version).
Original:
\def\ecv@date{\ecv@utf{Aktualisiert auf \today}}
My changes:
\def\ecv@date{}

After that, sure "Updated " is not shown. But there is a big gap.
without_updated

I then changed the .tex-file:
\begin{europecv}
\vspace{-4cm}
\ecvpersonalinfo[20pt]
\ecvitem{\large\textbf{Desired employment/ Occupational~field}}{\large\textbf{(Remove if not relevant)}}

But the gap is still to big...

Insert tiled in urls

If I insert a tilde (~) in the homepage url:
\ecvhomepage{https://www.dei.unipd.it/~peressonid}
it is treated like a nbsp and so not showed: https://www.dei.unipd.it/ peressonid which address to: https://www.dei.unipd.it/%5Cprotect %5Cunhbox %5Cvoidb@x %5Cprotect %5Cpenalty %5C@M %5C %7B%7Dperessonid.

If I escape it with \~{} (\ecvhomepage{https://www.dei.unipd.it/\~{}peressonid}) the following error is raised:

! Incompatible list can't be unboxed.
\SOUL@analyze ->{\setbox \z@ \vbox {\unvcopy \z@ 
                                                 \unskip \unpenalty \global ...
l.24   \end
           {europasscv}
? 

I managed to get the right address using url escape: \ecvhomepage{https://www.dei.unipd.it/\%7Eperessonid}, but the output is ugly.

Package can't find logo PDF

Hello! I found out about this package today and I like it so far, it has Romanian i18n which I love...
...except it fails for even a basic project.

To be exact, when I compile this MWE using XeLaTeX:

\documentclass[english, arial]{europecv}
\usepackage{graphicx} % Required to draw the logo

% Because the Arial option somehow doesn't work, but that's besides this issue.
\usepackage{fontspec}
\setmainfont{Arial} 

\ecvdate{ \today}
\begin{document}
\begin{europecv}
  \ecvpersonalinfo
\end{europecv}
\end{document}

LaTeX tells me:

ERROR: Unable to load picture or PDF file 'europasslogo.pdf'.

--- TeX said ---
<to be read again> 
                   }
l.12 \begin{europecv}
                     
--- HELP ---
No help available

Of course, using nologo works just fine. I took a look in europecv.cls in my version, here's the relevant bit I want to focus on:

% Europass logo
\DeclareOption{logo}{%
\providecommand*\draweuropasslogo{%
   \includegraphics[width=\ecv@logowidth]{europasslogo}}
}
\DeclareOption{nologo}{\renewcommand*\draweuropasslogo{}}

% Flag pictures of the EC can be found at
%   http://europa.eu.int/abc/symbols/emblem/index_en.htm
\DeclareOption{noflag}{\providecommand*\draweuropeflag{}}
\DeclareOption{flagWB}{%
  \renewcommand*\draweuropeflag{%
    \includegraphics[width=\ecv@flagwidth]{EuropeFlagWB}}
}
\DeclareOption{flagBW}{%
  \renewcommand*\draweuropeflag{%
    \includegraphics[width=\ecv@flagwidth]{EuropeFlagBW}}
}
\DeclareOption{flagCMYK}{%
  \renewcommand*\draweuropeflag{%
    \includegraphics[width=\ecv@flagwidth]{EuropeFlagCMYK}}
}
\DeclareOption{flagBlueCMYK}{%
 \renewcommand*\draweuropeflag{%
   \includegraphics[width=\ecv@flagwidth]{EuropeFlagBlueCMYK}}
}

The strange part is that all of the flag options work (flagBlueCMYK, flagCMYK, flagBW and flagWB and, ofc, noflag). If I do a rpm -ql texlive-europecv | grep pdf (so I get the PDFs available in my distro's package), I get this:

$ rpm -ql texlive-europecv | grep pdf
/usr/share/texlive/texmf-dist/tex/latex/europecv/EuropeFlagBW.pdf
/usr/share/texlive/texmf-dist/tex/latex/europecv/EuropeFlagBlueCMYK.pdf
/usr/share/texlive/texmf-dist/tex/latex/europecv/EuropeFlagCMYK.pdf
/usr/share/texlive/texmf-dist/tex/latex/europecv/EuropeFlagWB.pdf
/usr/share/texlive/texmf-dist/tex/latex/europecv/europasslogo.pdf

So the file is DEFINITELY present, all EuropeFlag*.pdf work and yet it simply refuses to load the logo.

Details:

  • Fedora 35
  • sudo dnf list | grep texlive-europecv:
texlive-europecv.noarch                                                                  9:svn59162-48.fc35                                               @updates
texlive-europecv-doc.noarch                                                              9:svn59162-48.fc35                                               updates
  • tex --version:
TeX 3.141592653 (TeX Live 2021)
kpathsea version 6.3.3
Copyright 2021 D.E. Knuth.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the TeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the TeX source.
Primary author of TeX: D.E. Knuth.
  • xelatex --version:
XeTeX 3.141592653-2.6-0.999993 (TeX Live 2021)
kpathsea version 6.3.3
Copyright 2021 SIL International, Jonathan Kew and Khaled Hosny.
There is NO warranty.  Redistribution of this software is
covered by the terms of both the XeTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the XeTeX source.
Primary author of XeTeX: Jonathan Kew.
Compiled with ICU version 69.1; using 69.1
Compiled with zlib version 1.2.11; using 1.2.11
Compiled with FreeType2 version 2.11.0; using 2.11.0
Compiled with Graphite2 version 1.3.14; using 1.3.14
Compiled with HarfBuzz version 2.8.2; using 2.9.1
Compiled with libpng version 1.6.37; using 1.6.37
Compiled with pplib version v2.05 less toxic i hope
Compiled with fontconfig version 2.13.94; using 2.13.94

Thank you for your time and if you need more relevant info, tell me!

Consistence between profile and saved CV in the library

The data I entered and I currently see in the profile page are updated, while if I load the CV that is currently in my library, the version is different. How can I make them consistent? Is there a way to make them automatically sync, so that when I update the former the latter is updated, too, and vice-versa?

Serious forward compatibility problems

The recent release of europecv.cls introduced unnecessary forward compatibility problems

  1. by adding a second mandatory argument to \ecvtelephone. Old documents now fail to compile with

Runaway argument?
! Paragraph ended before \ecvtelephone was complete

It's probably too late now, but this problem could have been circumvented by making the new phone number a second optional argument (or using keyval). But note that the documentation needs updating.

  1. by silently dropping \ecvfax which results in LaTeX errors of old documents as well

  2. by renaming \ecvsection without introducing a backwards compatibility alias (\let\ecvsection\section)

All these changes make it hard to maintain documents. Particularly, as a LyX developer, I am quite at a loss regarding the question how we can keep up maintenance of this class for LyX, since our layout files should work for users who still use TeXLive 2017 and older distributions as well.

only mobile number

I used your template "cv_template_en.tex".
I only have a mobile number, no normal telefone-number. Up to now I used the "telephone"-definition for my mobile phone number.
I like your changes. It would be nice to only define a mobile number:
mobile_number

Is this possible?

Optional "Updated" date

This issue is similar to:
#4

The feature that writes the update date at the top of the CV is not optional. It should be optional since sometimes one doesn't want future employers to know the last time the CV was updated.
My manual workaround was to edit the europecv.cls file, commenting line 420, the one that calls for the date to be written.

To make the feature optional, line 420 can simply be wrapped in a IF controlled by a global option but, unfortunately, I lack the skills to do it.

I think (?) EuropeCV will fail when new LaTeX2e is released

Thank you very much for your work on this package, Giuseppe, and for taking over after Nicola's work!

First, I should say I don't know much about LaTeX, so my notes below could be incorrect.

LaTeX2e is going to release a new version in a few days. TeX Live kindly provides a way to easily test the upcoming release: instead of using pdflatex (or friends), we can use pdflatex-dev. The following simple example succeeds when using pdflatex but fails with pdflatex-dev on an updated TeX Live 2022 system:

\documentclass[nologo]{europecv}

\begin{document}

\begin{europecv}{}

\ecvpersonalinfo{}{}

\end{europecv}{}

\end{document}

Here is the log file: mwe.log

From what I understand, this might be happening because europecv.cls uses \RequirePackage{hyperref} inside \AtBeginDocument. It is suggested here that:

In general it's a bad idea, hence dangerous, to load any package with \AtBeginDocument. Whether such use case works or not totally depends on the implementation of package and I doubt if it's ever officially supported.

As for why this is an issue only with the upcoming release and not the current release, I'm not sure but it might be described by the most recent LaTeX News issue (see the part about "Fixed bug when setting hook rules for one-time hooks").

`europasslogo.pdf` does not work with XeTeX

The file europasslogo.pdf has incorrect offsets, which prevents it from being read by more strict programs, like dvipdfmx (used internally by XeTeX). Hence the following fails:

% test.tex
\XeTeXpdffile {europasslogo.pdf} width \hsize \relax

\bye
$ xetex test.tex
This is XeTeX, Version 3.141592653-2.6-0.999994 (TeX Live 2022) (preloaded format=xetex)
 restricted \write18 enabled.
entering extended mode
(./test.tex
! Unable to load picture or PDF file 'europasslogo.pdf'.
<to be read again>
                   \relax
l.2 ...file {europasslogo.pdf} width \hsize \relax

? h
The requested image couldn't be read because
it was not a recognized image format.

?

Note that after I ask for help with h the error is more specific, but not completely correct.

The issue is that in the PDF file the offsets to PDF objects are all wrong by a couple of bytes. I didn't investigate whether this is because of incorrect handling of binary data or end of lines or something else.

mutool or qpdf can be used to fix the issue. E.g. this invocation of mutool keeps most of the human readability of the PDF file. My output attached for reference.

mutool clean -d europasslogo.pdf europasslogo.pdf

The issue may be present in more files, but I found this thanks to @llde's original report here: tectonic-typesetting/tectonic#921.

I am fairly sure that 3fe8f19 from #27 is essentially the same issue - the PDF file could be found, but not processed. Hence I think that unspecifying the extension would allow PS centric workflows to use .eps file and PDF centric workflows use .pdf file directly. (Currently e.g. when running XeTeX each run the .eps file is converted using ghostscript to PDF, because XeTeX can't process .eps files directly.)

Below is my suggestion for the fix, but its largely untested (because of the begindocument sorting rule error) and not thorough (maybe the same issue is in other files, I didn't check).

diff --git a/europasslogo.pdf b/europasslogo.pdf
index 53f1721..61b6cd8 100644
--- a/europasslogo.pdf
+++ b/europasslogo.pdf
@@ -1314,15 +1314,15 @@ endobj
 xref
 0 10
 0000000000 65535 f
-0000033487 00000 n
-0000000016 00000 n
-0000033281 00000 n
-0000033347 00000 n
-0000033632 00000 n
-0000033567 00000 n
-0000033594 00000 n
-0000033715 00000 n
-0000033846 00000 n
+0000033485 00000 n
+0000000015 00000 n
+0000033279 00000 n
+0000033345 00000 n
+0000033630 00000 n
+0000033565 00000 n
+0000033592 00000 n
+0000033713 00000 n
+0000033844 00000 n
 trailer
 <<
 /Size 10
@@ -1331,5 +1331,5 @@ trailer
 /ID [<5bb2a8ac5de76fd7a41a0d69aa22822b><5bb2a8ac5de76fd7a41a0d69aa22822b>]
 >>
 startxref
-33913
+33911
 %%EOF
diff --git a/europecv.cls b/europecv.cls
index 0b84e54..d8b52c7 100644
--- a/europecv.cls
+++ b/europecv.cls
@@ -261,7 +261,7 @@
 % Europass logo
 \DeclareOption{logo}{%
 \providecommand*\draweuropasslogo{%
-   \includegraphics[width=\ecv@logowidth]{europasslogo.eps}}
+   \includegraphics[width=\ecv@logowidth]{europasslogo}}
 }
 \DeclareOption{nologo}{\renewcommand*\draweuropasslogo{}}

Please update documentation on how to use unicode engines and fontspec

It is now common to use Lualatex or xelatex. While both can fall back to operate as the traditional latex engine, there is advantage in using their ability to fully support unicode and to use system (otf, ttf) fonts.

Would be good to have some notes in the documentation on how to best use these engines and fonspec.

LaTeX hooks Error

Hi,
on GuIT (italian TUG's forum) there is a report of an error message.

Below a mwe:

\documentclass{europecv}
\begin{document}
\begin{europecv}
\end{europecv}
\end{document}

Below the error message on console:

! LaTeX hooks Error: Sorting rule for 'begindocument' hook applied too late.
(hooks)              Try setting this rule earlier.

For immediate help type H <return>.
 ...                                              
                                                  
l.360 ...begindocument}{showkeys}{before}{nameref}

l.360 refers to nameref.sty file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.