Simulation-Software-Engineering / Lecture-Material

Material for the Simulation Software Engineering Lecture
Creative Commons Attribution 4.0 International
45 stars 45 forks source link

Lecture Slides as PDf #10

Closed Ovakefali13 closed 2 years ago

Ovakefali13 commented 2 years ago

Hey There,

For me personally it would be great to have the slides as PDF, so that I'm able to import them into my OneNote and maybe add some personal annotations to them. I just cloned the Git Repo and was able to create them using pandoc, but since I had some struggle with pandoc when I was starting, maybe it would be a good Idea to have the created PDFs inside the repo? I suggest something for example having a PDFs folder inside the topic folders where these PDFs could be found.

Just an idea/suggestion

uekerman commented 2 years ago

Hi!

Importing in OneNote and annotating is certainly a good use case, which I had not in mind. Still, I am a bit hesitant to upload the pdfs to the repository. You can't git diff a PDF :wink: This would give duplicated content.

Small solution: explain how to use pandoc instead. Obviously, you need pandoc, but you also need Latex for that.

pandoc -t beamer -V linkcolor:blue -V fontsize=10pt -s intro_slides.md -o slides.pdf

gives decently formatted slides, not very beautiful though.

pandoc -V geometry:left=1in -V geometry:right=1in -V geometry:bottom=1in -V geometry:top=1in -V linkcolor:blue -V fontsize=10pt -s intro_slides.md -o print.pdf

gives a compact DIN A4 version, good if you want to print.

Where did you struggle exactly? (We will teach / work with pandoc in the documentation chapter)

Proper solution

Implement a GitHub action that generates the PDFs.

Let's keep this issue open till we have the proper solution.

Btw, hedgedoc can also convert slides to PDF (I just found out): example

ajaust commented 2 years ago

Thanks for opening this issue!

I support the pandoc approach. :smile: You can get a bit closer to the style of the slides from the lecture by setting the aspect ration to 169 and use bigger fonts:

pandoc -t beamer -V aspectratio=169 -V linkcolor:blue -V fontsize=14pt -s intro_slides.md -o slides.pdf

Regarding the "beauty" one could also provide a pandoc template for the slides. However, to have a quick solution the hedgedoc or the pandoc commands by @uekerman should be enough. I also assume that a white background would be nicer for taking notes?!

ajaust commented 2 years ago

Just an addition. If you want to have a more common format for printing etc. I would recommend specifying the page size as a4paper.

pandoc -V geometry:a4paper -V geometry:left=2.5cm -V geometry:right=2.5cm -V geometry:bottom=2.5cm -V geometry:top=2.5cm -V linkcolor:blue -V fontsize=10pt -s intro_slides.md -o print.pdf

This gives less trouble if one actually wants to print it some time for example. The default size is US letter which is not common in Germany (Europe?). Whether you use inch in or centimeters cm for the margins, is up to you.

Ovakefali13 commented 2 years ago

Ok, yeah I see the issue with the DIFF of pdfs and this is a good reason against such a solution. Your suggested solution would be much better, and wouldn't that just be a script that runs through all the folders and generates the PDFs with the given command you gave.

For me I used pandoc in the last semesters and had some trouble installing it and using it together with latex, which is why I thought it would be a good to have the pdfs at least until we cover pandoc in class. But I guess with the tutorial above and some help of the people who have used it and might find solutions to misconfigurations etc. I have simply used the pandoc filename.md -o output path command, but I guess I will use the commands you suggested in order to get the beauty of the slides back :-)

P.s. My OneNote is in DarkMode (as everything should be xD) so the dark background is fine since I write with a white pen.

Ovakefali13 commented 2 years ago

Ok, so I tested the given command

pandoc -t beamer -V aspectratio=169 -V linkcolor:blue -V fontsize=14pt -s intro_slides.md -o slides.pdf

It worked on the intro_slides.md of version control like a charm. Note: This command wouldn't work for the overview.md file (, which in my case is no issue since I don't want to import those into my OneNote).

uekerman commented 2 years ago

This command wouldn't work for the overview.md file

Yes, overview.md does not have the ---, which splits slides.

Your suggested solution would be much better, and wouldn't that just be a script that runs through all the folders and generates the PDFs with the given command you gave.

Yes, and then providing the PDFs somewhere as an artifact. Here, I am not sure yet what the best solution could be.

ajaust commented 2 years ago

I plugged together something quickly in #11. It is not perfect yet, but it is at least something. The action creates an artifacts in a slides.zip. The action configuration needs some cleaning (too much copy and paste), but it works. I did not try to make the output more beautiful yet though.

Ovakefali13 commented 2 years ago

How does this action work, I mean how are the current slides created. How can we run the action in order to get the current files (last were from last week)?

ajaust commented 2 years ago

The PR #11 currently has two issues:

Ovakefali13 commented 2 years ago

Ah I see, I forgot, that this PR is not yet merged to main. Sorry for the confusion. I will just use pandoc then :-)