Implementace citací #38
No reviewers
Labels
No labels
ksp-implementace
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: KSP/formatitko#38
Loading…
Reference in a new issue
No description provided.
Delete branch "citace"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Jednoduchá implementace citací.
Nevím přesně, jak citace v pandocu fungují, ale přijde mi, že nechceme mít implementaci, která náhodně vytváří odkazy někam do zbytku dokumentu, nad kterým nemáme kontrolu -- ale pokud se chceme starat o citace, asi bychom měli mít.
Pokud se naučíme tu část dokumentu, do které tyhle odkazy vedou taky generovat, nepřijde mi to jako špatná implementace.
Na druhou stranu by se mi asi daleko více líbila (čistě graficky) implementace podobnější tomu, co dělá Wikipedie, aby za citovaným místem byl třeba horní index s číslíčkem v hranatých závorkách (nebo něco podobného). Nepřijde mi hezké (pokud to chápu správně) mít celou citaci, která může být dlouhá, jako odkaz.
Also also, pokud chceme používat citace, měli bychom si je zapnout tady.
Moje chápání tohoj, jak pandoc funguje:
Když si řekneš o citaci, tak na dané místo vloží
Cite
obsahující rozumně nagenerovaný text uvnitř.Na konec souboru nebo tam, kde dáš
::: {#refs}\n:::
ti pak vloží seznam citací.Jako já tomu také moc nerozummím, ale z mého pozorování mi přišlo, že pandoc umí docela slušně parsovat
.bib
soubory a myslím, že byh mělo být hodně nastavitelné, jak přesně věci formátuje (ale s tím jsem si ještě moc nehrál). Osobně bych tedy rád implementaci udržel co nejejdodužší a co nejvíce práce nechal na pandocu, který je v tom docela dobrý a vzhledem k tomu, že to asi stejně nikdo nebude potřeba, nemá smysl na tom pálit moc času.Ta část dokumentu, kam verdou nám vygeneruje pandoic a bohužel ani moc neoznačí, že tam něco je. Moc tedy nevím, co s tím.
Doufám, že přesně toto jde nastavit zvnějšku.
Jo chtělo, nějak mi nedošlo, že je něco potřeba, protože tuto část kódu nějak vynechávám. ;D
Osobně by mi dávalo smysl, aby toto vše bylo nastgavitelné parametry programu s tím, že default bude citace nedělat, ale jinak půjdou zadat \pm stejné věci, co umí pandoc.
Dává to za tebe nějak takto smysl?
Tady mi dává smysl, abychom si od pandocu nenechali vyrábět elementy, které neumíme dál vygenerovat. Pokud se je naučíme alespoň generovat, nevidím důvod, je nemít zapnuté. (Ano může se to teoreticky hodit, pokud máš nějakou divokou syntaxi vlastníoh markdownu a nechceš, aby ti ji pandoc sežral, některé fíčury vypínat, ale to mi přijde trochu out of scope toho, co má commandlinová verze formátítka sama umět)
Tedy platí, že v contentu toho
Cite
u je jen nějaká zkratka (MAREŠ - Průvodce
) a to, kam to pak ukazuje obsahuje celou citaci? V takovém případě mi to nepřijde špatné. Uměl bys udělat nějaký example, jak to bude vypadat?https://kam.mff.cuni.cz/~jirikalvoda/past_zapoctak/
Zdrojový markdown je zde:
https://gitlab.kam.mff.cuni.cz/jirikalvoda/binary-paint-shop-problem/-/blob/master/zapoctak-past/index.md
Implementaci volání pandocu najdeš na řádku 157 zde:
https://gitlab.kam.mff.cuni.cz/jirikalvoda/binary-paint-shop-problem/-/blob/master/zapoctak-past/static_web.py
Jo jasně, ty musíš ještě nějak umět tomu pandocu předhodit bib soubor, :fn:🇬🇧, přidávám si issue.
dc48cd411c
Moc mi není jasně, co tu provádíš, resp. jak by to mělo fungovat.
Aby citace funogovaly, musíš při nejmenším pandocu říct, odkud má tahat metadata. To dělám pomocí
["-C", "--bibliography="+bibliography]
. Naopaknput_format="markdown-definition_lists-citations-latex_macros"
finálně ani nepotřebuješ.Tvoje nimplementace naopak vlastně jen řekne pandocu, aby naparsoval citace a už s nimi nic nedělal, což by se hodilo, pokud bychom to chtěli dělat sami (což nechceme).
Pro vstup:
https://kam.mff.cuni.cz/~jirikalvoda/priv/ab45a37a3b9b2b8506cce0f158a099/index.md
Získáš:
https://kam.mff.cuni.cz/~jirikalvoda/priv/bd04de7dfa5170ee12fde3d11cf07f/a.html#ref-glim_gr
Přemíšlím, jestli nezavézt obecný mechanismus, jak pandocu předávat parametry.
Alternativně můžeme říct, že je náĺ to vlastně jedno a že citace budou jen když používáš pandocv jako knihovnu (což mi osobně stačí a nevím, jestli to někdo jiný využije).
Ok, sorry, myslel jsem si, že to je podstatně jednodušší. Ale asi to chceme někdy umět.