Je voulais juste demander si quelqu'un connaît un filtre court pour Pandoc pour ajouter automatiquement des notes de bas de page à des liens. Je veux juste avoir une source de liaison lisible dans mes documents imprimés.
Donc, pour spécifier, je voudrais aller de à quelque chose comme p> donc dans le fichier pdf imprimé de l'URL des liens Je fais référence à, devrait être visible au bas de la page. p> p>
3 Réponses :
ESSAYER
import Text.Pandoc.JSON main = toJSONFilter go where go (Link attr lab (src, tit)) = Span ("",[],[]) [Link attr lab (src, tit), Note [Plain [Str src]]] go x = x
Merci, je ne savais pas que c'était aussi facile. J'aimerais aussi avoir les liens toujours là, mais vous ne pouvez pas tout avoir :)
Votre deuxième édition ne semble pas fonctionner, le premier lien se répète encore encore et encore: Imgur
J'ai édité et utilisé une approche différente - encore non testée (je suis loin d'un environnement où je peux tester cela).
Notez que dans le nouveau PANDOC, la définition de l'élément de liaison a changé, vous devez donc remplacer link Lab (src, tit) code> avec
link autoratoire (src, tit) code>, et il travaux.
Une alternative au fait de le faire avec des filtres Pandoc, comme dans John MacFarlane Réponse serait de Utiliser latex Pour cela, créant un fichier Le code de la latex pourrait ressembler à ceci (comme non testé), basé sur Heiko Oberdiek répond à Générer automatiquement la liste de \ URL code> USAGES dans le document Question sur Tex & Latex Stackexchange: P> Je pense que l'URL code> est automatiquement inclus par Pandoc; Sinon, vous auriez besoin d'ajouter Notez que le lien de la note de bas de page dans la solution ci-dessus utilise La réponse John MacFarlane peut être tout simplement modifiée pour le faire: P> *. TEX code> et y compris celui-ci par exemple via
-h code> /
- Inclure-en-tête code> option
PANDOC CODE>.
\ upepackage {url} code> en haut du code ci-dessus. p>
\ URL {
_ code> dans l'URL (je ne sais pas si Pandoc s'échappe pour le latex ou non), et pas de problèmes avec une pause de ligne respectueuse de l'URL Manipulation de très longues URL. P>
import Text.Pandoc.JSON
main = toJSONFilter go
where go (Link alt desc (url, title)) = Span ("",[],[]) [Link alt desc (url, title), Note [Plain [Link alt [Str url] (url, "")]]]
go x = x
La solution suivante fournit exactement ce que l'OP a demandé (et ce dont j'ai besoin) avec aucun filtre fort>. Partout où vous avez un lien dans votre document, il conserve le lien, ajoute une note de bas de page, et dans la note de bas de page, une URL complète. Cette solution vous oblige à modifier le modèle de latex, cependant. P> Si vous n'avez pas déjà copié le modèle par défaut quelque part, faites-le maintenant en utilisant trouver La section suivante Votre modèle (qui est présent A > Dans le modèle par défaut): p> et le remplacer par p> puis exécutez Pandoc comme Il y a quelques modifications que vous pouvez faire. Si vous êtes fatigué d'écrire Étape 1 (facultatif, si vous avez déjà un modèle de latex personnalisé) h1>
Pandoc -D latex code> et sauvegarde Cette sortie à un fichier, peut-être
template.latex code>, que je vais utiliser comme un nom d'exemple pour le reste de ceci. p>
étape 2 h1>
pandoc - V LIENS-AS-NOTES --TEMPLATE = template.latex document.md -o document.pdf code>. Vous avez terminé! P>
Étape 3 (facultatif) h1>
-v links-as-notes code>, vous pouvez soit: p>
Liens-AS-Notes: true code> à votre document YAML Metadata ou li>
$ si (links-as-notes) $ code> et correspondant
$ endif $ code> à partir de votre modèle. LI>
ul>
Références H1>