Hallo,
ich will Coole PDFs erstellen mit LaTeX. Das ist hier aber nicht Thema
Und dabei will ich meinen Schachpartien bei Lichess (im PGN Format) automatisch in ein LaTeX freundlichen Text umwandeln. Soweit der Hintergrund.
Nun bin ich kein Programmierpro. Hab aber schon mal was von Variablen, Schleifen, read, cut und awk gehört. Bin bereit mich einzuarbeiten, kann aber nicht abschätzen ob das mit Debian Boardmitteln überhaupt geht (vermutlich ja, sonst würde ich hier nicht posten). Daher ganz konkret die Frage, was muss ich machen um aus File 1 File 2 herauszubekommen. Und das idealerweise immer wieder mit anderen Quellen:
So sieht File 1 aus:
Code: Alles auswählen
[Event "Casual Bullet game"]
[Site "https://lichess.org/3gUXHQ4q"]
[Date "2021.12.12"]
[... Text gekürzt]
[Opening "English Opening: Symmetrical Variation, Symmetrical Variation"]
[Termination "Normal"]
1. c4 c5 2. Nc3 Nc6 3. g3 g6 4. Bg2 Bg7 5. e3 e6 6. Nge2 Nge7 7. O-O O-O 8. d4 a6 9. d5 exd5
10. cxd5 Nb4 11. e4 c4 12. a3 Nd3 13. Be3 b5 14. b3 Qa5 15. b4 Qc7 16. Bd4 d6 17. Bxg7 Kxg7
18. Nd4 Bg4 19. f3 Bd7 20. Qd2 Nc8 21. Rfd1 Nb6 22. Bf1 Ne5 23. Kg2 Rad8 24. h3 Qc8 25. Kh2 f5
26. f4 Nf7 27. Bg2 Nh6 28. e5 dxe5 29. fxe5 f4 30. g4 Bxg4 31. hxg4 Nxg4+ 32. Kh1 Ne3 33. Rg1 Qc7 34. Ne6+ 1-0
Code: Alles auswählen
\begin{animateinline}[autoplay,loop]{1}%
\currentboard
\newframe\hidemoves{1.c4}%
\currentboard
\newframe\hidemoves{1... c5}%
\currentboard
\newframe\hidemoves{2. Nc3}%
\currentboard
\newframe\hidemoves{2... Nc6}%
\currentboard
\newframe\hidemoves{3.g3}%
\currentboard
\newframe\hidemoves{3... g6}%
\currentboard
\newframe\hidemoves{4.Bg2}%
\currentboard
\newframe\hidemoves{4... Bg7}%
\currentboard
\newframe\hidemoves{5.e3}%
\currentboard
\newframe\hidemoves{5... e6}%
\currentboard
\newframe\hidemoves{6.Nge2}%
\currentboard
\newframe\hidemoves{6... Nge7}%
\currentboard
\newframe\hidemoves{7.O-O}%
\currentboard
\newframe\hidemoves{7... O-O}%
\currentboard
\newframe\hidemoves{8.d4}%
\currentboard
\newframe\hidemoves{8... a6}%
\currentboard
\newframe\hidemoves{9.d5}%
\currentboard
\newframe\hidemoves{9... exd5}%
\currentboard
\newframe\hidemoves{10.cxd5}%
\currentboard
\newframe\hidemoves{10... Nb4}%
\currentboard
\newframe\hidemoves{11.e4}%
\currentboard
\newframe\hidemoves{11... c4}%
\currentboard
\newframe\hidemoves{12.a3}%
\currentboard
\newframe\hidemoves{12... Nd3}%
\currentboard
\newframe\hidemoves{13.Be3}%
\currentboard
\newframe\hidemoves{13... b5}%
\currentboard
\newframe\hidemoves{14.b3}%
\currentboard
\newframe\hidemoves{14... Qa5}%
\currentboard
\newframe\hidemoves{15.b4}%
\currentboard
\newframe\hidemoves{15... Qc7}%
\currentboard
\newframe\hidemoves{16.Bd4}%
\currentboard
\newframe\hidemoves{16... d6}%
\currentboard
\newframe\hidemoves{17.Bxg7}%
\currentboard
\newframe\hidemoves{17... Kxg7}%
\currentboard
\newframe\hidemoves{18.Nd4}%
\currentboard
\newframe\hidemoves{18... Bg4}%
\currentboard
\newframe\hidemoves{19.f3}%
\currentboard
\newframe\hidemoves{19... Bd7}%
\currentboard
\newframe\hidemoves{20.Qd2}%
\currentboard
\newframe\hidemoves{20... Nc8}%
\currentboard
\newframe\hidemoves{21.Rfd1}%
\currentboard
\newframe\hidemoves{21... Nb6}%
\currentboard
\newframe\hidemoves{22.Bf1}%
\currentboard
\newframe\hidemoves{22... Ne5}%
\currentboard
\newframe\hidemoves{23.Kg2}%
\currentboard
\newframe\hidemoves{23... Rad8}%
\currentboard
\newframe\hidemoves{24.h3}%
\currentboard
\newframe\hidemoves{24... Qc8}%
\currentboard
\newframe\hidemoves{25.Kh2}%
\currentboard
\newframe\hidemoves{25... f5}%
\currentboard\\
\newframe\hidemoves{26.f4}%
\currentboard
\newframe\hidemoves{26... Nf7}%
\currentboard
\newframe\hidemoves{27.Bg2}%
\currentboard
\newframe\hidemoves{27... Nh6}%
\currentboard
\newframe\hidemoves{28.e5}%
\currentboard
\newframe\hidemoves{28... dxe5}%
\currentboard
\newframe\hidemoves{29.fxe5}%
\currentboard
\newframe\hidemoves{29... f4}%
\currentboard
\newframe\hidemoves{30.g4}%
\currentboard
\newframe\hidemoves{30... Bxg4}%
\currentboard
\newframe\hidemoves{31.hxg4}%
\currentboard
\newframe\hidemoves{31... Nxg4+}%
\currentboard
\newframe\hidemoves{32.Kh1}%
\currentboard
\newframe\hidemoves{32... Ne3}%
\currentboard
\newframe\hidemoves{33.Rg1}%
\currentboard
\newframe\hidemoves{33... Qc7}%
\currentboard
\newframe\hidemoves{34.Ne6+}%
\currentboard
\end{animateinline}