 Alright, our next talk will be in German, those if you would like to listen to it in English, there is the live translation available. Also for this lecture you have the opportunity to ask your questions on Mastodon, on ISC, on Twitter, think on the appropriate hashtag R3C for the remote chaos experience and R3S so that it can also be assigned to this lecture. Our speaker for the next lecture is Therese Gier. She is a physicist and was very happy with her presentation software and therefore wrote her presentation software, the Potato Presenter, to make things better than the Beamer Package by Latech. Welcome. Thank you. As I said, in the last months I wrote my own presentation software. This is the program when you open it. The basic idea was to make a new presentation here so that you have a text input on the left side and on the right side it is shown directly and you can move it freely. For example, if I put a new photo here and write something here on this title, then I can move it freely afterwards. That was the basic idea. In the first part of the presentation I will show you how this program works. In the second part I will then go into questions like how to design it, how it is possible for the user intuitively. If you want to have it, you can use this basic idea. When I open it here, I get the suddenly opened files. Here I can also select a favorite template. There is a demo presentation here and it opens at the point where I want to save it. Here I can also change the directory, so I will do my presentation. That's why I made it a bit as a tutorial. This template is used here. You can also use variables here, for example the title for an interactive tutorial. Then you can write it here directly if I put the title page here. Here I write class title page, then I get the title page. I have already shown the basic concept. You can tap in here and it will then render it directly to the photo and then you can move it freely here. The commands are very easy to hold. You can create a new slide, then you need an id, a name. Here in this case the basic concept 2. If I want to have a title now, I can simply enter title on the left side. If I don't enter anything, he takes the id from the side. If I enter something, he takes it. With the command body I can create a new text field and with the command image a new image. Then I can move my elements here. I have already shown that before. If I want to rotate it, I can also rotate it. You can use the buttons here in the toolbar. Then I can rotate it. Then I can scale it. By the way, it is surprisingly difficult to get to the point where you can scale it when it is turned. If I want to have my basic concept here, I can mark it on a rotated field. There is the reset rotation. Then he makes it back. If I reset it, it also makes it back to the starting position. In addition, I have a connection between the preview and the editor. If I click somewhere here, he jumps into the preview director and then marks it right away. Then it has to make some formatting. I have built in basic markdown support here in these body elements. Then you can make things fat with two stars or cosy with other scores. Or you can also... Here is a marker definition. If you take one star, you will get this marker definition. Then you have a simple form support here. With a dollar sign or two dollar sign for the next row. Where you can write the form here. Now it is a bit of a problem. Maybe there are people who want to have a bit more than just the markdown. That's why I thought about it. Because I have different elements here, maybe these CSS are very good. These properties. On the other hand, people already know that. I then implemented them for the different elements. If you have the command in the corner columns, you can write these CSS properties. For example, background orange makes an orange background. Or green text. Color queen. Or you can also change the font size. The border radius. The basic things are implemented. It is not the whole CSS implemented. It is very big. And now there are still people who want to have even more. Because now I still have the problem. So popular colors. Within a box it will be a bit difficult with the markdown and the CSS. That's why I thought about it. Then there is this latex box. I can write popular things there. And then I just convert it to latex and write it there. When you see it, it is usually so that you do not need a markdown to define these elements. But there are here the poorly written markdowns to make it clear that this is all part of the box. Because the latex has a lot of commands. The bad latex would then be the parser. It would then be recognized as internal potato language and not as latex. That's why you have to make this claimant there. And then I also defined this plain text box here. That's exactly the opposite. If you don't want to do anything with markdowns, when a markdown is interpreted, you can just use it and then you get exactly how you entered it. Then I wrote a code box here. Then you can enter a popular language. In this case, pipe. And then you use the highlighting of the pipe to set this code here on the right. You can also do something else here. This is from Karl's syntax highlighting. So he also has a lot of languages. Then you just enter it here and then you mark it. Exactly. What many people also want to do is to set some shapes in your file or maybe make a box. For that I have this geometry command. And there is not so much at the end. So just the basic stuff. And you can also change the color of it. And then you just mark it there. Now it can be that you want to have even more. It's not enough for someone to make the files and then he wants to have his own shape in his presentation. And that's why I thought about this. Then you can put a new image here. I have made the border on solid here so that you can see it. And you can do that in popular pages. And then you can click on right click here. And then on create SVG and open in Inkscape. And then you just need it a little bit. Then you generate a new SVG with exactly the pages. And then you can make your favorite shape here. Your favorite image. You can just save it. No, that's file save. And then if you go back again, then you automatically load it. So he has a file watcher on it who then looks if this SVG that he just created has also changed and then just loads it afterwards. Exactly. Now there are still individual variables that you can define. You have seen a few above. But I can now, for example, the set was tomato potato. And when I then use that later here on the file, I wrote here, the tomato is a tomato. And then he uses the potato because I defined that earlier. Just like that, I can here the current date is in date. I get a variable date again. It is automatically set. It's not so nicely formatted now, but you can also set it personally. Then he has the page number as page number variable and as total pages. And then you can change the default properties. And what I mean by that is you can write color red here and then I'm done with red. And then I'm back on black law or gray. Exactly. And yes, that was actually what I wanted to show you from my program. Yes, you can download it from here. Exactly. And as I said, at the end, if you have your presentation ready, then you can export PDF here and then you can select where you want to save your presentation. So, for example, there and then just open it with your PDF viewer. I can also do it briefly. Where is it now? Is it there? Or maybe it's not there. I saved it now. There it is. There is my presentation and I can just present it with my PDF viewer. Exactly. And now comes a little bit the second part of the project and there I went with such a thought about what to talk about that I had at the beginning this idea that on the one hand you have this text input and then with the mouse interactive the presentation can be manipulated and how I then implemented it, as I design the syntax and how I make it as intuitive as possible for the user so that I can save it. Exactly. And I wanted to talk about that in the second part. Exactly. So first I wanted to talk about the syntax then how I implemented it. The problem is a little bit when I have a element on the left of my software in the editor, then it has to give a mapping to the right side. The software has to know that this element is in there and that is there and there. And to do that every box or every element has an identifier and I would like to talk about that. Then it is that right now from templates I want to somehow give the opportunity and then there is a predefined position where the elements should be or predefined letters or for example the color or so. Exactly. And for that I have this class as a concept. I will go on to that. And in the end I will tell you shortly, because I did not use the technology then I will do a little bit of advertising for my software for which advantages it has and what I have in the future to implement. Exactly. And of course I thought maybe it's always good. Exactly. And similar to Latech because I thought that the people already know it so they feel comfortable. It's nice when it looks similar. Exactly. Then markdown in the text elements also because it's very easy and that people already know it and it's not complicated exactly. And as I said, then I thought in the corner corners you can preferably format your elements as you want to have them. And that's why these CSS properties because these elements are always these boxes fits well. And what came out at the end is part of this syntax that I have these key words slide title body image and then simply write the text after. And I just tried to do that so to speak. As I said, there are these optional typed columns, but that you can just do it without any reference signs or anything else that can be written. Simply because it's very easy for the user and transparent. Then I put it out it's not that easy to pause. But too late. Exactly. And then you can write a markdown here and then to your image. Then exactly now is the next task that I have already mentioned that I have these elements that I have created in my text form and then I have the position of the elements that are not in my text file and I need it somehow mapped. And then I thought that every box has a clear ID. And my first idea was to say, if you create a new element here then you just have to write id double.mybox and then you just have to think about it for every box. The problem is that you don't have it's okay to use it but you don't have the desire to write it down. So it still works that you write the id there but it's not so practical. The second idea was just a counter. So I just number my elements through. The problem is that you also change the position because you have the counter of the box in front of you. So it's not so practical. And what I did is that I went through a middle path. I just put an id that is a middle path for both. So at the beginning it always says the internal and then the slide id when you create a new file then the command that you used to create the element so in this case it would be the bad text. Then the class of the object if you don't have a class so I'll tell you later it's empty and then the counter at the end if there are still elements and then when I have a text element and a picture in my text editor the position changes then nothing changes and only when I change two text fields then the position changes then you just have to push it with your hand. But that doesn't happen so often. And the format that I gave was that there is this text file that is shown in the editor and it is just .potato suitable for a potato presenter and in this there is this syntax that we give ourselves and additionally in the background there is this JSON file that is automatically saved you can also look at it for example for this text box there is the id has internal myslide myslide text because it was created class is body and then it has zero and there is the position of the box and the angle in which it turned and you can just read and when I save it is written in there and and now I thought about I'm not happy with my id yet because exactly these problems that I just told and there was the idea that even if you put the foil there is always a conversion process that once when I press the whole starts to pass the whole text input and then the elements accordingly to paint and in this step you can just check the similarity and in most cases I will only have something tipped so that you have moved the two elements or exchanged then also excluded and I still have to implement there is not so and then I just thought again how does the user actually create a presentation and probably also without this CSS properties because it is somehow not so nice and actually the user would like to use a template and then with simple commands create a good presentation and only in individual cases then also push something around or enter this CSS properties that means if I enter it now then I just want to so maybe I am already satisfied and and exactly and then when I can move the picture I can still move it but it should work like this and and how I wanted to reach was with this class concept and the idea was that these classes that present the full position and formation so where is it and how it looks like so once the CSS properties they can be taken over and that this class can be defined in a template and I can then load the template exactly with this command that I have already shown use template template and then you just use the title position of the box of the boxes as I have defined in the template this template there is only template because it is automatically copied into the folder that's why it's called template exactly so you could also enter a path into the template exactly and then I can also present elements like page number that is always right in the corner that I don't have to enter so it's it's automatically printed exactly then I can also with the define class property define slides that look like for example here I have used the class title page and in the template it says how it looks and in this case for example here in this case the title is large in the middle and not small like on the other pages it's always up here and exactly that is again on the title page it looks different the title field on the other page and then it was a bit of a consideration now I have defined classes in my template and now the user has to come up with the idea how to use it all and then the idea was that you have this preview that will be opened when you click on it I will now create a new presentation then he has the template in the background but at the same time he already had a few previews where you can see how it is defined which classes are defined which folios and then you can simply attach exactly and then it will be directly in the folder that you have chosen copied and the demo will be opened and then there is a bit of the question I now have a few syntax shortcuts in here so for example text class body is the same as bad body and the text class title is the same as title now it's a bit of the question that doesn't exist yet whether it should be the same and the question is how far you can go I would also like to write your opinion in the chat it's a difficult question because it's very easy to enter body and title but maybe the user doesn't come up with the text class title the same title but it's a question how far you can go now there is a bit of a problem because I have the same elements on my presentation which should be in the same position and then there is the pause command as with latex that is exactly what is happening here there is a slight pause on the left and I can do the same for these classes in my presentation I can use the property list define class my element and then use it on a different photo with class my element what have I used for technology on the one hand c++ with the Qt framework the ktext editor on the left for the pause I have used the antlr4 that works very well for this potato language and for the markdown it was a bit difficult I think it has something to do with the definition of the markdown that it is very spongey what it is defined and what it should mean maybe a karmatik is not suitable for that then I have used the latex for the formulas it starts in the background in my latex conversion process and then simply adds the svg into the presentation and in the end I have used the brace icons now a bit of a rebound for what is so great about my tool it has a very simple data format which can be read by both people that means I can use it very easily because yes and what is also very useful is that I don't have a concept of a processing mode of the boxes and a shift mode I can't predict whether I just want to shift the element I can't get into this mode that I'm actually adding text and anyway it is quite easy to use some templates it automatically generates these page numbers or here when I entered it in the template a small icon in the add curls no problem and still I can move my elements according to lust and laune and now I have some future plans if you have any ideas what you can use as a technology I would also like to say on the one hand I would like to use a new SVG renderer I use the QSVG renderer from Qt but it works so he can somehow imagine all SVGs how they look in inkscape and I would like to look at a new one that I can use then with the element I also use the Q Painter from Qt to generate the PDFs I'm not 100% happy with it because it is a little undefined but now the image in the PDFs 1 to 1 with the PIXMAP renderer or the PNG in the background it is a little difficult to say from the outside maybe you can see it with the Q Painter with the Formal Support it is a little bit difficult I don't know if I have seen something but it is a bit weird because I don't know if I have my SVG from the Latech I don't know where the baseline is I don't get it and then it is a little difficult to build it so that it looks good I've built it but I'm not very happy with it then long-term there will probably be open window support just to get more users and then there is a very long list of new features so one of the inner features is that you can set different sections so that it as in Latech, which is also possible also writes the different sections then there was a idea that you can use the PIP-Tech and that it automatically makes the sources and the list is relatively long but if you also have new ideas please yes exactly thank you for listening and maybe you want to try it out I've built an app image here on the internet I've built it under a Ubuntu 18 it doesn't run everywhere but you can also build it yourself exactly, I hope you try it out don't happen thank you very much for your presentation really good people in the network would like to know where do the templates come from and who is taking care of them at the moment there is a list of these templates that I've built myself there are not many at the moment I will also build that in the next time I've built it all myself and everyone is there it's still a very small project we haven't done anything yet thank you for the answer in which data format would you like to talk about it yes, when I save something for example I have here when I'm here on my presentation this is the one I've created then you can see there is the My Presentation Potato and the My Presentation Jason these are the two data formats this is my own data format in which it says what is on the left on the left side in the editor and on the other is the Jason data and then here in the folder the template is automatically copied that is in the same format ok, thank you then you are asked is there a possibility to blend all the elements yes, there is that is in the template when I'm here I can from here I have this I can open it this is my presentation that I've just shown and here are the header which is defined in the template I don't add them here yes and the template you can just edit when I open it here I have defined this is the page I've defined as default it will be applied when I haven't added anything else the font size is bigger and here I have this element defined on each side just like the page numbers and this section that is a variable that I can easily set ok, thank you then you are asked is the program for scientific application like inline-latech or mudjacks yes, there is this inline-latech so here there is what I've just shown so I can write a p here then it needs then it does it so it starts in the background, in the latech and then it adds it so it works ok then people would like to know if the generated PDF is suitable for screen reader it probably comes on the screen reader so it's a PDF the qpdf generated I think it will be enough for the PDF standard thank you and then there was a lot of praise and not too many new features to be built it's probably not a bad not a bad idea in that sense thank you very much for your lecture and also for answering all the questions yes yes of course you can give feedback also to this in the planning and now I wish you a lot of fun with an edition of the C3 news show