Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better \cvskill #7

Open
rhagenson opened this issue Oct 17, 2019 · 4 comments
Open

Better \cvskill #7

rhagenson opened this issue Oct 17, 2019 · 4 comments

Comments

@rhagenson
Copy link
Owner

I much prefer the cvskill as used in AltaCV

\usepackage{xcolor}
\newcommand{\cvskill}[2]{%
\textcolor{emphasis}{\textbf{#1}}\hfill
\foreach \x in {1,...,5}{%
  \space{\ifnumgreater{\x}{#2}{\color{body!30}}{\color{accent}}\ratingmarker}}\par%
}
\colorlet{accent}{awesome}
\colorlet{heading}{black}
\colorlet{emphasis}{black}
\colorlet{body}{black!80!white}
\newcommand{\itemmarker}{{\small\textbullet}}
\newcommand{\ratingmarker}{\faCircle}

Usage:

\cvskill{English}{2}

Prints as a bold English followed by as much whitspace as possible (\hfill then 2 circles with same color as awesome (same color used throughout the CV), then 3 gray circles. Allows rating a skill on a Likert scale with 5 levels.

@rhagenson
Copy link
Owner Author

Due to the format of AwesomeCV as opposed to AltaCV, this would need to be modified to exist in a grid of \cvskills environment so that defining multiple skills in sequence does not result in lines with only one skill entry on them.

@rhagenson
Copy link
Owner Author

rhagenson commented Oct 17, 2019

Alternatively, it might be useful to provide a way to label skills with proficiency level (1-5) then as these are read in they are put into a growing environment (similar to how the header was incrementally built) then a \printskills command produces the "Advanced"-"Intermediate"-"Familiar" levels that I use now (levels 5-3-1 are covered so would need to create headers for 4-2).

Another alternative (choices, got to love them): Organize classes of skills in order of proficiency so:

\cvskill{Computational}{Languages}{Python}{6}
\cvskill{Computational}{Languages}{R}{8}

gets formatted to a sort of:

  • Programming
    • Langauges
      • R > Python > ...

so skills are ordered in proficiency level within their category.

@rhagenson
Copy link
Owner Author

See: https://tex.stackexchange.com/questions/6988/how-to-sort-an-alphanumeric-list for how to possible handle the sorting. It uses the datatool package which implements some SQL-esque features and allows building a DB to then process later in the doc.

@rhagenson
Copy link
Owner Author

Alternative design:

\definecolor{white}{RGB}{255,255,255}
\definecolor{gray}{HTML}{4D4D4D}
\definecolor{maingray}{HTML}{B9B9B9}

\newcommand\skills[1]{ 
    \begin{tikzpicture}
        \foreach [count=\i] \x/\y in {#1}{
            \draw[fill=maingray,maingray] (0,\i) rectangle (6,\i+0.4);
            \draw[fill=white,gray](0,\i) rectangle (\y,\i+0.4);
            \node[above right] at (0,\i+0.4) {\x};
        }
    \end{tikzpicture}
}

used as:

\skills{{b/2}}
\skills{{a/1}}

to approximate the skills of Twenty Seconds CV

I would want the fill part of the bar graph to use the awesome color, which is set by the user via \colorlet{awesome}{<chosen color>}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant