Spørsmål:
Bruker noen PGN faktisk '%' (escape) eller ';' (resten av linjen kommentar) mekanismer?
Remellion
2020-01-28 17:56:28 UTC
view on stackexchange narkive permalink

Tråling gjennom PGN-standarden, jeg ble overrasket over to av spesifikasjonene:

En rømningsmekanisme utløst av % kode> ved starten av en ny linje:

Det er en spesiell fluktmekanisme for PGN-data. Denne mekanismen utløses av et prosenttegnetegn ("%") som vises i den første kolonnen på en linje; dataene på resten av linjen ignoreres av offentlig tilgjengelig PGN-skanningsprogramvare. Denne fluktkonvensjonen er ment for privat bruk av programvareutviklere og forskere til å legge inn ikke-PGN-kommandoer og data i PGN-strømmer.

Et prosenttegn som vises på et annet sted enn den første posisjonen i en linje, gjør ikke utløse rømningsmekanismen.

En kommentar "resten av linjen" initiert av semikolon ; :

Kommentartekst kan vises i PGN-data. Det er to typer kommentarer. Den første typen er "resten av linjen" -kommentaren; denne kommentartypen starter med semikolon og fortsetter til slutten av linjen. [...]

De overrasket meg fordi jeg aldri har møtt dem i noen PGN-er jeg har funnet "i naturen", for å si det sånn. Har noen møtt PGN-er der disse (rømningsmekanismen eller semikolonkommentarer) brukes?

To svar:
Ellie
2020-01-28 23:08:54 UTC
view on stackexchange narkive permalink

Du kan bruke prosenttegnet til å kommentere en tekstlinje i PGN-filen din ( ligner på Latex). Hvis du for eksempel vil inkludere personlige kommentarer som kategoriserer spillene i databasen, for eksempel % Games for å studere senere . Alle slike linjer som starter med % tolkes ikke av en PGN-parser, så du kan trygt legge igjen selvnotater eller andre kommentarer (som du kanskje vil analysere senere i en script) i en PGN-database.

Et eksempel på en slik PGN-fil:

 % Interessante spill fra Wijk aan zee1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. d3 d6 5. c3 a6 6. Ba4 Be7 7. OO OO 8. Re1Re8 9. Nbd2 Bf8 10. h3 b5 11. Bc2 Bb7 12. d4 g6 13. a3 Nb8 14 . d5 c6 15. c4 Nbd716. a4 Qc7 17. b3 Rec8 18. Ra2 bxc4 19. bxc4 a5 20. Nf1 Ba6 21. Ne3 Nc5 22. Nd2cxd5 23. cxd5 Rab8 24. Ba3 Qd8 25. Qf3 h5 26. Raa1 Bh6 27. Rab1 Rxb1 28. Rxb1Kg7 29. Nef1 h4 30. Ne3 Bf4 31. Nef1 Qc7 32. g3 hxg3 33. fxg3 Bh6 34. h4 Qd7 35.Kg2 Nxa4 36. Bxa4 Qxa4 37. Bxd6 Qd4 38. Qf2 Qxf2 + 39. Kxf2 Bxf1 0-1% Caro-Kann-spill :1. e4 c6 2. Nf3 d5 3. Nc3 Bg4 4. h3 Bxf3 5. Qxf3 Nf6 6. Be2 e6 7. OO dxe4 8.Nxe4 Nxe4 9. Qxe4 Nd7 10. d4 Nf6 11. Qd3 Qc7 12. Rd1 Be7 13. c4 OO 14. Be3 Rfd815. Qb3 Rd7 16. Bf3 Rad8 17. a3 h6 18. g3 b6 19. Kg2 c5 20. Qc3 a5 21. Rac1 cxd422. Bxd4 Ne8 23. h4 Bf6 24. Bxf6 Nxf6 25. b4 axb4 26. axb4 Rxd1 27. Rxd1 Rxd128. Bxd1 Kf8 29. Bf3 Ke7 30. c5 bxc5 31. bxc5 Kf8 32. Qb4 Ne8 33. Qb6 Qe5 34.Bc6 Ke7 35. Bxe8 Kxe8 36. c6 Qd6 37. Kg1 g5 38. h5 f5 39. Qb7 Qd1 + 40. Kg2 Qd5 +41. Kh2 Qd4 42. Kg1 Qd1 + 43. Kg2 Qd5 + 44. Kh2 Qd4 45. Kg1 1 / 2-1 / 2  

Du kan eksperimentere med dette ved å laste inn PGN-filen (som ovenfor) på for eksempel chesstempo for å fornuftig sjekke analyseringen, og se at disse linjene faktisk blir ignorert riktig.


Når det gjelder merknader og bruk av semikolon, se dette svaret av Andrew.

Kort sagt, semikolonet er en annen måte å indikere flyttkommentarer på, men det er ikke effektivt, da det krever å inkludere overflødige tegn og linjekontakter per kommentar, for eksempel:

  1. d4; lukket system 1 ... d5 2. c4 

i stedet for 1. d4 {lukket system} d5 2. c4 . Og semikolon-notasjonen støttes sjelden av PGN-parsere. Så bruk av krøllete parenteser {} anbefales alltid, da det er godt støttet, enkelt og intuitivt å bruke og mindre utsatt for feil i notasjonen.

Jeg forstår allerede hvordan disse fungerer ganske enkelt fra å lese dokumentasjonen. Jeg er mer interessert i hvor ofte disse brukes i praksis - litt om at semikolon sjelden støttes er interessant. (Jeg forbereder meg faktisk på å skrive min egen parser og vil vite hva den skal være i samsvar med, så kjørte jeg på disse tingene.)
@Remellion * hvor ofte * kan egentlig ikke besvares meningsfullt, da disse tingene pleier å være et stilstilstand. Personlig bruker jeg `%` veldig ofte for å legge til metainformasjon i databasene mine og tilpasse dem (som forslagene i svaret mitt), og jeg bruker det også mye til å sende kommenterte PGN-filer til elevene mine, og klassifisere spillene for dem og inkluderer spørsmåls- / øvingsuttalelser i PGN-filen, for eksempel: "% Finn posisjonsfeilene av hvitt i dette spillet." Jeg gjør det samme når jeg forbereder åpninger for en student og ikke vil kommentere for mye, så jeg bruk kommentarer til å diskutere planer.
Greit nok; men fornuftig anekdotisk bevis er nok til å overbevise meg om at det er bruk for disse tokens. Og derfor at jeg trenger å analysere disse riktig. >. <
PhishMaster
2020-01-28 22:42:55 UTC
view on stackexchange narkive permalink

Jeg vet ikke om semikolonet, ettersom ChessBase ikke ser ut til å bruke det, men basert på standarden, kan det være en eller annen ting, og alle har nettopp valgt seler, {}, når de programmerer.

På den annen side brukes prosenttegnet regelmessig av ChessBase før bevegelsene til et kommentert spill, og noen ganger også i kommentarene. Jeg kommer ikke til å gi hele spill siden de er opphavsrettsbeskyttet, men hvis du går til Mega2020, og klikker på "Annotated Games", velger du et spill, og deretter klikker du Hjem> Kopier spill, og limer det inn i Notisblokk, vil du finne at de fleste, om ikke alle, har noe sånt som det som er nedenfor før du flytter en. Jeg har ikke funnet en som ikke har det, men jeg kommer ikke til å gjøre dette i mange tusen spill bare for å være positiv.

Jeg aner ikke hva det hele betyr, men dette kan være det du snakker om. Hvis ikke, vennligst kommenter, så sletter jeg svaret mitt.

{[% evp 17,89, -32,13, -6,21, -7,12, -12,30,10, 24, -7,20, -20,27,12,27, -19,0, -30,33,0,0, -56, -20, -86,17,6,17,0,27, - 52, -32, -59,62, -86,10, -2,48,0,47,34,53,0,8,0,124,66,141,72,227,206,535,535,751,746,748,748,740,740,742,745,736,740,800,801,29988,29989,29989,29990,29990,29982, 29991,29980]} 1. e4 c5 2. Nc3 Nc6 3. Nge2 g6 4.d4 cxd4 5. Nxd4 Bg7 6. Nb3 Nf6 7. Be2 d6 8. OO OO 9. Re1 b6 {etcetera - PhishMaster}

Her var et annet eksempel med tider.

{[% evp 0,9,32,32,13, -10, -5,6,25,35,23,7]} 1. d4 {[% emt 0:00:03]} d5 {[% emt 0:00:28]} 2. c4 {[% emt 0:00:08]} e6 {[% emt 0:00:00]} 3. Nc3 {[% emt 0:00:07]} c5 {[% emt 0:00:05]} 4. cxd5 {[% emt 0:00:09]} exd5 {[% emt 0:00:19 ]} 5. dxc5 {[% emt 0:00:05]} d4 {[% emt 0:04:20]} 6. Na4 {[% emt 0:00:07]} Bxc5 {[% emt 0:04 : 40]}

Prosentvis bruk av tegn du oppgir, er ikke det jeg beskriver i spørsmålet. (Ikke slett svaret!) Det du fremhever er en slags standard for [motorkommentar i kommentarer] (http://www.talkchess.com/forum3/viewtopic.php?f=7&t=72019&start=10#p814723 ) eller [tidsinformasjon i kommentarer] (https://www.enpassant.dk/chess/palview/enhancedpgn.htm).
@Remellion Det er derfor jeg vanligvis ikke svarer på denne typen spørsmål, men spørsmålet ditt så så "ensomt" ut etter å ha vært oppe i 5+ timer uten svar. :) Jeg antar at jeg ikke helt forsto forskjellene, men visste at jeg hadde sett% brukt mange ganger.
Det ene spørsmålet jeg stilte og virkelig ønsker svar ble ubesvart i 7 måneder, og fikk nylig nylig et delvis svar av ... meg. Som ikke engang er det fulle svaret jeg ønsker. Det er greit å ha ubesvarte spørsmål her. Uansett,% -tegnet i svaret ditt er i en avstivningskommentar, og altså ikke fluktmekanismen jeg refererte til, men det fremhever en interessant "løsning" av den eldgamle standarden for å inkludere ytterligere tolkbar informasjon i kommentarene.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 4.0-lisensen den distribueres under.
Loading...