sinaatalay / rendercv

A LaTeX CV/Resume Framework
http://docs.rendercv.com
MIT License
724 stars 63 forks source link

Option to switch order and bold/italic to Position and Company fields #45

Closed andrea-gasparini closed 3 months ago

andrea-gasparini commented 4 months ago

First of all thanks a lot for the great project!

When adding a new entry in the Experience section of my cv I usually prefer to put more emphasis on the role I have than on the name of the company, as it is on the moderncv theme (Position field first and in bold, Company field second).

image

The other themes work the other way around, so if I want to use the classic theme I have to switch the values of the Position and Company fields to get the same result:

image

instead of the original setting:

image

I feel like it would be nice to have an option to simply choose the order of the two fields and have it consistent when one switches theme.

sinaatalay commented 4 months ago

Thank you for the compliment and the idea!

I agree; it would be nice to have this feature. I have an idea about how to approach this and will implement it in the next releases. I will comment on this issue again when I decide how this feature will look on the user side.

And for now, as a quick solution, you could use NormalEntry and in the name field, type the company and position manually with Markdown syntax. Even though the documentation shows only the date field, you can use start_date and end_date with NormalEntry as well.

andrea-gasparini commented 4 months ago

I agree; it would be nice to have this feature. I have an idea about how to approach this and will implement it in the next releases. I will comment on this issue again when I decide how this feature will look on the user side.

Nice, thank you for taking it into consideration. Let me know if you need any help on that, I'd be glad to work on it.

sinaatalay commented 4 months ago

Thank you! When it's clear how to approach this, I will let you know.

sinaatalay commented 3 months ago

Hello, after thinking about this, I decided not to implement this feature due to the reasons below:

But I implemented the following:

Please comment on this issue if you think I am missing something. Thank you for the issue and ideas!

sinaatalay commented 3 months ago

Oh, sorry, after thinking about it even more, I realized there might be a very great way of doing this, which might make RenderCV a lot more powerful.

If you are willing to implement it, that would be greatly appreciated.

Here is what's on my mind:

Each theme of RenderCV is actually a folder with these files:

├── classic
│   ├── Preamble.j2.tex
│   ├── Header.j2.tex
│   ├── EducationEntry.j2.tex
│   ├── ExperienceEntry.j2.tex
│   ├── NormalEntry.j2.tex
│   ├── OneLineEntry.j2.tex
│   ├── PublicationEntry.j2.tex
│   ├── TextEntry.j2.tex
│   ├── SectionBeginning.j2.tex
│   └── SectionEnding.j2.tex

Each file corresponds to either a RenderCV entry type or a specific part of the $\LaTeX$ CV code. So, let's say you would like to see the position field before the company field in the ExperienceEntry type. Then, you would need a different ExperienceEntry.j2.tex file. For cases like this:

A user should be able to create this folder next to the RenderCV input file.

├── classic
│   └── ExperienceEntry.j2.tex
└── Your_Full_Name_CV.yaml

Then RenderCV should assume: "User provided the classic theme's ExperienceEntry.j2.tex file, so I should overwrite the default experience entry with this one".

This feature would make RenderCV an actual $\LaTeX$ CV framework. Also, it should be very straightforward to implement.

Also, this addresses exactly your point, @c2tz.

c2tz commented 3 months ago

Yes, that's what's currently used on Hugo's papermod theme and also on material mkdocs in a "overrides" folder.

I also find that papermod plays a lot on this and it brings a real plus in terms of customisation compared to other themes which are quite limited.

As for the implementation, I'll leave that up to you 🫡

I've switched back to overleaf for the moment because I use latexlua to have certain things a bit different (compilation date and time with TZ UTC+1, .latexmkrc and above all fontspec which is much simpler).

But the idea is very good

sinaatalay commented 3 months ago

Hello, everyone; it turns out the current code base already has this feature. I accidentally implemented it for custom themes. You can override the themes as discussed above. Also, @c2tz, you can now run lualatex with rendercv==1.6.

c2tz commented 3 months ago

Hello, everyone; it turns out the current code base already has this feature. I accidentally implemented it for custom themes. You can override the themes as discussed above. Also, @c2tz, you can now run lualatex with rendercv==1.6.

Super cool, I'll be testing this soon