-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Pandoc User's Manual in French
pandoc
[options] [input-file]…
Pandoc est une bibliothèque Haskell pour la conversion d'un format de balisage à un autre, et un outil de ligne de commande qui utilise cette bibliothèque.
Pandoc peut convertir entre de nombreux formats de balisage et de
traitement de texte, y compris, mais sans s'y limiter, diverses saveurs
de Markdown,
HTML,
LaTeX et Word
docx. Pour les listes
complètes des formats d'entrée et de sortie, voir les options
--from
et
--to
ci-dessous. Pandoc peut aussi produire du
PDF en sortie : voir Créer un PDF
ci-dessous.
La version améliorée de Markdown de Pandoc comprend la syntaxe pour les tables, les listes de definitions, metadata blocks, notes de bas de page, citations, math, et bien plus encore. Voir ci-dessous sous Pandoc’s Markdown.
Pandoc a une conception modulaire : il se compose d'un ensemble de lecteurs, qui analysent le texte dans un format donné et produisent une représentation native du document (un arbre syntaxique abstrait ou AST), et d'un ensemble d' "auteurs", qui convertissent cette représentation native en un format cible. Ainsi, l'ajout d'un format d'entrée ou de sortie ne nécessite que l'ajout d'un lecteur ou d'un rédacteur. Les utilisateurs peuvent également exécuter des filtres pandoc pour modifier l'AST intermédiaire.
Comme la représentation intermédiaire d'un document de pandoc est moins expressive que de nombreux formats entre lesquels il est converti, il ne faut pas s'attendre à des conversions parfaites entre chaque format et tous les autres. Pandoc tente de préserver les éléments structurels d'un document, mais pas les détails de formatage tels que la taille des marges. Et certains éléments du document, tels que les tableaux complexes, peuvent ne pas correspondre au modèle de document simple de Pandoc. Alors que les conversions de Pandoc's Markdown vers tous les formats aspirent à être parfaites, on peut s'attendre à ce que les conversions de formats plus expressifs que Pandoc's Markdown soient perdues.
Si on ne spécifie pas de fichiers en entrée, l'entrée est lue sur
stdin. La sortie par défaut est stdout. Pour envoyer la sortie vers
un fichier, utiliser l'option
-o
:
pandoc -o output.html input.txt
Par défaut, pandoc produit un fragment de document. Pour produire un
document autonome (par exemple un fichier HTML valide comprenant <head>
et <body>
),
utiliser l'option
-s
ou
--standalone
:
pandoc -s -o output.html input.txt
Pour plus d'informations sur la manière dont les documents autonomes sont produits, voir Modèles ci-dessous.
Si plusieurs fichiers d'entrée sont donnés, pandoc
les concaténera tous (avec des lignes
blanches entre eux) avant de les analyser (utiliser
--file-scope
pour analyser les dossiers individuellement).
Le format de l'entrée et de la sortie peut être spécifié explicitement à
l'aide d'options de ligne de commande. Le format d'entrée peut être
spécifié à l'aide de l'option
-f/--from
option, le format de sortie en utilisant l'option
-t/--to
.
Ainsi, pour convertir hello.txt
de
Markdown à LaTeX, vous pourriez taper :
pandoc -f markdown -t latex hello.txt
Pour convertir hello.html
de HTML à
Markdown:
pandoc -f html -t markdown hello.html
Les formats d'entrée et de sortie pris en charge sont énumérés dans les
options Options (voir
-f
pour les formats d'entrée et
-t
pour
les formats en sortie). Vous avez aussi pandoc --list-input-formats
et
pandoc --list-output-formats
pour imprimer les listes des formats pris en charge.
Si le format d'entrée ou de sortie n'est pas spécifié explicitement,
pandoc
tentera de le deviner à partir des
extensions des noms de fichiers. Ainsi, par exemple,
pandoc -o hello.tex hello.txt
convertira hello.txt
de Markdown à LaTeX.
Si aucun fichier de sortie n'est spécifié (de sorte que la sortie passe
à stdout), ou si l'extension du fichier de sortie est inconnue, le
format de sortie sera par défaut HTML. Si aucun fichier d'entrée n'est
spécifié (de sorte que l'entrée provient de stdin), ou si les
extensions des fichiers d'entrée sont inconnues, le format d'entrée sera
supposé être Markdown.
Pandoc utilise le codage de caractères UTF-8 pour l'entrée et la sortie.
Si votre codage de caractères local n'est pas UTF-8, vous devez faire
passer l'entrée et la sortie par iconv
:
iconv -t utf-8 input.txt | pandoc | iconv -f utf-8
Notez que dans certains formats de sortie (tels que HTML, LaTeX,
ConTeXt, RTF, OPML, DocBook et Texinfo), l'information sur le codage des
caractères est incluse dans l'en-tête du document, qui ne sera inclus
que si vous utilisez l'option
-s/--standalone
.
Pour produire un PDF, il faut spécifier un fichier de sortie avec une
extension .pdf
:
pandoc test.txt -o test.pdf
Par défaut, pandoc utilisera LaTeX pour créer le PDF, ce qui nécessite
l'installation d'un moteur LaTeX (voir
--pdf-engine
ci-dessous).
Sinon, pandoc peut utiliser ConTeXt, roff ms ou HTML comme format
intermédiaire. Pour ce faire, il faut spécifier un fichier de sortie
avec une extension .pdf
, comme avant, mais
ajouter l'option
--pdf-engine
ou
-t context
,
-t html
,
ou
-t ms
à
la ligne de commande. L'outil utilisé pour générer le PDF à partir du
format intermédiaire peut être spécifié en utilisant
--pdf-engine
.
Vous pouvez contrôler le style PDF à l'aide de variables, en fonction du
format intermédiaire utilisé : voir variables pour
LaTeX, variables for
ConTeXt, variables for wkhtmltopdf
,
variables for ms. Lorsque le HTML est utilisé comme
format intermédiaire, la sortie peut être stylée en utilisant
--css
.
Pour déboguer la création du PDF, il peut être utile d'examiner la
représentation intermédiaire : au lieu de
-o test.pdf
,
utilisez par exemple
-s -o test.tex
pour exporter en LaTeX. Vous pouvez ensuite lancer la commande pdflatex test.tex
.
Lorsque vous utilisez LaTeX, les paquets suivants doivent être
disponibles (ils sont inclus dans toutes les versions récentes de TeX
Live): amsfonts
, amsmath
, lm
, unicode-math
,
ifxetex
,
ifluatex
,
listings
(si l'option
--listings
est utilisée), fancyvrb
, longtable
,
booktabs
,
graphicx
(si le document contient des images), hyperref
, xcolor
, ulem
, geometry
(avec
la variable geometry
positionnée), setspace
(avec
linestretch
), et babel
(avec lang
). L'usage de xelatex
ou de lualatex
comme moteur PDF nécessite fontspec
. xelatex
utilise polyglossia
(avec lang
), xecjk
, et bidi
(avec la
variabledir
positionnée). Si la variable
mathspec
est positionnée, xelatex
utilisera mathspec
au lieu
de unicode-math
.
Les paquages upquote
et microtype
sont
utilisés si disponibles, et csquotes
sera
utilisé pour la typographie si la variablecsquotes
ou le champ metadata est positionné à
Vrai. Les paquages natbib
, biblatex
, bibtex
, et biber
peuvent être
utilisés en option pour le rendu des citations.
Les paquets suivants seront utilisés pour améliorer la qualité de la
production s'ils sont présents, mais pandoc n'exige pas leur présence :
upquote
(pour des citations directes dans des environnements verbatim), microtype
(pour
de meilleurs ajustements d'espacement), parskip
(pour de
meilleurs espaces interparagraphe), xurl
(pour de
meilleurs sauts de ligne dans les URL), bookmark
(pour
de meilleurs signets PDF), et footnotehyper
ou footnote
(pour
permettre les notes de bas de page dans les tableaux).
Au lieu d'un fichier d'entrée, un URI absolu peut être donné. Dans ce cas, pandoc ira chercher le contenu en utilisant HTTP :
pandoc -f html -t markdown https://www.fsf.org
Il est possible de fournir une chaîne User-Agent personnalisée ou un autre en-tête lorsque l'on demande un document à partir d'une URL :
pandoc -f html -t markdown --request-header User-Agent:"Mozilla/5.0" \
https://www.fsf.org
-f
FORMAT, -r
FORMAT, --from=
FORMAT, --read=
FORMAT
Specify input format. FORMAT can be:
-
commonmark
(CommonMark Markdown) -
creole
(Creole 1.0) -
csv
(CSV table) -
docbook
(DocBook) -
docx
(Word docx) -
dokuwiki
(DokuWiki markup) -
epub
(EPUB) -
fb2
(FictionBook2 e-book) -
gfm
(GitHub-Flavored Markdown), or the deprecated and less accuratemarkdown_github
; usemarkdown_github
only if you need extensions not supported ingfm
. -
haddock
(Haddock markup) -
html
(HTML) -
ipynb
(Jupyter notebook) -
jats
(JATS XML) -
jira
(Jira wiki markup) -
json
(JSON version of native AST) -
latex
(LaTeX) -
markdown
(Pandoc’s Markdown) -
markdown_mmd
(MultiMarkdown) -
markdown_phpextra
(PHP Markdown Extra) -
markdown_strict
(original unextended Markdown) -
mediawiki
(MediaWiki markup) -
man
(roff man) -
muse
(Muse) -
native
(native Haskell) -
odt
(ODT) -
opml
(OPML) -
org
(Emacs Org mode) -
rst
(reStructuredText) -
t2t
(txt2tags) -
textile
(Textile) -
tikiwiki
(TikiWiki markup) -
twiki
(TWiki markup) -
vimwiki
(Vimwiki)
Les extensions peuvent être activées ou désactivées individuellement en
annexant +EXTENSION
ou -EXTENSION
au nom du format. Voir ci-dessous
Extensions, pour une liste des extensions et de leurs
noms. Voir
--list-input-formats
et
--list-extensions
,
ci-dessous.
-t
FORMAT, -w
FORMAT, --to=
FORMAT, --write=
FORMAT
Specify output format. FORMAT can be:
-
asciidoc
(AsciiDoc) orasciidoctor
(AsciiDoctor) -
beamer
(LaTeX beamer slide show) -
commonmark
(CommonMark Markdown) -
context
(ConTeXt) -
docbook
ordocbook4
(DocBook 4) -
docbook5
(DocBook 5) -
docx
(Word docx) -
dokuwiki
(DokuWiki markup) -
epub
orepub3
(EPUB v3 book) -
epub2
(EPUB v2) -
fb2
(FictionBook2 e-book) -
gfm
(GitHub-Flavored Markdown), or the deprecated and less accuratemarkdown_github
; usemarkdown_github
only if you need extensions not supported ingfm
. -
haddock
(Haddock markup) -
html
orhtml5
(HTML, i.e. HTML5/XHTML polyglot markup) -
html4
(XHTML 1.0 Transitional) -
icml
(InDesign ICML) -
ipynb
(Jupyter notebook) -
jats_archiving
(JATS XML, Archiving and Interchange Tag Set) -
jats_articleauthoring
(JATS XML, Article Authoring Tag Set) -
jats_publishing
(JATS XML, Journal Publishing Tag Set) -
jats
(alias forjats_archiving
) -
jira
(Jira wiki markup) -
json
(JSON version of native AST) -
latex
(LaTeX) -
man
(roff man) -
markdown
(Pandoc’s Markdown) -
markdown_mmd
(MultiMarkdown) -
markdown_phpextra
(PHP Markdown Extra) -
markdown_strict
(original unextended Markdown) -
mediawiki
(MediaWiki markup) -
ms
(roff ms) -
muse
(Muse), -
native
(native Haskell), -
odt
(OpenOffice text document) -
opml
(OPML) -
opendocument
(OpenDocument) -
org
(Emacs Org mode) -
pdf
(PDF) -
plain
(plain text), -
pptx
(PowerPoint slide show) -
rst
(reStructuredText) -
rtf
(Rich Text Format) -
texinfo
(GNU Texinfo) -
textile
(Textile) -
slideous
(Slideous HTML and JavaScript slide show) -
slidy
(Slidy HTML and JavaScript slide show) -
dzslides
(DZSlides HTML5 + JavaScript slide show), -
revealjs
(reveal.js HTML5 + JavaScript slide show) -
s5
(S5 HTML and JavaScript slide show) -
tei
(TEI Simple) -
xwiki
(XWiki markup) -
zimwiki
(ZimWiki markup) - the path of a custom Lua writer, see Custom writers below
Notez que les sorties odt
, docx
, epub
et,
pdf
ne sont pas dirigées vers stdout à
moins que vous le forciez avec
-o -
.
Les extensions peuvent être activées ou désactivées individuellement en
ajoutant +EXTENSION
ou -EXTENSION
au nom de format. Voir
Extensions ci-dessous, pour une liste des extensions et
de leurs noms. Voir
--list-output-formats
et
--list-extensions
ci-dessous,
-o
FILE, --output=
FILE
Ecrire la sortie vers FILE au lieu de stdout. Si FILE est -
, la sortie sera stdout, même si un format
non textuel (docx
, odt
, epub2
, epub3
) est spécifié.
--data-dir=
DIRECTORY
Indiquez le répertoire de données de l'utilisateur pour rechercher des
fichiers de données pandoc. Si cette option n'est pas spécifiée, le
répertoire de données utilisateur par défaut sera utilisé. Sur les
systèmes *nix et macOS ce sera le sous-répertoire pandoc
du répertoire de données XDG (par défaut,
$HOME/.local/share
, qu'on peut changer en
modifiant la variable d'environnement XDG_DATA_HOME
. Si ce répertoire n'existe pas,
$HOME/.pandoc
sera utilisé (compatibilité
ascendante). Dans Windows, le répertoire de données de l'utilisateur par
défaut est C:\Users\USERNAME\AppData\Roaming\pandoc
. Vous
pouvez trouver le répertoire des données de l'utilisateur par défaut sur
votre système en consultant la sortie de pandoc --version
. Un répertoire reference.odt
, reference.docx
, epub.css
, templates
, slidy
,
slideous
ou, s5
placé dans ce répertoire remplacera les
valeurs par défaut de pandoc.
-d
FILE, --defaults=
FILE
Indiquez un ensemble de paramètres d'options par défaut. FILE est un
fichier YAML dont les champs correspondent aux paramètres d'option de la
ligne de commande. Toutes les options de conversion de documents, y
compris les fichiers d'entrée et de sortie, peuvent être définies à
l'aide d'un fichier par défaut. Le fichier sera d'abord recherché dans
le répertoire de travail, puis dans le sous-répertoire defaults
du répertoire des données utilisateur
(voir
--data-dir
).
L'extension.yaml
peut être omise. Voir la
section Default files pour plus d'informations sur le
format du fichier. Les paramètres du fichier par défaut peuvent être
écrasés ou étendus par des options ultérieures sur la ligne de commande.
--bash-completion
Generate a bash completion script. To enable bash completion with
pandoc, add this to your .bashrc
:
eval "$(pandoc --bash-completion)"
--verbose
Donne une sortie de débogage bavarde. Actuellement, cela n'a d'effet
qu'avec une sortie PDF.
--quiet
Supprimer les messages d'avertissement.
--fail-if-warnings
Sortir avec le statut d'erreur s'il y a des avertissements.
--log=
FILE
Inscrire dans le FICHIER les messages de log au format JSON lisible par
la machine. Tous les messages dépassant le niveau DEBUG seront écrits,
quels que soient les paramètres de verbosité
(--verbose
,
--quiet
).
--list-input-formats
Liste les formats d'entrée pris en charge, un par ligne.
--list-output-formats
Liste les formats de sortie pris en charge, un par ligne.
--list-extensions
[=
FORMAT]
Liste des extensions prises en charge pour FORMAT, une par ligne,
précédée d'un + ou d'un - indiquant si elle est activée par défaut dans
FORMAT. Si FORMAT n'est pas spécifié, les valeurs par défaut pour le
Markdown de pandoc sont données.
--list-highlight-languages
Liste les langues prises en charge pour la coloration syntaxique, une
par ligne.
--list-highlight-styles
Liste les styles pris en charge pour la coloration syntaxique, un par
ligne. Voir
--highlight-style
.
-v
, --version
Imprimer la version.
-h
, --help
Afficher l'aide.
--shift-heading-level-by=
NUMBER
Décalage des niveaux de titres par un nombre entier positif ou négatif.
Par exemple, avec
--shift-heading-level-by=-1
les rubriques de niveau 2 deviennent des rubriques de niveau 1, et les
rubriques de niveau 3 deviennent des rubriques de niveau 2. Les titres
ne peuvent pas avoir un niveau inférieur à 1, de sorte qu'un titre qui
serait déplacé en dessous du niveau 1 devient un paragraphe ordinaire.
Exception : avec un décalage de -N, un titre de niveau N au début du
document remplace le titre des métadonnées.
--shift-heading-level-by=-1
is a good choice when converting HTML or Markdown documents that use an
initial level-1 heading for the document title and level-2+ headings for
sections.
--shift-heading-level-by=1
may be a good choice for converting Markdown documents that use level-1
headings for sections to HTML, since pandoc uses a level-1 heading to
render the document title.
--base-header-level=
NUMBER
Deprecated. Use
--shift-heading-level-by
=X
instead, where X = NUMBER - 1. Specify the base level for headings
(defaults to 1).
--strip-empty-paragraphs
Deprecated. Use the +empty_paragraphs
extension instead. Ignore paragraphs with no content. This option is
useful for converting word processing documents where users have used
empty paragraphs to create inter-paragraph space.
--indented-code-classes=
CLASSES
Préciser les classes à utiliser pour les blocs de code indentés, par
exemple, perl,numberLines
ou haskell
. Des classes multiples peuvent être
séparées par des espaces ou des virgules.
--default-image-extension=
EXTENSION
Indiquez une extension par défaut à utiliser lorsque les chemins
d'images/URL n'ont pas d'extension. Cela vous permet d'utiliser la même
source pour les formats qui nécessitent différents types d'images.
Actuellement, cette option ne concerne que les lecteurs Markdown et
LaTeX.
--file-scope
Analyser chaque fichier individuellement avant de les combiner pour des
documents de plusieurs fichiers. Cela permettra aux notes de bas de page
des différents fichiers ayant les mêmes identifiants de fonctionner
comme prévu. Si cette option est activée, les notes de bas de page et
les liens ne fonctionneront pas d'un fichier à l'autre. La lecture de
fichiers binaires (docx, odt, epub) implique
--file-scope
.
-F
PROGRAM, --filter=
PROGRAM
Spécifier un exécutable à utiliser comme filtre transformant le pandoc
AST après que l'entrée soit analysée et avant que la sortie soit écrite.
L'exécutable doit lire JSON à partir de stdin et écrire JSON dans
stdout. La JSON doit être formatée comme l'entrée et la sortie de la
JSON du pandoc. Le nom du format de sortie sera transmis au filtre en
tant que premier argument. De ce fait,
pandoc --filter ./caps.py -t latex
est equivalent à
pandoc -t json | ./caps.py latex | pandoc -f json -t latex
Cette dernière forme peut être utile pour le débogage des filtres.
Les filtres peuvent être écrits dans n'importe quelle langue. Text.Pandoc.JSON
exporte toJSONFilter
pour faciliter l'écriture des
filtres dans Haskell. Ceux qui préfèrent écrire des filtres en python
peuvent utiliser le module pandocfilters
,
installable à partir de PyPI. Il existe également des bibliothèques de
filtres pandoc dans PHP,
perlet,
JavaScript/node.js.
Par ordre de préférence, pandoc cherchera des filtres dans
-
un chemin complet ou relatif spécifié (exécutable ou non exécutable)
-
$DATADIR/filters
(exécutable ou non exécutable) où$DATADIR
est le répertoire des données des utilisateurs (voir--data-dir
ci-dessus, ). -
$PATH
(exécutable uniquement)
Les filtres et les Lua-filtres sont appliqués dans l'ordre indiqué sur la ligne de commande.
-L
SCRIPT, --lua-filter=
SCRIPT
Transformer le document de manière similaire aux filtres JSON (voir
--filter
),
mais en utilisant le système de filtrage Lua intégré à pandoc. Le script
Lua donné devrait renvoyer une liste de filtres Lua qui seront appliqués
dans l'ordre. Chaque filtre Lua doit contenir des fonctions de
transformation d'éléments indexées par le nom de l'élément AST sur
lequel la fonction de filtrage doit être appliquée.
Le module Lua de pandoc
fournit des
fonctions d'aide pour la création d'éléments. Il est toujours chargé
dans l'environnement du script Lua.
Voici un exemple de script Lua pour la macro-expansion :
function expand_hello_world(inline)
if inline.c == '{{helloworld}}' then
return pandoc.Emph{ pandoc.Str "Hello, World" }
else
return inline
end
end
return {{Str = expand_hello_world}}
Par ordre de préférence, pandoc cherchera des filtres Lua dans
-
un chemin complet ou relatif spécifié (exécutable ou non exécutable)
-
$DATADIR/filters
(exécutable ou non exécutable) où$DATADIR
est le répertoire des données des utilisateurs (voir--data-dir
ci-dessus, ).
-M
KEY[=
VAL], --metadata=
KEY[:
VAL]
Réglez le champ de métadonnées KEY sur la valeur VAL. Une valeur
spécifiée sur la ligne de commande remplace une valeur spécifiée dans le
document à l'aide de YAML metadata
blocks. Les valeurs seront analysées
comme des valeurs booléennes ou des chaînes de caractères YAML. Si
aucune valeur n'est spécifiée, la valeur sera traitée comme booléenne
true. Comme
--variable
,
--metadata
entraîne la définition de variables de modèle. Mais contrairement à
--variable
,
--metadata
affecte les métadonnées du document sous-jacent (qui est accessible à
partir de filtres et peut être imprimé dans certains formats de sortie)
et les valeurs des métadonnées seront échappées lorsqu'elles seront
insérées dans le modèle.
--metadata-file=
FILE
Lire les meta-données depuis le fichier YAML fourni (ou JSON). Cette
option peut être utilisée avec chaque format d'entrée, mais les balises
de texte dans le fichier YAML seront toujours analysées en tant que
Markdown. En général, l'entrée sera traitée de la même manière que dans
YAML metadata blocks. Cette option
peut être utilisée de manière répétée pour inclure plusieurs fichiers de
métadonnées ; les valeurs des fichiers spécifiés plus tard sur la ligne
de commande seront préférées à celles des fichiers précédents. Les
valeurs des métadonnées spécifiées à l'intérieur du document, ou en
utilisant
-M
,
écrasent les valeurs spécifiées avec cette option.
-p
, --preserve-tabs
Conservez les tabulations au lieu de les convertir en espaces. (Par
défaut, pandoc convertit les tabulations en espaces avant d'analyser sa
saisie). Notez que cela n'affectera que les tabulations dans les portées
de code littéral et les blocs de code. Les tabulations dans le texte
normal sont toujours traitées comme des espaces.
--tab-stop=
NUMBER
Précisez le nombre d'espaces par tabulation (par défaut, 4).
--track-changes=accept
|reject
|all
Précise ce qu'il faut faire des insertions, suppressions et commentaires
produits par la fonction "Suivi des modifications" de MS Word. accept
(par défaut), insère toutes les
insertions, et ignore toutes les suppressions . reject
insère toutes les suppressions et ignore
les insertions. Les deux accept
et reject
ignorent les commentaires. all
met en place des insertions, des
suppressions et des commentaires, enveloppés dans des "span" avec les
classes insertion
, deletion
, comment-start
, et comment-end
, respectivement. L'auteur et le
moment du changement sont inclus. all
est
utile pour le script : il n'accepte que les modifications d'un certain
réviseur, par exemple, ou avant une certaine date. Si un paragraphe est
inséré ou supprimé, track-changes=all
produces a span with the class paragraph-insertion
/paragraph-deletion
avant la rupture du
paragraphe concerné. Cette option ne concerne que le lecteur docx.
--extract-media=
DIR
Extraire les images et autres supports contenus dans le document source
ou liés à celui-ci vers le chemin DIR, en le créant si nécessaire, et
ajuster les références des images dans le document afin qu'elles
pointent vers les fichiers extraits. Si le format source est un
conteneur binaire (docx, epub ou odt), le média est extrait du conteneur
et les noms de fichiers originaux sont utilisés. Sinon, le support est
lu à partir du système de fichiers ou téléchargé, et les nouveaux noms
de fichiers sont construits sur la base des hachages SHA1 du contenu.
--abbreviations=
FILE
Spécifie un fichier d'abréviations personnalisé, avec des abréviations,
une par ligne. Si cette option n'est pas spécifiée, pandoc lira le
fichier de données abbreviations
du
répertoire des données de l'utilisateur ou se rabattre sur une valeur
par défaut du système. Pour voir la valeur par défaut du système,
utilisez pandoc --print-default-data-file=abbreviations
.
La seule utilisation que fait pandoc de cette liste est dans le lecteur
Markdown. Les chaînes de caractères se terminant par un point qui se
trouvent dans cette liste seront suivies d'un espace insécable, de sorte
que le point ne produira pas d'espace de fin de phrase dans des formats
comme LaTeX.
-s
, --standalone
Produire une sortie avec un en-tête et un pied de page appropriés (par
exemple un fichier HTML, LaTeX, TEI ou RTF autonome, et non un
fragment). Cette option est définie automatiquement pour les sorties
pdf
, epub
,
epub3
, fb2
,
docx
et, odt
. Pour une sortie native
, cette option entraîne l'inclusion de
métadonnées ; dans le cas contraire, les métadonnées sont supprimées.
--template=
FILE|URL
Utiliser le fichier spécifié comme modèle personnalisé pour le document
généré. Implique
--standalone
.
Voir Templates, ci-dessous, pour une description de la
syntaxe du modèle. Si aucune extension n'est spécifiée, une extension
correspondant à l'auteur sera ajoutée, de sorte que
--template=special
utilise special.html
pour les exports
HTML. Si le modèle n'est pas trouvé, pandoc le recherchera dans le
répertoire templates
du répertoire des
données utilisateur (voir
--data-dir
).
Si cette option n'est pas utilisée, un modèle par défaut approprié au
format de sortie sera utilisé (voir
-D/--print-default-template
).
-V
KEY[=
VAL], --variable=
KEY[:
VAL]
Définir la variable de modèle KEY à la valeur VAL lors du rendu du
document en mode autonome. Si aucune VAL n'est spécifiée, la clé recevra
la valeur true
.
-D
FORMAT, --print-default-template=
FORMAT
Imprimez le modèle par défaut du système pour un FORMAT de sortie. (Voir
-t
pour obtenir une liste des FORMATS possibles). Les modèles dans le
répertoire des données utilisateur sont ignorés. Cette option peut être
utilisée avec
-o
/--output
pour rediriger la sortie vers un fichier, mais
-o
/--output
doit venir avant
--print-default-template
sur la ligne de commande.
Notez que certains des modèles par défaut utilisent des modèles
partiels, par exemple styles.html
. Pour
imprimer les partiels, utilisez
--print-default-data-file
:
par exemple,
--print-default-data-file=templates/styles.html
.
--print-default-data-file=
FILE
Imprimer un fichier de données par défaut du système. Les fichiers du
répertoire des données utilisateur sont ignorés. Cette option peut être
utilisée avec
-o
/--output
pour rediriger la sortie vers un fichier, mais
-o
/--output
doit venir avant
--print-default-data-file
sur la ligne de commande.
--eol=crlf
|lf
|native
Spécifier manuellement les fins de ligne : crlf
(Windows), lf
(macOS/Linux/UNIX), ou native
(terminaison
de ligne appropriée au système d'exploitation sur lequel le pandoc est
exécuté). La valeur par défaut est native
.
--dpi
=NUMBER
Indiquez la valeur par défaut des ppp (points par pouce) pour la
conversion des pixels en pouces/centimètres et vice versa.
(Techniquement, le terme correct serait ppi : pixels par pouce.) La
valeur par défaut est 96dpi. Lorsque les images contiennent des
informations sur les ppp en interne, la valeur encodée est utilisée au
lieu de la valeur par défaut spécifiée par cette option.
--wrap=auto
|none
|preserve
Déterminez comment le texte est encapsulé dans la sortie (le code
source, et non la version rendue). Avec auto
(valeur par défaut), pandoc tentera de
faire correspondre les lignes à la largeur de colonne spécifiée par
--columns
(default 72). Avec none
, pandoc ne mettra
pas du tout les lignes à la longueur. Avec preserve
, pandoc s'efforcera de préserver la
longueur des lignes du document source (c'est-à-dire que lorsqu'il y a
des nouvelles lignes non sémantiques dans la source, il y aura également
des nouvelles lignes non sémantiques dans la sortie). La mise à la
longueur des automatique des lignes ne fonctionne pas actuellement avec
la sortie HTML. Pour la sortie ipynb
,
cette option affecte la mise à la longueur des cellules markdown.
--columns=
NUMBER
Précisez la longueur des lignes en caractères. Cela affecte l'habillage
du texte dans le code source généré (voir
--wrap
).
Elle affecte également le calcul de la largeur des colonnes pour les
tableaux en texte clair (voir Tables ci-dessous).
--toc
, --table-of-contents
Inclut une table des matières générée automatiquement (ou, dans le cas
de latex
, context
, docx
,
odt
, opendocument
, rst
,
ou ms
une instruction pour en créer une)
dans le document de sortie. Cette option n'a d'effet que si,
-s/--standalone
est utilisé, et il n'a aucun effet sur les sorties man
, docbook4
,
docbook5
, ou jats
.
Notez que si vous produisez un PDF via ms
,
la table des matières apparaîtra au début du document, avant le titre.
Si vous préférez qu'elle soit à la fin du document, utilisez l'option
--pdf-engine-opt=--no-toc-relocation
.
--toc-depth=
NUMBER
Précisez le nombre de niveaux de section à inclure dans la table des
matières. La valeur par défaut est 3 (ce qui signifie que les rubriques
de niveau 1, 2 et 3 figureront dans le sommaire).
--strip-comments
Supprimez les commentaires HTML dans la source Markdown ou Textile,
plutôt que de les transmettre à la sortie Markdown, Textile ou HTML sous
forme de HTML brut. Cela ne s'applique pas aux commentaires HTML à
l'intérieur des blocs HTML bruts lorsque l'extension markdown_in_html_blocks
n'est pas positionnée.
--no-highlight
Désactive la mise en évidence syntaxique pour les blocs de code et les
alignements, même lorsqu'un attribut de langue est donné.
--highlight-style=
STYLE|FILE
Spécifie le style de coloriage à utiliser dans le code source mis en
évidence. Les options sont pygments
(par
défaut), kate
, monochrome
, breezeDark
, espresso
, zenburn
,
haddock
, et tango
. Pour plus d'informations sur la mise en
évidence de la syntaxe dans le cadre de pandoc, voir Syntax
highlighting, ci-dessous. Voir aussi
--list-highlight-styles
.
Au lieu d'un nom STYLE, un fichier JSON avec l'extension .theme
peut être fourni. Il sera analysé comme
un thème de mise en évidence de la syntaxe KDE et (s'il est valide)
utilisé comme style de mise en évidence.
Pour générer la version JSON d'un style existant, utilisez
--print-highlight-style
.
--print-highlight-style=
STYLE|FILE
Imprime une version JSON d'un style de surlignage, qui peut être
modifié, sauvegardé avec une extension.theme
, et utilisé avec
--highlight-style
.
Cette option peut être utilisée avec
-o
/--output
pour rediriger la sortie vers un fichier, mais
-o
/--output
doit venir avant
--print-highlight-style
sur la ligne de commande.
--syntax-definition=
FILE
Demande à pandoc de charger un fichier de définition de la syntaxe XML
KDE, qui sera utilisé pour la mise en évidence syntaxique des blocs de
code correctement marqués. Ce fichier peut être utilisé pour ajouter la
prise en charge de nouveaux langages ou pour utiliser des définitions
syntaxiques modifiées pour des langages existants. Cette option peut
être répétée pour ajouter plusieurs définitions syntaxiques.
-H
FILE, --include-in-header=
FILE|URL
Inclure le contenu de FILE, mot pour mot, à la fin de l'en-tête. Cela
peut être utilisé, par exemple, pour inclure des CSS ou des JavaScript
spéciaux dans des documents HTML. Cette option peut être utilisée à
plusieurs reprises pour inclure plusieurs fichiers dans l'en-tête. Ils
seront inclus dans l'ordre indiqué. Cela implique
--standalone
.
-B
FILE, --include-before-body=
FILE|URL
Inclure le contenu du DOSSIER, mot pour mot, au début du corps du
document (par exemple, après le tag <body>
en HTML, ou la commande \begin{document}
de LaTeX). Ceci peut être utilisé pour inclure des barres de navigation
ou des bannières dans les documents HTML. Cette option peut être
utilisée de manière répétée pour inclure plusieurs fichiers. Ils seront
inclus dans l'ordre indiqué. Implique
--standalone
.
-A
FILE, --include-after-body=
FILE|URL
Inclure le contenu du DOSSIER, mot pour mot, à la fin du corps du
document (avant le tag </body>
de HTML, ou
la commande\end{document}
de LaTeX). Cette
option peut être utilisée à plusieurs reprises pour inclure plusieurs
fichiers. Ils seront inclus dans l'ordre indiqué. Implique
--standalone
.
--resource-path=
SEARCHPATH
Liste de chemins pour la recherche d'images et d'autres ressources. Les
chemins doivent être séparés par : sur les systèmes Linux, UNIX, et
macOS, et par ; sur Windows. Si
--resource-path
n'est pas spécifié, le chemin de ressource par défaut est le répertoire
de travail. Notez que, si
--resource-path
est spécifié, le répertoire de travail doit être explicitement
répertorié sinon il ne sera pas recherché. Par exemple :
--resource-path=.:test
sera recherché dans le répertoire de travail et le sous-répertoire test
, dans cet ordre.
--resource-path
n'a d'effet que si (a) le format de sortie intègre des images (par
exemple, docx
, pdf
, ou html
avec
--self-contained
)
ou (b) il est utilisé conjointement
avec--extract-media
.
--request-header=
NAME:
VAL
Définissez l'en-tête de la requête NAME à la valeur VAL lorsque vous
effectuez des requêtes HTTP (par exemple, lorsqu'une URL est donnée sur
la ligne de commande, ou lorsque les ressources utilisées dans un
document doivent être téléchargées). Si vous êtes derrière un proxy,
vous devez également définir la variable d'environnement http_proxy
vers http://...
.
--self-contained
Produire un fichier HTML autonome sans dépendance externe, en utilisant
data:
URIs to incorporate the contents of
linked scripts, stylesheets, images, and videos. Implies
--standalone
.
The resulting file should be “self-contained,” in the sense that it
needs no external files and no net access to be displayed properly by a
browser. This option works only with HTML output formats, including
html4
, html5
, html+lhs
,
html5+lhs
, s5
, slidy
, slideous
, dzslides
, and revealjs
. Scripts, images, and stylesheets at
absolute URLs will be downloaded; those at relative URLs will be sought
relative to the working directory (if the first source file is local) or
relative to the base URL (if the first source file is remote). Elements
with the attribute data-external="1"
will
be left alone; the documents they link to will not be incorporated in
the document. Limitation: resources that are loaded dynamically through
JavaScript cannot be incorporated; as a result,
--self-contained
does not work with
--mathjax
,
and some advanced features (e.g. zoom or speaker notes) may not work in
an offline “self-contained” reveal.js
slide show.
--html-q-tags
Use <q>
tags for quotes in HTML.
--ascii
N'utiliser que des caractères ASCII en sortie. Actuellement pris en
charge pour les formats XML et HTML (qui utilisent des entités au lieu
d'UTF-8 lorsque cette option est sélectionnée), CommonMark, gfm et
Markdown (qui utilisent des entités), roff ms (qui utilisent des
échappements hexadécimaux) et, dans une mesure limitée, LaTeX (qui
utilise des commandes standard pour les caractères accentués lorsque
cela est possible). la sortie roff man utilise ASCII par défaut.
--reference-links
Utilisez des liens de type référence, plutôt que des liens en ligne,
pour rédiger des notes ou des textes restructurés. Par défaut, des liens
en ligne sont utilisés. Le placement des références de liens est affecté
par l' option
--reference-location
.
--reference-location = block
|section
|document
Précisez si les notes de bas de page (et les références, si reference-links
est mis) sont placés à la fin du
bloc courant (de niveau supérieur), de la section courante ou du
document. La valeur par défaut est document
. Actuellement, il ne concerne que
l'export en Markdown.
--atx-headers
Utilisez des titres de type ATX dans la sortie de Markdown. La valeur
par défaut est d'utiliser des titres de type setext pour les niveaux 1
et 2, puis des titres ATX. (Note : pour des sorties gfm
, les rubriques ATX sont toujours utilisées).
Cette option affecte également les cellules Markdown dans la sortie
ipynb
.
--top-level-division=[default|section|chapter|part]
Traitez les titres de haut niveau comme le type de division donné dans
les sorties LaTeX, ConTeXt, DocBook et TEI. L'ordre hiérarchique est le
suivant : partie, chapitre, puis section ; toutes les rubriques sont
décalées de telle sorte que la rubrique de niveau supérieur devienne le
type spécifié. Le comportement par défaut consiste à déterminer le
meilleur type de division par le biais des heuristiques : à moins que
d'autres conditions ne s'appliquent, section
est choisie. Lorsque la variable documentclass
est report
, book
, ou
memoir
(à moins que l'option article
soit spécifiée), chapter
est implicite comme étant le cadre de
cette option. Si beamer
est le format de
sortie, spécifiez soit chapter
ou part
fera en sorte que les rubriques de haut
niveau deviennent \part{..}
, tandis que
les rubriques de second niveau restent par défaut.
-N
, --number-sections
Numéroter les titres de section en sortie LaTeX, ConTeXt, HTML ou EPUB.
Par défaut, les sections ne sont pas numérotées. Les sections avec
classe unnumbered
ne seront jamais
numérotées, même si
--number-sections
est spécifié.
--number-offset=
NUMBER[,
NUMBER,
…]
Décalage pour les titres de section dans la sortie HTML (ignoré dans les
autres formats de sortie). Le premier chiffre est ajouté au numéro de la
section pour les titres de premier niveau, le second pour les titres de
second niveau, etc. Ainsi, par exemple, si vous voulez que la première
rubrique de premier niveau de votre document soit numérotée "6",
indiquez
--number-offset=5
.
If your document starts with a level-2 heading which you want to be
numbered “1.5”, specify
--number-offset=1,4
.
Offsets are 0 by default. Implies
--number-sections
.
--listings
Utiliser le paquage listings
de
LaTeX. Le paquet ne prend pas en charge le codage multi-octets pour le
code source. Pour gérer l'UTF-8, vous devez utiliser un modèle
personnalisé. Ce problème est entièrement documenté ici : Encoding
issue with the listings
package.
-i
, --incremental
Faites en sorte que les éléments de la liste dans les diaporamas
s'affichent progressivement (un par un). Par défaut, les listes
s'affichent toutes en même temps.
--slide-level=
NUMBER
Précise que les rubriques ayant le niveau spécifié créent des
diapositives (pour beamer
, s5
, slidy
, slideous
, dzslides
). Les titres au-dessus de ce niveau
dans la hiérarchie servent à diviser le diaporama en sections ; les
titres en dessous de ce niveau créent des sous-titres à l'intérieur
d'une diapositive. Notez que le contenu qui n'est pas contenu sous les
titres du niveau de la diapositive n'apparaîtra pas dans le diaporama.
Par défaut, le niveau de la diapositive est défini en fonction du
contenu du document ; voir
Structuring the slide show.
--section-divs
Mettre les sections dans des étiquettes <section>
(ou <div>
pour html4
),
and attach identifiers to the enclosing <section>
(or <div>
) rather than the heading itself. See
Heading identifiers, below.
--email-obfuscation=none
|javascript
|references
Spécifier une méthode pour cacher les liens mailto:
dans les documents HTML. none
laisse les liens mailto:
tels quels. javascript
les cache en utilisant JavaScript.
references
les occulte en imprimant leurs
lettres sous forme de références de caractères décimaux ou hexadécimaux.
Par défaut, none
.
--id-prefix=
STRING
Spécifiez un préfixe à ajouter à tous les identificateurs et liens
internes dans la sortie HTML et DocBook, et aux numéros de note de bas
de page dans la sortie Markdown et Haddock. Ceci est utile pour éviter
les doublons d'identificateurs lors de la génération de fragments à
inclure dans d'autres pages.
-T
STRING, --title-prefix=
STRING
Spécifiez STRING comme préfixe au début du titre qui apparaît dans
l'en-tête HTML (mais pas dans le titre tel qu'il apparaît au début du
corps du HTML). Implique
--standalone
.
-c
URL, --css=
URL
Lien vers une feuille de style CSS. Cette option peut être utilisée de
manière répétée pour inclure plusieurs fichiers. Ils seront inclus dans
l'ordre indiqué.
Une feuille de style est nécessaire pour générer l'EPUB. Si aucune
feuille de style n'est fournie en utilisant cette option (ou les champs
metadata css
ou stylesheet
), pandoc va chercher un fichier epub.css
dans le répertoire des données des
utilisateurs (voir
--data-dir
).
If it is not found there, sensible defaults will be used.
--reference-doc=
FILE
Utiliser le fichier spécifié comme référence de style dans la production
d'un fichier docx ou ODT.
Docx
Pour les meilleurs résultats, le docx de référence doit être une version
modifiée d'un fichier docx produit à l'aide de pandoc. Le contenu du
docx de référence est ignoré, mais ses feuilles de style et les
propriétés du document (y compris les marges, la taille de la page,
l'en-tête et le pied de page) sont utilisées dans le nouveau docx. Si
aucun docx de référence n'est spécifié sur la ligne de commande, pandoc
recherchera un fichierreference.docx
dans
le répertoire des données des utilisateurs (voir
--data-dir
).
Si ce n'est pas le cas non plus, des valeurs par défaut raisonnables
seront utilisées.
Pour produire un fichierreference.docx
personnalisé, faites d'abord une copie dureference.docx
par défaut : pandoc -o custom-reference.docx --print-default-data-file reference.docx
.
Puis ouvrez custom-reference.docx
dans
Word, modifiez les styles comme vous le souhaitez, et enregistrez le
fichier. Pour de meilleurs résultats, n'apportez pas de modifications à
ce fichier, à part celles des styles utilisés par pandoc :
Styles de paragraphes :
- Normal
- Body Text
- First Paragraph
- Compact
- Title
- Subtitle
- Author
- Date
- Abstract
- Bibliography
- Heading 1
- Heading 2
- Heading 3
- Heading 4
- Heading 5
- Heading 6
- Heading 7
- Heading 8
- Heading 9
- Block Text
- Footnote Text
- Definition Term
- Definition
- Caption
- Table Caption
- Image Caption
- Figure
- Captioned Figure
- TOC Heading
Styles de caractères :
- Default Paragraph Font
- Body Text Char
- Verbatim Char
- Footnote Reference
- Hyperlink
Styles de tableaux :
- Table
ODT
Pour de meilleurs résultats, le ODT de référence devrait être une
version modifiée d'un ODT produit à l'aide de pandoc. Le contenu de
l'ODT de référence est ignoré, mais ses feuilles de style sont utilisées
dans le nouvel ODT. Si aucun ODT de référence n'est spécifié sur la
ligne de commande, pandoc recherchera un fichier reference.odt
dans le répertoire des données des
utilisateurs (voir
--data-dir
).
Si ce n'est pas le cas non plus, des valeurs par défaut raisonnables
seront utilisées.
Pour produire un reference.odt
personnalisé, obtenir d'abord une
copie du fichier reference.odt
par défaut :
pandoc -o custom-reference.odt --print-default-data-file reference.odt
.
Puis ouvrir custom-reference.odt
dans
LibreOffice, modifier les styles comme vous le souhaitez, et enregistrer
le fichier.
PowerPoint
Les modèles inclus dans Microsoft PowerPoint 2013 (avec les extensions
.pptx
ou .potx
) are known to work, as are most templates
derived from these.
L'exigence spécifique est que le modèle commence par les quatre indications suivantes :
- Title Slide
- Title and Content
- Section Header
- Two Content
Tous les modèles inclus dans une récente version de MS PowerPoint
observent ce critère (vous pouvez cliquer sur Layout
dans le menu Home
pour vérifier).
Vous pouvez aussi modifier le fichier reference.pptx
par défaut : d'abord executer
pandoc -o custom-reference.pptx --print-default-data-file reference.pptx
,
puis modifier custom-reference.pptx
dans
MS PowerPoint (pandoc will use the first four layout slides, as
mentioned above).
--epub-cover-image=
FILE
Use the specified image as the EPUB cover. It is recommended that the
image be less than 1000px in width and height. Note that in a Markdown
source document you can also specify cover-image
in a YAML metadata block (see EPUB
Metadata, below).
--epub-metadata=
FILE
Look in the specified XML file for metadata for the EPUB. The file
should contain a series of Dublin Core
elements.
For example:
<dc:rights>Creative Commons</dc:rights>
<dc:language>es-AR</dc:language>
By default, pandoc will include the following metadata elements: <dc:title>
(from the document title), <dc:creator>
(from the document authors), <dc:date>
(from the document date, which should
be in ISO 8601 format), <dc:language>
(from the lang
variable, or, if is not set, the locale),
and <dc:identifier id="BookId">
(a randomly generated UUID). Any of these may be overridden by elements
in the metadata file.
Note: if the source document is Markdown, a YAML metadata block in the document can be used instead. See below under EPUB Metadata.
--epub-embed-font=
FILE
Embed the specified font in the EPUB. This option can be repeated to
embed multiple fonts. Wildcards can also be used: for example, DejaVuSans-*.ttf
. However, if you use wildcards
on the command line, be sure to escape them or put the whole filename in
single quotes, to prevent them from being interpreted by the shell. To
use the embedded fonts, you will need to add declarations like the
following to your CSS (see
--css
):
@font-face {
font-family: DejaVuSans;
font-style: normal;
font-weight: normal;
src:url("DejaVuSans-Regular.ttf");
}
@font-face {
font-family: DejaVuSans;
font-style: normal;
font-weight: bold;
src:url("DejaVuSans-Bold.ttf");
}
@font-face {
font-family: DejaVuSans;
font-style: italic;
font-weight: normal;
src:url("DejaVuSans-Oblique.ttf");
}
@font-face {
font-family: DejaVuSans;
font-style: italic;
font-weight: bold;
src:url("DejaVuSans-BoldOblique.ttf");
}
body { font-family: "DejaVuSans"; }
--epub-chapter-level=
NUMBER
Specify the heading level at which to split the EPUB into separate
“chapter” files. The default is to split into chapters at level-1
headings. This option only affects the internal composition of the EPUB,
not the way chapters and sections are displayed to users. Some readers
may be slow if the chapter files are too large, so for large documents
with few level-1 headings, one might want to use a chapter level of 2
or 3.
--epub-subdirectory=
DIRNAME
Specify the subdirectory in the OCF container that is to hold the
EPUB-specific contents. The default is EPUB
. To put the EPUB contents in the top level,
use an empty string.
--ipynb-output=all|none|best
Determines how ipynb output cells are treated. all
means that all of the data formats included
in the original are preserved. none
means
that the contents of data cells are omitted. best
causes pandoc to try to pick the richest
data block in each output cell that is compatible with the output
format. The default is best
.
--pdf-engine=
PROGRAM
Utilisez le moteur spécifié lorsque vous produisez un fichier PDF. Les
valeurs valides sont pdflatex
, lualatex
, xelatex
,
latexmk
, tectonic
, wkhtmltopdf
, weasyprint
, prince
, context
et
pdfroff
. Si le moteur n'est pas dans votre
PATH, vous pouvez indiquer ici le chemin complet du moteur. Si cette
option n'est pas spécifiée, pandoc utilise les valeurs par défaut
suivantes en fonction du format de sortie spécifié à l'aide de
-t/--to
:
-
-t latex
ou rien :pdflatex
(autres options:xelatex
,lualatex
,tectonic
,latexmk
) -
-t context
:context
-
-t html
:wkhtmltopdf
(autres options :prince
,weasyprint
) -
-t ms
:pdfroff
--pdf-engine-opt=
STRING
Utilisez la chaîne de caractères donnée comme argument de ligne de
commande pour le pdf-engine
. Par exemple,
pour utiliser un répertoire persistant foo
pour les fichiers auxiliaires de latexmk
, utiliser
--pdf-engine-opt=-outdir=foo
.
Notez qu'aucun contrôle des options en double n'est effectué.
--bibliography=
FILE
Mettre le champ bibliography
dans les
metadonnées du document à FILE, en dérogeant à toute valeur fixée
dans les métadonnées, et traiter les citations en utilisant pandoc-citeproc
. (Ceci est équivalent à
--metadata bibliography=FILE --filter pandoc-citeproc
.)
Si
--natbib
ou
--biblatex
est également fourni, pandoc-citeproc
n'est pas utilisé, ce qui équivaut à
--metadata bibliography=FILE
.
Si vous fournissez cet argument plusieurs fois, chaque FICHIER sera
ajouté à la bibliographie.
--csl=
FILE
Mettre le champ csl
des métadonnées du
document à FILE, en supplantant toute valeur fixée dans les
métadonnées. (Cela équivaut à
--metadata csl=FILE
.)
Cette option n'est pertinente qu'avec pandoc-citeproc
.
--citation-abbreviations=
FILE
Mettre le champ citation-abbreviations
des
metadonnées du document à FILE, en supplantant toute valeur fixée dans
les métadonnées. (Cela équivaut à
--metadata citation-abbreviations=FILE
.)
Cette option n'est pertinente qu'avec pandoc-citeproc
.
--natbib
Utilise natbib
pour les
citations dans la production LaTeX. Cette option n'est pas à utiliser
avec le filtre pandoc-citeproc
ou avec une
sortie PDF. Il est destiné à être utilisé pour produire un fichier LaTeX
qui peut être traité avec bibtex
.
--biblatex
Utiliser biblatex
pour les
citations dans la sortie Latex. Cette option n'est pas à utiliser avec
le filtre pandoc-citeproc
ou avec la
sortie PDF. Il est destiné à être utilisé pour produire un fichier LaTeX
qui peut être traité avec bibtex
or biber
.
The default is to render TeX math as far as possible using Unicode
characters. Formulas are put inside a span
with class="math"
, so that they may be
styled differently from the surrounding text if needed. However, this
gives acceptable results only for basic math, usually you will want to
use
--mathjax
or another of the following options.
--mathjax
[=
URL]
Use MathJax to display embedded TeX math in
HTML output. TeX math will be put between \(...\)
(for inline math) or \[...\]
(for display math) and wrapped in <span>
tags with class math
. Then the MathJax JavaScript will render
it. The URL should point to the MathJax.js
load script. If a URL is not
provided, a link to the Cloudflare CDN will be inserted.
--mathml
Convert TeX math to MathML (in epub3
, docbook4
,
docbook5
, jats
, html4
and
html5
). This is the default in odt
output. Note that currently only Firefox and
Safari (and select e-book readers) natively support MathML.
--webtex
[=
URL]
Convert TeX formulas to <img>
tags that
link to an external script that converts formulas to images. The formula
will be URL-encoded and concatenated with the URL provided. For SVG
images you can for example use
--webtex
https://latex.codecogs.com/svg.latex?
.
If no URL is specified, the CodeCogs URL generating PNGs will be used
(https://latex.codecogs.com/png.latex?
).
Note: the
--webtex
option will affect Markdown output as well as HTML, which is useful if
you’re targeting a version of Markdown without native math support.
--katex
[=
URL]
Use KaTeX to display embedded TeX math
in HTML output. The URL is the base URL for the KaTeX library. That
directory should contain a katex.min.js
and a katex.min.css
file. If a URL is
not provided, a link to the KaTeX CDN will be inserted.
--gladtex
Enclose TeX math in <eq>
tags in HTML
output. The resulting HTML can then be processed by
GladTeX to produce images of the
typeset formulas and an HTML file with links to these images. So, the
procedure is:
pandoc -s --gladtex input.md -o myfile.htex
gladtex -d myfile-images myfile.htex
# produces myfile.html and images in myfile-images
--dump-args
Print information about command-line arguments to stdout, then exit.
This option is intended primarily for use in wrapper scripts. The first
line of output contains the name of the output file specified with the
-o
option, or -
(for stdout) if no output
file was specified. The remaining lines contain the command-line
arguments, one per line, in the order they appear. These do not include
regular pandoc options and their arguments, but do include any options
appearing after a --
separator at the end
of the line.
--ignore-args
Ignore command-line arguments (for use in wrapper scripts). Regular
pandoc options are not ignored. Thus, for example,
pandoc --ignore-args -o foo.html -s foo.txt -- -e latin1
is equivalent to
pandoc -o foo.html -s
If pandoc completes successfully, it will return exit code 0. Nonzero exit codes have the following meanings:
Code | Error |
---|---|
3 | PandocFailOnWarningError |
4 | PandocAppError |
5 | PandocTemplateError |
6 | PandocOptionError |
21 | PandocUnknownReaderError |
22 | PandocUnknownWriterError |
23 | PandocUnsupportedExtensionError |
31 | PandocEpubSubdirectoryError |
43 | PandocPDFError |
47 | PandocPDFProgramNotFoundError |
61 | PandocHttpError |
62 | PandocShouldNeverHappenError |
63 | PandocSomeError |
64 | PandocParseError |
65 | PandocParsecError |
66 | PandocMakePDFError |
67 | PandocSyntaxMapError |
83 | PandocFilterError |
91 | PandocMacroLoop |
92 | PandocUTF8DecodingError |
93 | PandocIpynbDecodingError |
97 | PandocCouldNotFindDataFileError |
99 | PandocResourceNotFound |
L'option
--defaults
peut être utilisée pour spécifier un ensemble d'options. Voici un
exemple de fichier de valeurs par défaut qui montre tous les champs qui
peuvent être utilisés :
from: markdown+emoji
# reader: may be used instead of from:
to: html5
# writer: may be used instead of to:
# leave blank for output to stdout:
output-file:
# leave blank for input from stdin, use [] for no input:
input-files:
- preface.md
- content.md
# or you may use input-file: with a single value
template: letter
standalone: true
self-contained: false
# note that structured variables may be specified:
variables:Il est destiné à être utilisé pour produire un fichier LaTeX qui peut être traité avec
documentclass: book
classoption:
- twosides
- draft
# metadata values specified here are parsed as literal
# string text, not markdown:
metadata:
author:
- Sam Smith
- Julie Liu
metadata-files:
- boilerplate.yaml
# or you may use metadata-file: with a single value
# Note that these take files, not their contents:
include-before-body: []
include-after-body: []
include-in-header: []
resource-path: ["."]
# filters will be assumed to be Lua filters if they have
# the .lua extension, and json filters otherwise. But
# the filter type can also be specified explicitly, as shown:
filters:
- pandoc-citeproc
- wordcount.lua
- type: json
path: foo.lua
file-scope: false
data-dir:
# ERROR, WARNING, or INFO
verbosity: INFO
log-file: log.json
# citeproc, natbib, or biblatex
cite-method: citeproc
# part, chapter, section, or default:
top-level-division: chapter
abbreviations:
pdf-engine: pdflatex
pdf-engine-opts:
- "-shell-escape"
# you may also use pdf-engine-opt: with a single option
# pdf-engine-opt: "-shell-escape"
# auto, preserve, or none
wrap: auto
columns: 78
dpi: 72
extract-media: mediadir
table-of-contents: true
toc-depth: 2
number-sections: false
# a list of offsets at each heading level
number-offset: [0,0,0,0,0,0]
# toc: may also be used instead of table-of-contents:
shift-heading-level-by: 1
section-divs: true
identifier-prefix: foo
title-prefix: ""
strip-empty-paragraphs: true
# lf, crlf, or native
eol: lf
strip-comments: false
indented-code-classes: []
ascii: true
default-image-extension: ".jpg"
# either a style name of a style definition file:
highlight-style: pygments
syntax-definitions:
- c.xml
# or you may use syntax-definition: with a single value
listings: false
reference-doc: myref.docx
# method is plain, webtex, gladtex, mathml, mathjax, katex
# you may specify a url with webtex, mathjax, katex
html-math-method:
method: mathjax
url: "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"
# none, references, or javascript
email-obfuscation: javascript
tab-stop: 8
preserve-tabs: true
incremental: false
slide-level: 2
epub-subdirectory: EPUB
epub-metadata: meta.xml
epub-fonts:
- foobar.otf
epub-chapter-level: 1
epub-cover-image: cover.jpg
reference-links: true
# block, section, or document
reference-location: block
atx-headers: false
# accept, reject, or all
track-changes: accept
html-q-tags: false
css:
- site.css
# none, all, or best
ipynb-output: best
# A list of two-element lists
request-headers:
- ["User-Agent", "Mozilla/5.0"]
fail-if-warnings: false
dump-args: false
ignore-args: false
trace: false
Les champs qui sont omis n'auront que leurs valeurs par défaut habituelles. Ainsi, un fichier par défaut peut être aussi simple qu'une ligne :
verbosity: INFO
Les fichiers Default peuvent être placés dans le sous-dossier defaults
du répertoire des données d'utilisateur
et utilisées à partir de n'importe quel répertoire. Par exemple, on
pourrait créer un fichier spécifiant les valeurs par défaut pour
l'écriture de lettres, le sauvegarder sous letter.yaml
dans le sous-répertoire defaults
du répertoire des données de
l'utilisateur, puis invoquer ces valeurs par défaut à partir de tout
répertoire utilisant pandoc --defaults letter
ou
pandoc -dletter
.
Lorsque plusieurs fichiers default sont utilisés, leur contenu sera combiné.
Notez que, lorsque les arguments de la ligne de commande peuvent être
répétés
(--metadata-file
,
--css
,
--include-in-header
,
--include-before-body
,
--include-after-body
,
--variable
,
--metadata
,
--syntax-definition
),
les valeurs spécifiées sur la ligne de commande se combineront avec les
valeurs spécifiées dans le fichier Default, plutôt que de les remplacer.
Lorsque l'option
-s/--standalone
est utilisée, pandoc utilise un modèle pour ajouter les en-têtes et les
pieds de page nécessaires à un document autonome. Pour voir le modèle
utilisé par défaut, il suffit de taper
pandoc -D *FORMAT*
où FORMAT est le nom du format de sortie. Un modèle personnalisé peut
être spécifié à l'aide de l'option
--template
.
Vous pouvez également remplacer les modèles par défaut du système pour
un format de sortie donné FORMAT en mettant un fichier templates/default.*FORMAT*
dans le répertoire
des données des utilisateurs (voir
--data-dir
,
ci-dessus). Exceptions :
- Pour une sortie
odt
, personnalisez le modèledefault.opendocument
. - Pour une sortie
pdf
, personnalisez le modèle ``default.latex
(ou le modèle `default.context`, si vous utilisez-t context
, ou le modèle `default.ms`, si vous utilisez-t ms
, ou le modèle `default.html` si vous utilisez-t html
). -
docx
etpptx
n'ont pas de modèle (cependant, vous pouvez utiliser--reference-doc
pour personnaliser la sortie).
Les modèles contiennent des variables, qui permettent d'inclure des
informations arbitraires à n'importe quel moment du fichier. Ils peuvent
être définis en ligne de commande à l'aide de l'option
-V/--variable
.
Si une variable n'est pas définie, pandoc cherchera la clé dans les
métadonnées du document, qui peuvent être définies en utilisant soit les
blocs de métadonnées YAML ou avec
l'option-M/--metadata
.
En outre, certaines variables sont dotées de valeurs par défaut par
pandoc. Voir Variables ci-dessous pour une liste des
variables utilisées dans les modèles par défaut de pandoc.
Si vous utilisez des modèles personnalisés, vous devrez peut-être les réviser au fur et à mesure de l'évolution de pandoc. Nous vous recommandons de suivre les modifications apportées aux modèles par défaut et de modifier vos modèles personnalisés en conséquence. Une façon simple de procéder consiste à créer une variante ("fork") du dépôt pandoc-templates et fusionner les changements après chaque libération de pandoc.
Tout ce qui se trouve entre la séquence $--
et la fin de la ligne sera traitée comme un
commentaire et sera omise de la sortie.
Pour marquer les variables et les structures de contrôle dans le modèle,
soit $
…$
soit ${
…}
peuvent être utilisés comme délimiteurs. Les styles peuvent également
être mélangés dans le même modèle, mais les délimiteurs d'ouverture et
de fermeture doivent correspondre dans chaque cas. Le premier délimiteur
peut être suivi d'un ou plusieurs espaces ou tabulations, qui seront
ignorés. Le délimiteur de fermeture peut être suivi d'un ou plusieurs
espaces ou tabulations, qui seront ignorés.
Pour inclure littérallement un $
dans le
document, écrire $$
.
Un logement pour une variable interpolée est un nom de variable entouré
de délimiteurs correspondants. Les noms de variables doivent commencer
par une lettre et peuvent contenir des lettres, des chiffres, _
, -
, et .
. Les mots-clés it
, if
, else
, endif
, for
, sep
, et endfor
ne peuvent pas être utilisés comme noms
de variables. Exemples :
$foo$
$foo.bar.baz$
$foo_bar.baz-bim$
$ foo $
${foo}
${foo.bar.baz}
${foo_bar.baz-bim}
${ foo }
Les noms de variables avec des points sont utilisés pour obtenir des
valeurs de variables structurées. Ainsi, par exemple, employee.salary
restituera la valeur du champ
salaire salary
de l'objet qui est la valeur
du champemployee
.
- Si la valeur de la variable est une valeur simple, elle sera rendue textuellement. (Notez qu'aucun échappement n'est effectué ; l'hypothèse est que le programme appelant échappera les chaînes de caractères de manière appropriée pour le format de sortie).
- Si la valeur est une liste, les valeurs seront concaténées.
- If the value is a map, the string
true
will be rendered. - Toute autre valeur sera rendue comme la chaîne vide.
Une condition commence par if(variable)
(inclus dans les délimiteurs correspondants) et se termine par endif
(inclus dans les délimiteurs
correspondants). Il peut éventuellement contenir un else
(inclus dans les délimiteurs
correspondants). La sectionif
est utilisée
si variable
a une valeur non vide, sinon la
sectionelse
est utilisée (si présente).
Exemples :
$if(foo)$bar$endif$
$if(foo)$
$foo$
$endif$
$if(foo)$
part one
$else$
part two
$endif$
${if(foo)}bar${endif}
${if(foo)}
${foo}
${endif}
${if(foo)}
${ foo.bar }
${else}
no foo!
${endif}
The keyword elseif
may be used to simplify
complex nested conditionals:
$if(foo)$
XXX
$elseif(bar)$
YYY
$else$
ZZZ
$endif$
Une boucle for commence par for(variable)
(inclus dans les délimiteurs correspondants) et se termine par endfor
(inclus dans les délimiteurs
correspondants).
- Si
variable
est un tableau, le contenu de la boucle sera évalué à plusieurs reprises, avecvariable
étant réglé sur chaque valeur du tableau à tour de rôle, et concaténé. - If
variable
is a map, the material inside will be set to the map. - Si la valeur de la variable associée n'est pas un tableau ou une carte, une seule itération sera effectuée sur sa valeur.
Exemples :
$for(foo)$$foo$$sep$, $endfor$
$for(foo)$
- $foo.last$, $foo.first$
$endfor$
${ for(foo.bar) }
- ${ foo.bar.last }, ${ foo.bar.first }
${ endfor }
$for(mymap)$
$it.name$: $it.office$
$endfor$
Vous pouvez éventuellement spécifier un séparateur entre des valeurs
consécutives en utilisant sep
(inclus
dans les délimiteurs correspondants). Le contenu entre sep
et le endfor
est le séparateu .
${ for(foo) }${ foo }${ sep }, ${ endfor }
Au lieu d'utiliser variable
dans la boucle
, the special anaphoric keyword it
may be
used.
${ for(foo.bar) }
- ${ it.last }, ${ it.first }
${ endfor }
Les parties (sous-modèles stockés dans différents fichiers) peuvent être incluses en utilisant la syntaxe
${ boilerplate() }
Les parties seront recherchées dans le répertoire contenant le modèle
principal, et seront supposées avoir la même extension que le modèle
principal si elles n'ont pas d'extension explicite. (Si les fichiers
partiels ne se trouvent pas ici, ils seront également recherchés dans le
sous-répertoire templates
du répertoire des
données de l'utilisateur.)
Partials may optionally be applied to variables using a colon:
${ date:fancy() }
${ articles:bibentry() }
Si articles
est un tableau, ceci va itérer
sur ses valeurs, en appliquant la partie bibentry()
à chacun. Le deuxième exemple
ci-dessus est donc équivalent à
${ for(articles) }
${ it:bibentry() }
${ endfor }
Notez que le mot-clé anaphorique it
doit
être utilisé lors de l'itération sur les parties. Dans les exemples
ci-dessus, les parties bibentry
devrait
contenir it.title
(et ainsi de suite) au
lieu de articles.title
.
Final newlines are omitted from included partials.
Partials may include other partials.
A separator between values of an array may be specified in square brackets, immediately after the variable name or partial:
${months[, ]}$
${articles:bibentry()[; ]$
The separator in this case is literal and (unlike with sep
in an explicit for
loop) cannot contain interpolated variables
or other template directives.
Pour vous assurer que le contenu est "imbriqué", c'est-à-dire que les lignes suivantes sont indentées, utilisez la directive ^ :
$item.number$ $^$$item.description$ ($item.price$)
In this example, if item.description
has
multiple lines, they will all be indented to line up with the first
line:
00123 A fine bottle of 18-year old
Oban whiskey. ($148)
To nest multiple lines to the same level, align them with the ^
directive in the template. For example:
$item.number$ $^$$item.description$ ($item.price$)
(Available til $item.sellby$.)
will produce
00123 A fine bottle of 18-year old
Oban whiskey. ($148)
(Available til March 30, 2020.)
If a variable occurs by itself on a line, preceded by whitespace and not followed by further text or directives on the same line, and the variable’s value contains multiple lines, it will be nested automatically.
Normalement, les espaces dans le modèle lui-même (par opposition aux valeurs des variables interpolées) ne sont pas sécables, mais ils peuvent être rendus sécables dans une partie du modèle en utilisant le mot-clé ~ (terminé par un autre ~).
$~$This long line may break if the document is rendered
with a short line length.$~$
Un tuyau ("pipe") transforme la valeur d'une variable ou d'une partie de
celle-ci. Les tuyaux sont spécifiés à l'aide d'une barre oblique (/
) entre le nom de la variable (ou partiel) et
le nom du pipe. Exemple :
$for(name)$
$name/uppercase$
$endfor$
$for(metadata/pairs)$
- $it.key$: $it.value$
$endfor$
$employee:name()/uppercase$
Pipes may be chained:
$for(employees/pairs)$
$it.key/alpha/uppercase$. $it.name$
$endfor$
Some pipes take parameters:
|----------------------|------------|
$for(employee)$
$it.name.first/uppercase/left 20 "| "$$it.name.salary/right 10 " | " " |"$
$endfor$
|----------------------|------------|
Actuellement, les pipes suivants sont prédéfinis :
-
pairs
: Convertit une carte ou un tableau en un tableau de cartes, chacune avec les champskey
etvalue
. Si la valeur initiale était un tableau,key
sera l'index du tableau, commençant par 1 . -
uppercase
: Convertit le texte en majuscules. -
lowercase
: Convertit le texte en minuscules. -
length
: Retourne la longueur de la valeur : nombre de caractères pour une valeur textuelle, nombre d'éléments pour une carte ou un tableau. -
reverse
: Inverse une valeur textuelle ou un tableau, et n'a aucun effet sur les autres valeurs. -
chomp
: Removes trailing newlines (and breakable space). -
nowrap
: Disables line wrapping on breakable spaces. -
alpha
: Converts textual values that can be read as an integer into lowercase alphabetic charactersa..z
(mod 26). This can be used to get lettered enumeration from array indices. To get uppercase letters, chain withuppercase
. -
roman
: Converts textual values that can be read as an integer into lowercase roman numerials. This can be used to get lettered enumeration from array indices. To get uppercase roman, chain withuppercase
. -
left n "leftborder" "rightborder"
: Renders a textual value in a block of widthn
, aligned to the left, with an optional left and right border. Has no effect on other values. This can be used to align material in tables. Widths are positive integers indicating the number of characters. Borders are strings inside double quotes; literal"
and\
characters must be backslash-escaped. -
right n "leftborder" "rightborder"
: Renders a textual value in a block of widthn
, aligned to the right, and has no effect on other values. -
center n "leftborder" "rightborder"
: Renders a textual value in a block of widthn
, aligned to the center, and has no effect on other values.
title
, author
, date
permettent d'identifier les aspects fondamentaux du document. Inclus
dans les métadonnées PDF par le biais de LaTeX et ConTeXt. Ils peuvent
être définis au moyen d'un pandoc title
block, qui permet des auteurs multiples,
ou par le biais d'un YAML metadata
block:
---
author:
- Aristotle
- Peter Abelard
...
Notez que si vous souhaitez simplement définir des métadonnées PDF ou
HTML, sans inclure un bloc titre dans le document lui-même, vous pouvez
définir les variables title-meta
, author-meta
, et date-meta
. (Par défaut, elles sont définies
automatiquement, sur la base title
, author
, et date
.)
subtitle
sous-titre du document, inclus dans les documents HTML, EPUB, LaTeX,
ConTeXt et docx
abstract
résumé du document, inclus dans les documents LaTeX, ConTeXt, AsciiDoc
et docx
keywords
liste des mots clés à inclure dans les métadonnées HTML, PDF, ODT, pptx,
docx et AsciiDoc ; répéter comme pour author
ci-dessus,
subject
sujet du document, inclus dans les métadonnées ODT, PDF, docx et pptx
description
description du document, incluse dans les métadonnées ODT, docx et pptx.
Certaines applications les présentent sous forme de la métadonnée Comments
.
category
catégorie de document, incluse dans les métadonnées docx et pptx
En outre, toute métadonnée de chaîne de niveau racine, non incluse dans les métadonnées ODT, docx ou pptx, est ajoutée comme propriété personnalisée. Le bloc de métadonnées YAML suivant, par exemple :
---
title: 'This is the title'
subtitle: "This is the subtitle"
author:
- Author One
- Author Two
description: |
This is a long
description.
It consists of two paragraphs
...
inclura title
, author
et description
en tant que propriétés de document
standard et subtitle
comme une propriété
personnalisée lors de la conversion en docx, ODT ou pptx.
lang
identifies the main language of the document using IETF language tags
(following the BCP 47 standard),
such as en
or en-GB
. The Language subtag
lookup tool can look up or verify
these tags. This affects most formats, and controls hyphenation in PDF
output when using LaTeX (through babel
and polyglossia
)
or ConTeXt.
Use native pandoc Divs and Spans with the lang
attribute to switch the language:
---
lang: en-GB
...
Text in the main document language (British English).
::: {lang=fr-CA}
> Cette citation est écrite en français canadien.
:::
More text in English. ['Zitat auf Deutsch.']{lang=de}
dir
the base script direction, either rtl
(right-to-left) or ltr
(left-to-right).
For bidirectional documents, native pandoc span
s and div
s
with the dir
attribute (value rtl
or ltr
) can be
used to override the base direction in some output formats. This may not
always be necessary if the final renderer (e.g. the browser, when
generating HTML) supports the Unicode Bidirectional
Algorithm.
When using LaTeX for bidirectional documents, only the xelatex
engine is fully supported (use
--pdf-engine=xelatex
).
classoption
when using KaTeX, you can render display math
equations flush left using YAML metadata or with
-M classoption=fleqn
.
These affect HTML output when producing slide shows with pandoc.
All reveal.js configuration
options are
available as variables. To turn off boolean flags that default to true
in reveal.js, use 0
.
revealjs-url
base URL for reveal.js documents (defaults to reveal.js
)
s5-url
base URL for S5 documents (defaults to s5/default
)
slidy-url
base URL for Slidy documents (defaults to https://www.w3.org/Talks/Tools/Slidy2
)
slideous-url
base URL for Slideous documents (defaults to slideous
)
title-slide-attributes
additional attributes for the title slide of reveal.js slide shows. See
background in reveal.js and
beamer for an example.
These variables change the appearance of PDF slides using beamer
.
aspectratio
slide aspect ratio (43
for 4:3
[default], 169
for 16:9, 1610
for 16:10, 149
for 14:9, 141
for 1.41:1, 54
for 5:4, 32
for 3:2)
beamerarticle
produce an article from Beamer slides
beameroption
add extra beamer option with \setbeameroption{}
institute
author affiliations: can be a list when there are multiple authors
logo
logo image for slides
navigation
controls navigation symbols (default is empty
for no navigation symbols; other valid
values are frame
, vertical
, and horizontal
)
section-titles
enables “title pages” for new sections (default is true)
theme
, colortheme
, fonttheme
, innertheme
, outertheme
beamer themes
themeoptions
options for LaTeX beamer themes (a list).
titlegraphic
image for title slide
These variables control the visual aspects of a slide show that are not easily controlled via templates.
monofont
font to use for code.
Pandoc utilise ces variables pour créer un PDF avec un moteur LaTeX.
block-headings
faire des \paragraph
et \subparagraph
(fourth- and fifth-level headings,
or fifth- and sixth-level with book classes) autonome plutôt que de
dépendre des autres niveaux ; nécessite un formatage supplémentaire pour
distinguer \subsubsection
(third- or
fourth-level headings). Au lieu d'utiliser cette option,
KOMA-Script peut ajuster les
rubriques de manière plus approfondie:
---
documentclass: scrartcl
header-includes: |
\RedeclareSectionCommand[
beforeskip=-10pt plus -2pt minus -1pt,
afterskip=1sp plus -1sp minus 1sp,
font=\normalfont\itshape]{paragraph}
\RedeclareSectionCommand[
beforeskip=-10pt plus -2pt minus -1pt,
afterskip=1sp plus -1sp minus 1sp,
font=\normalfont\scshape,
indent=0pt]{subparagraph}
...
classoption
option for document class, e.g. oneside
;
repeat for multiple options:
---
classoption:
- twocolumn
- landscape
...
documentclass
document class: usually one of the standard classes, article
, book
, and report
; the
KOMA-Script equivalents, scrartcl
, scrbook
,
and scrreprt
, which default to smaller
margins; or memoir
geometry
option for geometry
package, e.g. margin=1in
; repeat for
multiple options:
---
geometry:
- top=30mm
- left=20mm
- heightrounded
...
hyperrefoptions
option for hyperref
package, e.g. linktoc=all
; repeat for
multiple options:
---
hyperrefoptions:
- linktoc=all
- pdfwindowui
- pdfpagemode=FullScreen
...
indent
uses document class settings for indentation (the default LaTeX template
otherwise removes indentation and adds space between paragraphs)
linestretch
adjusts line spacing using the setspace
package, e.g. 1.25
, 1.5
margin-left
, margin-right
, margin-top
, margin-bottom
sets margins if geometry
is not used
(otherwise geometry
overrides these)
pagestyle
control \pagestyle{}
: the default article
class supports plain
(default), empty
(no running heads or page numbers), and
headings
(section titles in running heads)
papersize
paper size, e.g. letter
, a4
secnumdepth
numbering depth for sections (with
--number-sections
option or numbersections
variable)
fontenc
allows font encoding to be specified through fontenc
package (with pdflatex
); default is T1
(see LaTeX font encodings
guide)
fontfamily
font package for use with pdflatex
: TeX
Live includes many options, documented in
the LaTeX Font Catalogue. The default
is Latin Modern.
fontfamilyoptions
options for package used as fontfamily
;
repeat for multiple options. For example, to use the Libertine font with
proportional lowercase (old-style) figures through the libertinus
package:
---
fontfamily: libertinus
fontfamilyoptions:
- osf
- p
...
fontsize
font size for body text. The standard classes allow 10pt, 11pt, and
12pt. To use another size, set documentclass
to one of the
KOMA-Script classes, such as scrartcl
or scrbook
.
mainfont
, sansfont
, monofont
, mathfont
, CJKmainfont
font families for use with xelatex
or
lualatex
: take the name of any system
font, using the fontspec
package. CJKmainfont
uses the xecjk
package.
mainfontoptions
, sansfontoptions
, monofontoptions
, mathfontoptions
, CJKoptions
options to use with mainfont
, sansfont
, monofont
, mathfont
, CJKmainfont
in xelatex
and lualatex
. Allow for any choices available
through fontspec
; repeat
for multiple options. For example, to use the TeX
Gyre version of
Palatino with lowercase figures:
---
mainfont: TeX Gyre Pagella
mainfontoptions:
- Numbers=Lowercase
- Numbers=Proportional
...
microtypeoptions
options to pass to the microtype package
colorlinks
add color to link text; automatically enabled if any of linkcolor
, filecolor
, citecolor
, urlcolor
, or toccolor
are set
linkcolor
, filecolor
, citecolor
, urlcolor
, toccolor
color for internal links, external links, citation links, linked URLs,
and links in table of contents, respectively: uses options allowed by
xcolor
,
including the dvipsnames
, svgnames
, and x11names
lists
links-as-notes
causes links to be printed as footnotes
lof
, lot
include list of figures, list of tables
thanks
contents of acknowledgments footnote after document title
toc
include table of contents (can also be set using
--toc/--table-of-contents
)
toc-depth
level of section to include in table of contents
These variables function when using BibLaTeX for citation rendering.
biblatexoptions
list of options for biblatex
biblio-style
bibliography style, when used with
--natbib
and
--biblatex
.
biblio-title
bibliography title, when used with
--natbib
and
--biblatex
.
bibliography
bibliography to use for resolving references
natbiboptions
list of options for natbib
Pandoc uses these variables when creating a PDF with ConTeXt.
fontsize
font size for body text (e.g. 10pt
, 12pt
)
headertext
, footertext
text to be placed in running header or footer (see ConTeXt Headers and
Footers); repeat up
to four times for different placement
indenting
controls indentation of paragraphs, e.g. yes,small,next
(see ConTeXt
Indentation); repeat for
multiple options
interlinespace
adjusts line spacing, e.g. 4ex
(using
setupinterlinespace
);
repeat for multiple options
layout
options for page margins and text arrangement (see ConTeXt
Layout); repeat for multiple
options
linkcolor
, contrastcolor
color for links outside and inside a page, e.g. red
, blue
(see
ConTeXt Color)
linkstyle
typeface style for links, e.g. normal
,
bold
, slanted
, boldslanted
, type
,
cap
, small
lof
, lot
include list of figures, list of tables
mainfont
, sansfont
, monofont
, mathfont
font families: take the name of any system font (see ConTeXt Font
Switching)
margin-left
, margin-right
, margin-top
, margin-bottom
sets margins, if layout
is not used
(otherwise layout
overrides these)
pagenumbering
page number style and location (using setuppagenumbering
);
repeat for multiple options
papersize
paper size, e.g. letter
, A4
, landscape
(see
ConTeXt Paper Setup);
repeat for multiple options
pdfa
adds to the preamble the setup necessary to generate PDF/A of the type
specified, e.g. 1a:2005
, 2a
. If no type is specified (i.e. the value is
set to True, by
e.g. --metadata=pdfa
or pdfa: true
in a YAML metadata block),
1b:2005
will be used as default, for
reasons of backwards compatibility. Using
--variable=pdfa
without specified value is not supported. To successfully generate PDF/A
the required ICC color profiles have to be available and the content and
all included files (such as images) have to be standard conforming. The
ICC profiles and output intent may be specified using the variables
pdfaiccprofile
and pdfaintent
. See also ConTeXt
PDFA for more details.
pdfaiccprofile
when used in conjunction with pdfa
,
specifies the ICC profile to use in the PDF, e.g. default.cmyk
. If left unspecified, sRGB.icc
is used as default. May be repeated to
include multiple profiles. Note that the profiles have to be available
on the system. They can be obtained from ConTeXt ICC
Profiles.
pdfaintent
when used in conjunction with pdfa
,
specifies the output intent for the colors, e.g. ISO coated v2 300\letterpercent\space (ECI)
If left unspecified, sRGB IEC61966-2.1
is
used as default.
toc
include table of contents (can also be set using
--toc/--table-of-contents
)
whitespace
spacing between paragraphs, e.g. none
,
small
(using setupwhitespace
)
includesource
include all source documents as file attachments in the PDF file
Pandoc uses these variables when creating a PDF with
wkhtmltopdf
.
The
--css
option also affects the output.
footer-html
, header-html
add information to the header and footer
margin-left
, margin-right
, margin-top
, margin-bottom
set the page margins
papersize
sets the PDF paper size
adjusting
adjusts text to left (l
), right (r
), center (c
), or
both (b
) margins
footer
footer in man pages
header
header in man pages
hyphenate
if true
(the default), hyphenation will be
used
section
section number in man pages
fontfamily
font family (e.g. T
or P
)
indent
paragraph indent (e.g. 2m
)
lineheight
line height (e.g. 12p
)
pointsize
point size (e.g. 10p
)
Pandoc sets these variables automatically in response to options or document contents; users can also modify them. These vary depending on the output format, and include the following:
body
body of document
date-meta
the date
variable converted to ISO 8601
YYYY-MM-DD, included in all HTML based formats (dzslides, epub, html,
html4, html5, revealjs, s5, slideous, slidy). The recognized formats for
date
are: mm/dd/yyyy
, mm/dd/yy
, yyyy-mm-dd
(ISO 8601), dd MM yyyy
(e.g. either 02 Apr 2018
or 02 April 2018
), MM dd, yyyy
(e.g. Apr. 02, 2018
or April 02, 2018),
yyyy[mm[dd]]](e.g.
20180402, 201804
or 2018
).
header-includes
contents specified by
-H/--include-in-header
(may have multiple values)
include-before
contents specified by
-B/--include-before-body
(may have multiple values)
include-after
contents specified by
-A/--include-after-body
(may have multiple values)
meta-json
JSON representation of all of the document’s metadata. Field values are
transformed to the selected output format.
numbersections
non-null value if
-N/--number-sections
was specified
sourcefile
, outputfile
les noms de fichiers source et destination, tels qu'ils sont indiqués
sur la ligne de commande. sourcefile
peut
également être une liste si la saisie provient de plusieurs fichiers, ou
vide si la saisie provient de stdin. Vous pouvez utiliser l'extrait
suivant dans votre modèle pour les distinguer :
$if(sourcefile)$
$for(sourcefile)$
$sourcefile$
$endfor$
$else$
(stdin)
$endif$
Similarly, outputfile
can be -
if output goes to the terminal.
If you need absolute paths, use e.g. $curdir$/$sourcefile$
.
curdir
working directory from which pandoc is run.
toc
non-null value if
--toc/--table-of-contents
was specified
toc-title
title of table of contents (works only with EPUB, HTML, opendocument,
odt, docx, pptx, beamer, LaTeX)
Le comportement de certains lecteurs et "writers" peut être ajusté en activant ou en désactivant diverses extensions.
Une extension peut être activée en ajoutant +EXTENSION
au nom du format et désactivé en
ajoutant -EXTENSION
Par exemple,
--from markdown_strict+footnotes
est du Markdown strict avec les notes de bas de page activées, tandis
que
--from markdown-footnotes-pipe_tables
est
le Markdown de pandoc sans les notes de bas de page, ni les
"pipe-tables".
Le lecteur et le créateur Markdown sont de loin ceux qui utilisent le
plus les extensions. Les extensions qu'ils utilisent seuls sont donc
couvertes dans la section Pandoc’s Markdown
ci-dessous (Voir Markdown variants pour commonmark
et gfm
.) Dans ce qui suit, les extensions qui
fonctionnent également pour d'autres formats sont couvertes.
Notez que les extensions Markdown ajoutées au format ipynb
affectent les cellules Markdown des
notebooks Jupiler (comme les options en ligne de commande telles que
--atx-headers
).
Interpret straight quotes as curly quotes, ---
as em-dashes, --
as en-dashes, and ...
as ellipses. Nonbreaking spaces are inserted
after certain abbreviations, such as “Mr.”
Cette extension peut être activée/désactivée pour les formats suivants :
input formats
markdown
, commonmark
, latex
,
mediawiki
, org
, rst
, twiki
output formats
markdown
, latex
, context
,
rst
enabled by default in
markdown
, latex
, context
(both input and output)
Note: Si vous convertissez en Markdown, alors l' extension smart
a l'effet inverse : what would have been
curly quotes comes out straight.
In LaTeX, smart
means to use the standard
TeX ligatures for quotation marks (``
and ''
for double quotes, `
and '
for single quotes) and dashes (--
for en-dash and ---
for em-dash). If smart
is disabled, then in reading LaTeX pandoc
will parse these characters literally. In writing LaTeX, enabling smart
tells pandoc to use the ligatures when
possible; if smart
is disabled pandoc will
use unicode quotation mark and dash characters.
Une rubrique sans identifiant explicitement spécifié se verra automatiquement attribuer un identifiant unique basé sur le texte de la rubrique.
Cette extension peut être activée/désactivée pour les formats suivants :
input formats
markdown
, latex
, rst
, mediawiki
, textile
output formats
markdown
, muse
enabled by default in
markdown
, muse
L'algorithme par défaut utilisé pour dériver l'identifiant à partir du texte de l'en-tête est :
- Supprimer tout formatage, liens, etc..
- Supprimer toutes les notes de bas de page.
- Supprimer tous les caractères non alphanumériques, à l'exception des traits de soulignement, des traits d'union et des points.
- Remplacer tous les espaces et les nouvelles lignes par des traits d'union.
- Convertir tous les caractères alphabétiques en minuscules.
- Supprimer tout jusqu'à la première lettre (les identifiants ne peuvent pas commencer par un chiffre ou un signe de ponctuation).
- S'il ne reste rien après cela, utilisez l'identifiant
section
.
Thus, for example,
Heading | Identifier |
---|---|
Heading identifiers in HTML |
heading-identifiers-in-html |
Maître d'hôtel |
maître-dhôtel |
*Dogs*?--in *my* house? |
dogs--in-my-house |
[HTML], [S5], or [RTF]? |
html-s5-or-rtf |
3. Applications |
applications |
33 |
section |
Ces règles devraient, dans la plupart des cas, permettre de déterminer
l'identifiant à partir du texte de l'en-tête. L'exception est lorsque
plusieurs rubriques ont le même texte ; dans ce cas, la première
obtiendra un identifiant comme décrit ci-dessus ; la seconde obtiendra
le même identifiant en y suffixant -1
; le
troisième avec -2
; etc...
(Toutefois, un algorithme différent est utilisé si gfm_auto_identifiers
est activée ; voir
ci-dessous .)
Ces identificateurs sont utilisés pour fournir des cibles de liens dans
la table des matières générée par l'option
--toc|--table-of-contents
.
Ils permettent également de fournir facilement des liens d'une section
d'un document à une autre. Un lien vers cette section, par exemple,
pourrait ressembler à ceci :
See the section on
[heading identifiers](#heading-identifiers-in-html-latex-and-context).
Notez toutefois que cette méthode de fourniture de liens vers les sections ne fonctionne qu'aux formats HTML, LaTeX et ConTeXt.
Si
l'option--section-divs
est
spécifiée, alors chaque section sera incluse dans une section
(ou une div
, si html4
a
été spécifié), et l'identifiant sera joint comme étiquette de <section>
(ou <div>
) plutôt que l'en-tête lui-même. Cela
permet de manipuler des sections entières à l'aide de JavaScript ou de
les traiter différemment en CSS.
Causes the identifiers produced by auto_identifiers
to be pure ASCII. Accents are
stripped off of accented Latin letters, and non-Latin letters are
omitted.
Change l'algorithme utilisé par auto_identifiers
pour correspondre à la méthode
GitHub. Les espaces sont convertis en tirets (-
), des caractères majuscules aux caractères
minuscules, et des caractères de ponctuation autres que -
et _
sont
enlevés. Les emojis sont remplacés par leur nom.
Les extensions tex_math_dollars
,
tex_math_single_backslash
et,
tex_math_double_backslash
sont décrits dans la section consacrée à Markdown Pandoc.
Cependant, ils peuvent également être utilisés avec une entrée HTML. C'est pratique pour lire des pages web formatées avec MathJax, par exemple.
The following extensions (especially how they affect Markdown input/output) are also described in more detail in their respective sections of Pandoc’s Markdown.
When converting from HTML, parse elements to raw HTML which are not representable in pandoc’s AST. By default, this is disabled for HTML input.
Allows raw LaTeX, TeX, and ConTeXt to be included in a document.
This extension can be enabled/disabled for the following formats (in
addition to markdown
):
input formats
latex
, org
,
textile
, html
(environments, \ref
, and \eqref
only), ipynb
output formats
textile
, commonmark
Note: as applied to ipynb
, raw_html
and raw_tex
affect not only raw TeX in markdown
cells, but data with mime type text/html
in output cells. Since the ipynb
reader
attempts to preserve the richest possible outputs when several options
are given, you will get best results if you disable raw_html
and raw_tex
when converting to formats like docx
which don’t allow raw html
or tex
.
This extension is enabled by default for HTML input. This means that
div
s are parsed to pandoc native elements.
(Alternatively, you can parse them to raw HTML using
-f html-native_divs+raw_html
.)
When converting HTML to Markdown, for example, you may want to drop all
div
s and span
s:
pandoc -f html-native_divs-native_spans -t markdown
Analogous to native_divs
above.
Treat the document as literate Haskell source.
This extension can be enabled/disabled for the following formats:
input formats
markdown
, rst
, latex
output formats
markdown
, rst
, latex
, html
If you append +lhs
(or +literate_haskell
) to one of the formats above,
pandoc will treat the document as literate Haskell source. This means
that
-
In Markdown input, “bird track” sections will be parsed as Haskell code rather than block quotations. Text between
\begin{code}
and\end{code}
will also be treated as Haskell code. For ATX-style headings the character ‘=’ will be used instead of ‘#’. -
In Markdown output, code blocks with classes
haskell
andliterate
will be rendered using bird tracks, and block quotations will be indented one space, so they will not be treated as Haskell code. In addition, headings will be rendered setext-style (with underlines) rather than ATX-style (with ‘#’ characters). (This is because ghc treats ‘#’ characters in column 1 as introducing line numbers.) -
In restructured text input, “bird track” sections will be parsed as Haskell code.
-
In restructured text output, code blocks with class
haskell
will be rendered using bird tracks. -
In LaTeX input, text in
code
environments will be parsed as Haskell code. -
In LaTeX output, code blocks with class
haskell
will be rendered insidecode
environments. -
In HTML output, code blocks with class
haskell
will be rendered with classliteratehaskell
and bird tracks.
Examples:
pandoc -f markdown+lhs -t html
reads literate Haskell source formatted with Markdown conventions and writes ordinary HTML (without bird tracks).
pandoc -f markdown+lhs -t html+lhs
writes HTML with the Haskell code in bird tracks, so it can be copied and pasted as literate Haskell source.
Note that GHC expects the bird tracks in the first column, so indented literate code blocks (e.g. inside an itemized environment) will not be picked up by the Haskell compiler.
Allows empty paragraphs. By default empty paragraphs are omitted.
This extension can be enabled/disabled for the following formats:
input formats
docx
, html
output formats
docx
, odt
,
opendocument
, html
Enables native numbering of figures and tables. Enumeration starts at 1.
This extension can be enabled/disabled for the following formats:
output formats
odt
, opendocument
When converting from docx, read all docx styles as divs (for paragraph styles) and spans (for character styles) regardless of whether pandoc understands the meaning of these styles. This can be used with docx custom styles. Disabled by default.
input formats
docx
In the muse
input format, this enables
Text::Amuse extensions to Emacs Muse markup.
Some aspects of Pandoc’s Markdown citation syntax are also
accepted in org
input.
In the context
output format this enables
the use of Natural Tables
(TABLE) instead of the default
Extreme Tables (xtables).
Natural tables allow more fine-grained global customization but come at
a performance penalty compared to extreme tables.
Pandoc comprend une version étendue et légèrement révisée de la syntaxe
du Markdown de John
Gruber. Ce document explique la syntaxe, en notant les différences par
rapport au Markdown standard. Sauf indication contraire, ces différences
peuvent être supprimées en utilisant le format markdown_strict
au lieu de markdown
. Des extensions peuvent être activées
ou désactivées pour spécifier le comportement de manière plus
granulaire. Elles sont décrites ci-après. Voir aussi
Extensions ci-dessus, pour les extensions qui
fonctionnent également sur d'autres formats.
Markdown est conçu pour être facile à écrire et, plus important encore, facile à lire :
Un document au format Markdown doit pouvoir être publié tel quel, en texte brut, sans avoir l'air d'avoir été marqué avec des balises ou des instructions de formatage. – John Gruber
Ce principe a guidé les décisions de pandoc pour trouver la syntaxe des tableaux, notes de bas de page et autres extensions.
Il y a toutefois un point sur lequel les objectifs de pandoc diffèrent des objectifs initiaux de Markdown. Alors que Markdown a été conçu à l'origine avec la génération HTML à l'esprit, pandoc est conçu pour de multiples formats de sortie. Ainsi, alors que pandoc permet l'intégration de HTML brut, il le décourage et fournit d'autres moyens, non HTML, de représenter les éléments importants d'un document comme les listes de définitions, les tableaux, les mathématiques et les notes de bas de page.
Un paragraphe est une ou plusieurs lignes de texte suivies d'une ou plusieurs lignes blanches. Les nouvelles lignes sont traitées comme des espaces, de sorte que vous pouvez refondre vos paragraphes comme vous le souhaitez. Si vous avez besoin d'un retour à la ligne, mettez deux espaces ou plus à la fin d'une ligne.
Une barre oblique inversée suivie d'une nouvelle ligne est également une rupture de ligne. Remarque : dans les cellules de tableaux à lignes multiples et de grilles, c'est la seule façon de créer un saut de ligne, car les espaces de fin de ligne dans les cellules sont ignorés.
Il existe deux types de rubriques : Setext et ATX.
Un en-tête de type setext est une ligne de texte "soulignée" avec une
rangée de signes =
(pour un titre de
niveau 1) ou de signes -
(pour un titre de
niveau 2) :
A level-one heading
===================
A level-two heading
-------------------
Le texte de l'en-tête peut contenir un formatage en ligne, tel que l'accentuation (voir Inline formatting, ci-dessous).
Une rubrique de type ATX se compose de un à six signes #
et une ligne de texte, éventuellement suivie
d'un nombre quelconque de signes #
. Le
nombre de signes #
en début de ligne donne
le niveau de titre :
## Un titre de niveau 2
### Un titre de niveau 3 ###
Comme pour les titres de type setext, le texte du titre peut contenir un formatage :
# Un titre de niveau 1 avec [lien url](/url) et *emphase*
La syntaxe standard de Markdown ne nécessite pas de ligne blanche avant
un titre. Pandoc l'exige (sauf, bien sûr, au début du document). La
raison de cette exigence est qu'il est trop facile pour un #
de se retrouver accidentellement au début
d'une ligne (peut-être à cause d'un retour à la ligne). Prenons un
exemple :
I like several of their flavors of ice cream:
#22, for example, and #5.
De nombreuses mises en œuvre de Markdown ne nécessitent pas d'espace
entre #
ouvrant d'une en-tête ATX et le
texte de l'en-tête, de sorte que #5 bolt
et #hashtag
sont considérés comme des en-têtes.
Avec cette extension, pandoc nécessite l'espace.
Voir aussi l' extension auto_identifiers
ci-dessus.
Les titres peuvent se voir attribuer des attributs en utilisant cette syntaxe à la fin de la ligne contenant le texte du titre :
{#identifier .class .class key=value key=value}
Ainsi, par exemple, les rubriques suivantes se verront toutes attribuer
l'identifiant foo
:
# My heading {#foo}
## My heading ## {#foo}
My other heading {#foo}
---------------
(Cette syntaxe est compatible avec PHP Markdown Extra.)
Notez que bien que cette syntaxe permette l'attribution de classes et d'attributs de clés/valeurs, les auteurs n'utilisent généralement pas toutes ces informations. Les identificateurs, les classes et les attributs clé/valeur sont utilisés dans les formats HTML et HTML-based tels que EPUB et slidy. Les identificateurs sont utilisés pour les étiquettes et les ancres de liens dans les rédacteurs LaTeX, ConTeXt, Textile, Jira markup et AsciiDoc.
Les titres avec la classe unnumbered
ne
seront pas numérotés, même si
--number-sections
est spécifié. Un tiret simple (-
) dans un
contexte d'attributs est équivalent à.unnumbered
et préférable dans les documents non
anglais. Donc,
# My heading {-}
est identique à
# My heading {.unnumbered}
Si la classe unlisted
est présente avec
unnumbered
, le titre ne sera pas inclus
dans une table des matières. (Actuellement, cette fonctionnalité n'est
mise en œuvre que pour certains formats : ceux basés sur LaTeX et HTML,
PowerPoint et RTF).
Pandoc se comporte comme si des liens de référence avaient été définis pour chaque rubrique. Ainsi, pour établir un lien avec une rubrique
# Heading identifiers in HTML
vous pouvez simplement écrire
[Heading identifiers in HTML]
ou
[Heading identifiers in HTML][]
ou
[the section on heading identifiers][heading identifiers in
HTML]
au lieu de donner l'identifiant explicitement :
[Heading identifiers in HTML](#heading-identifiers-in-html)
Si plusieurs rubriques ont un texte identique, la référence correspondante ne sera liée qu'à la première, et vous devrez utiliser des liens explicites pour établir des liens avec les autres, comme décrit ci-dessus.
Comme les liens de référence réguliers, ces références ne sont pas sensibles à la casse.
Les définitions des références de liens explicites ont toujours la
priorité sur les références implicites des rubriques. Ainsi, dans
l'exemple suivant, le lien pointera vers bar
, pas vers #foo
:
# Foo
[foo]: bar
Voir [foo]
Markdown utilise les conventions du courrier électronique pour citer des
blocs de texte. Un bloc de citation est un ou plusieurs paragraphes ou
autres éléments de bloc (tels que des listes ou des titres), chaque
ligne étant précédée d'un caractère >
et
d'une espace optionnelle . (Le >
doit
démarrer à la marge gauche, mais il ne doit pas être indenté de plus de
trois espaces.)
> This is a block quote. This
> paragraph has two lines.
>
> 1. This is a list inside a block quote.
> 2. Second item.
Une forme "paresseuse", qui nécessite le caractère >
uniquement sur la première ligne de chaque
bloc, est également autorisée :
> This is a block quote. This
paragraph has two lines.
> 1. This is a list inside a block quote.
2. Second item.
Parmi les éléments du bloc qui peuvent être contenus dans une citation en bloc, on trouve d'autres citations en bloc. C'est-à-dire que les citations en bloc peuvent être imbriquées :
> This is a block quote.
>
> > A block quote within a block quote.
Si le caractère >
est suivi d'un espace
facultatif, cet espace sera considéré comme faisant partie du guillemet
et non de l'indentation du contenu. Ainsi, pour mettre un bloc de code
indenté dans un bloc de guillemets, vous avez besoin de cinq espaces
après le >
:
> code
La syntaxe standard de Markdown ne nécessite pas de ligne blanche avant
une citation bloc. Pandoc l'exige (sauf, bien sûr, au début du
document). La raison de cette exigence est qu'il est trop facile pour un
>
de se retrouver au début d'une ligne par
accident (peut-être à cause de l'enroulement de la ligne). Ainsi, à
moins que le format markdown_strict
soit
utilisé, ce qui suit ne produit pas une citation en bloc imbriquée dans
pandoc :
> This is a block quote.
>> Nested.
Un bloc de texte indenté de quatre espaces (ou une tabulation) est traité comme du texte textuel : c'est-à-dire que les caractères spéciaux ne déclenchent pas de formatage particulier, et que tous les espaces et sauts de ligne sont préservés. Par exemple, les caractères spéciaux ne déclenchent pas de formatage spécial et tous les espaces et sauts de ligne sont conservés,
if (a > 3) {
moveShip(5 * gravity, DOWN);
}
L'indentation initiale (quatre espaces ou une tabulation) n'est pas considérée comme faisant partie du texte intégral et est supprimée dans la sortie.
Note : les lignes vierges dans le texte du compte rendu ne doivent pas nécessairement commencer par quatre espaces.
En plus des blocs de code standard indentés, pandoc prend en charge les
blocs de code clôturés. Ceux-ci commencent par une rangée de trois
tildes ou plus (~
) et se terminent par une
rangée de tildes qui doit être au moins aussi longue que la rangée de
départ. Tout ce qui se trouve entre ces lignes est traité comme un code.
Aucune indentation n'est nécessaire :
~~~~~~~
if (a > 3) {
moveShip(5 * gravity, DOWN);
}
~~~~~~~
Comme les blocs de code ordinaires, les blocs de code clôturés doivent être séparés du texte environnant par des lignes blanches.
Si le code lui-même contient une rangée de tildes ou de bâtons "backticks", il suffit d'utiliser une rangée plus longue de tildes ou de bâtons au début et à la fin :
~~~~~~~~~~~~~~~~
~~~~~~~~~~
code including tildes
~~~~~~~~~~
~~~~~~~~~~~~~~~~
Identique à fenced_code_blocks
, mais
utilise des "backticks" (`
) au lieu de
tildes (~
).
Vous pouvez, si vous le souhaitez, attacher des attributs à un bloc de code clôturé ou à un bloc de code backtick en utilisant cette syntaxe :
~~~~ {#mycode .haskell .numberLines startFrom="100"}
qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
qsort (filter (>= x) xs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ici mycode
est un identificateur, haskell
et numberLines
sontet des classes, startFrom
est un attribut de valeur 100
. Certains formats de sortie peuvent utiliser
ces informations pour effectuer une mise en évidence syntaxique.
Actuellement, les seuls formats de sortie qui utilisent ces informations
sont HTML, LaTeX, Docx, Ms et PowerPoint. Si la coloration syntaxique
est prise en charge pour votre format de sortie et votre langue, le bloc
de code ci-dessus apparaîtra en surbrillance, avec des lignes
numérotées. (Pour savoir quelles langues sont prises en charge, tapez
pandoc --list-highlight-languages
.)
Sinon, le bloc de code ci-dessus apparaîtra comme suit :
<pre id="mycode" class="haskell numberLines" startFrom="100">
<code>
...
</code>
</pre>
La classe numberLines
(ou number-lines
) fera en sorte que les lignes du
bloc de code soient numérotées, en commençant par 1
ou par la valeur de l'attribut startFrom
. La classe lineAnchors
(ou line-anchors
) fera en sorte que les lignes
soient des ancres cliquables dans la sortie HTML.
Un formulaire de raccourci peut également être utilisé pour spécifier la langue du bloc de code :
```haskell
qsort [] = []
```
Ce qui est équivalent à :
``` {.haskell}
qsort [] = []
```
Si l'extension fenced_code_attributes
est
désactivée, mais l'entrée contient un ou plusieurs attributs de classe
pour le bloc de code, le premier attribut de classe sera imprimé après
la clôture ouvrante comme un mot vide.
Pour éviter toute mise en évidence, utilisez la fonction
--no-highlight
flag. To set the highlighting style, use
--highlight-style
.
Pour plus d'informations sur la mise en évidence, voir Syntax
highlighting, ci-dessous.
Un bloc de lignes est une séquence de lignes commençant par une barre
verticale (|
) suivie d'un espace. La
division en lignes sera préservée dans la sortie, tout comme les espaces
de tête de ligne ; sinon, les lignes seront formatées en Markdown. Ceci
est utile pour les vers et les adresses :
| The limerick packs laughs anatomical
| In space that is quite economical.
| But the good ones I've seen
| So seldom are clean
| And the clean ones so seldom are comical
| 200 Main St.
| Berkeley, CA 94718
Les lignes peuvent être forcées en fin de ligne si nécessaire, mais la ligne de continuation doit commencer par un espace.
| The Right Honorable Most Venerable and Righteous Samuel L.
Constable, Jr.
| 200 Main St.
| Berkeley, CA 94718
Cette syntaxe est empruntée à reStructuredText.
Une liste à puces est une liste d'éléments d'une liste à puces. Une
liste à puces commence par une puce (*
,
+
, ou -
).
Voici un exemple simple :
* one
* two
* three
Il en résultera une liste "compacte". Si vous voulez une liste "libre", dans laquelle chaque élément est formaté en paragraphe, mettez des espaces entre les éléments :
* one
* two
* three
Les puces n'ont pas besoin d'être alignées avec la marge de gauche ; elles peuvent être indentées d'un, deux ou trois espaces. La puce doit être suivie d'un espace.
Les éléments de la liste ont une meilleure apparence si les lignes suivantes affleurent avec la première ligne (après la puce) :
* here is my first
list item.
* and my second.
Mais Markdown permet aussi un format "paresseux" :
* here is my first
list item.
* and my second.
Un élément de liste peut contenir plusieurs paragraphes et d'autres contenus au niveau des blocs. Toutefois, les paragraphes suivants doivent être précédés d'une ligne blanche et être en retrait pour s'aligner sur le premier contenu non spatial après le marqueur de liste.
* First paragraph.
Continued.
* Second paragraph. With a code block, which must be indented
eight spaces:
{ code }
Exception : si le marqueur de liste est suivi d'un bloc de code indenté, qui doit commencer 5 espaces après le marqueur de liste, alors les paragraphes suivants doivent commencer deux colonnes après le dernier caractère du marqueur de liste :
* code
continuation paragraph
Les éléments de la liste peuvent inclure d'autres listes. Dans ce cas, la ligne blanche précédente est facultative. La liste imbriquée doit être mise en retrait pour s'aligner sur le premier caractère non espace après le marqueur de liste de l'élément de liste qui la contient.
* fruits
+ apples
- macintosh
- red delicious
+ pears
+ peaches
* vegetables
+ broccoli
+ chard
Comme indiqué ci-dessus, Markdown vous permet d'écrire les éléments de la liste "paresseusement", au lieu d'indenter les lignes de continuation. Toutefois, si un élément de liste comporte plusieurs paragraphes ou d'autres blocs, la première ligne de chacun doit être mise en retrait.
+ A lazy, lazy, list
item.
+ Another one; this looks
bad but is legal.
Second paragraph of second
list item.
Les listes ordonnées fonctionnent comme les listes à puces, sauf que les éléments commencent par des énumérateurs plutôt que par des puces.
Dans le Markdown standard, les énumérateurs sont des nombres décimaux suivis d'un point et d'un espace. Les nombres eux-mêmes sont ignorés, il n'y a donc pas de différence entre cette liste :
1. one
2. two
3. three
et celle-là :
5. one
7. two
1. three
Contrairement au système standard de Markdown, pandoc permet de marquer les articles d'une liste ordonnée avec des lettres majuscules et minuscules et des chiffres romains, en plus des chiffres arabes. Les marques de liste peuvent être mises entre parenthèses ou suivies d'une seule parenthèse droite ou d'un point. Ils doivent être séparés du texte qui suit par au moins un espace et, si le marqueur de liste est une lettre majuscule avec un point, par au moins deux espaces.1
L' extension fancy_lists
autorise
également ‘#
’ à être utilisé comme
marqueur de liste ordonnée à la place d'un chiffre :
#. one
#. two
Pandoc fait également attention au type de marqueur de liste utilisé, et au numéro de départ, et ces deux éléments sont préservés dans la mesure du possible dans le format de sortie. Ainsi, ce qui suit donne une liste avec des chiffres suivis d'une seule parenthèse, commençant par 9, et une sous-liste avec des chiffres romains minuscules :
9) Ninth
10) Tenth
11) Eleventh
i. subone
ii. subtwo
iii. subthree
Pandoc commencera une nouvelle liste chaque fois qu'un type différent de marqueur de liste sera utilisé. Ainsi, trois listes seront créées :
(2) Two
(5) Three
1. Four
* Five
Si des marqueurs de liste par défaut sont souhaités, utilisez #.
:
#. one
#. two
#. three
Pandoc prend en charge les listes de tâches, en utilisant la syntaxe de GitHub-Flavored Markdown.
- [ ] an unchecked task list item
- [x] checked item
Pandoc prend en charge les listes de définition, en utilisant la syntaxe de PHP Markdown Extra avec certaines extensions.2
Term 1
: Definition 1
Term 2 with *inline markup*
: Definition 2
{ some code, part of Definition 2 }
Third paragraph of definition 2.
Chaque terme doit tenir sur une ligne, qui peut éventuellement être suivie d'une ligne blanche, et doit être suivi d'une ou plusieurs définitions. Une définition commence par un deux-points ou un tilde, qui peuvent être indentés d'un ou deux espaces.
Un terme peut avoir plusieurs définitions, et chaque définition peut être constituée d'un ou plusieurs éléments de bloc (paragraphe, bloc de code, liste, etc.), chacun étant indenté de quatre espaces ou d'un tabulateur. Le corps de la définition (y compris la première ligne, à l'exception du deux-points ou du tilde) doit être indenté de quatre espaces. Cependant, comme pour les autres listes Markdown, vous pouvez "paresseusement" omettre l'indentation, sauf au début d'un paragraphe ou d'un autre élément de bloc :
Term 1
: Definition
with lazy continuation.
Second paragraph of the definition.
Si vous laissez un espace avant la définition (comme dans l'exemple ci-dessus), le texte de la définition sera traité comme un paragraphe. Dans certains formats de sortie, cela signifie un plus grand espacement entre les paires terme/définition. Pour une liste de définitions plus compacte, omettez l'espace avant la définition :
Term 1
~ Definition 1
Term 2
~ Definition 2a
~ Definition 2b
Notez que l'espace entre les éléments d'une liste de définitions est
obligatoire. (Une variante qui assouplit cette exigence, mais qui
interdit l'enroulement dur "paresseux", peut être activée avec compact_definition_lists
: voir Non-pandoc
extensions, ci-dessous.)
Le marqueur de listes spécial @
peut être
utilisé pour des exemples numérotés de manière séquentielle. Le premier
élément de la liste avec un marqueur @
sera numéroté ‘1’, le suivant ‘2’, etc.., tout au long du document. Il
n'est pas nécessaire que les exemples numérotés figurent dans une liste
unique ; chaque nouvelle liste utilisant @
reprendra là où la dernière s'est arrêtée. Ainsi, par exemple :
(@) My first example will be numbered (1).
(@) My second example will be numbered (2).
Explanation of examples.
(@) My third example will be numbered (3).
Les exemples numérotés peuvent être étiquetés et mentionnés ailleurs dans le document :
(@good) This is a good example.
As (@good) illustrates, ...
L'étiquette peut être une chaîne de caractères alphanumériques, un trait de soulignement ou un trait d'union.
Note : les paragraphes de suite dans les listes d'exemples doivent
toujours être indentés de quatre espaces, quelle que soit la longueur du
marqueur de liste. Autrement dit, les listes d'exemples se comportent
toujours comme si l'extensionfour_space_rule
est utilisée. En effet, les
étiquettes d'exemple ont tendance à être longues et il serait difficile
d'indenter le contenu jusqu'au premier caractère différent d'une espace
après l'étiquette.
Pandoc se comporte différemment de Markdown.pl
sur certains "cas marginaux"
impliquant des listes. Considérez cette source :
+ First
+ Second:
- Fee
- Fie
- Foe
+ Third
Pandoc transforme cela en une "liste compacte" (sans tags <p>
autour de “First”, “Second”, ou “Third”),
alors que Markdown ajoute les étiquettes <p>
autour de “Second” et “Third” (mais pas
“First”), à cause de l'espace vide autour de "Third". Pandoc suit une
règle simple : si le texte est suivi d'une ligne blanche, il est traité
comme un paragraphe. Puisque "Second" est suivi d'une liste, et non
d'une ligne blanche, il n'est pas traité comme un paragraphe. Le fait
que la liste soit suivie d'une ligne blanche n'a pas d'importance. (Note
: Pandoc fonctionne de cette manière même lorsque le format markdown_strict
est specifié. Ce comportement
est conforme à la description syntaxique officielle de Markdown, même
s'il est différent de celui de Markdown.pl
.)
Que faire si vous voulez mettre un bloc de code indenté après une liste ?
- item one
- item two
{ my code block }
Des problèmes ! Ici, pandoc (comme d'autres implémentations de Markdown)
traitera { my code block }
comme deuxième
paragraphe du point 2, et non comme bloc de code.
Pour "couper" la liste après le point deux, vous pouvez insérer un contenu non indenté, comme un commentaire HTML, qui ne produira pas de sortie visible dans un format quelconque :
- item one
- item two
<!-- end of list -->
{ my code block }
Vous pouvez utiliser la même astuce si vous voulez deux listes consécutives au lieu d'une seule grande liste :
1. one
2. two
3. three
<!-- -->
1. uno
2. dos
3. tres
Une ligne contenant une rangée de trois ou plus de caractères *
, -
, ou _
(éventuellement séparées par des espaces)
produit une règle horizontale :
* * * *
---------------
Quatre types de tableaux peuvent être utilisés. Les trois premiers types supposent l'utilisation d'une police à largeur fixe, telle que Courier. Le quatrième type peut être utilisé avec des polices à espacement proportionnel, car il ne nécessite pas d'aligner les colonnes.
Une légende peut éventuellement être fournie avec les 4 types de
tableaux (comme illustré dans les exemples ci-dessous). Une légende est
un paragraphe qui commence par la chaîne de caractères Table:
(ou simplement :
), qui sera supprimée. Elle peut apparaître
avant ou après le tableau.
De tableaux simples ressemblent à ceci :
Right Left Center Default
------- ------ ---------- -------
12 12 12 12
123 123 123 123
1 1 1 1
Table: Demonstration of simple table syntax.
Les lignes d'en-tête et les lignes de tableau doivent tenir sur une seule ligne. L'alignement des colonnes est déterminé par la position du texte de l'en-tête par rapport à la ligne en pointillés qui se trouve en dessous :3
- Si la ligne pointillée affleure le texte de l'en-tête sur le côté droit mais le dépasse sur la gauche, la colonne est alignée à droite.
- Si la ligne pointillée affleure le texte de l'en-tête sur le côté gauche mais le dépasse sur la droite, la colonne est alignée à gauche.
- Si la ligne pointillée dépasse le texte de l'en-tête des deux côtés, la colonne est centrée.
- Si la ligne pointillée est au ras du texte de l'en-tête des deux côtés, l'alignement par défaut est utilisé (dans la plupart des cas, il sera à gauche).
Le tableau doit se terminer par une ligne blanche, ou une ligne de tirets suivie d'une ligne blanche.
La ligne d'en-tête de la colonne peut être omise, à condition qu'une ligne de tirets soit utilisée pour terminer le tableau. Par exemple, la ligne d'en-tête de la colonne peut être omise, à condition qu'une ligne pointillée soit utilisée pour terminer le tableau :
------- ------ ---------- -------
12 12 12 12
123 123 123 123
1 1 1 1
------- ------ ---------- -------
Lorsque la ligne d'en-tête est omise, l'alignement des colonnes est déterminé sur la base de la première ligne du corps du tableau. Ainsi, dans les tableaux ci-dessus, les colonnes seraient respectivement alignées à droite, à gauche, au centre et à droite.
Les tableaux multilignes permettent aux lignes d'en-tête et de tableau de couvrir plusieurs lignes de texte (mais les cellules qui couvrent plusieurs colonnes ou lignes du tableau ne sont pas prises en charge). Voici un exemple :
-------------------------------------------------------------
Centered Default Right Left
Header Aligned Aligned Aligned
----------- ------- --------------- -------------------------
First row 12.0 Example of a row that
spans multiple lines.
Second row 5.0 Here's another one. Note
the blank line between
rows.
-------------------------------------------------------------
Table: Here's the caption. It, too, may span
multiple lines.
Ceux-ci fonctionnent comme de simples tableaux, mais avec les différences suivantes :
- Ils doivent commencer par une rangée de tirets, avant le texte de l'en-tête (sauf si la rangée de l'en-tête est omise).
- Ils doivent se terminer par une rangée de tirets, puis par une ligne blanche.
- Les lignes doivent être séparées par des lignes blanches.
Dans les tableaux multilignes, l'analyseur de tableau fait attention à la largeur des colonnes, et les auteurs essaient de reproduire ces largeurs relatives dans le résultat. Ainsi, si vous trouvez qu'une des colonnes est trop étroite dans la sortie, essayez de l'élargir dans la source Markdown.
L'en-tête peut être omis dans les tableaux multilignes ainsi que dans les tableaux simples :
----------- ------- --------------- -------------------------
First row 12.0 Example of a row that
spans multiple lines.
Second row 5.0 Here's another one. Note
the blank line between
rows.
----------- ------- --------------- -------------------------
: Here's a multiline table without a header.
Il est possible qu'un tableau multiligne ne comporte qu'une seule ligne, mais celle-ci doit être suivie d'une ligne blanche (et ensuite de la ligne de tirets qui termine le tableau), ou le tableau peut être interprété comme un tableau simple.
Les tableaux quadrillés ressemblent à ceci :
: Sample grid table.
+---------------+---------------+--------------------+
| Fruit | Price | Advantages |
+===============+===============+====================+
| Bananas | $1.34 | - built-in wrapper |
| | | - bright color |
+---------------+---------------+--------------------+
| Oranges | $2.10 | - cures scurvy |
| | | - tasty |
+---------------+---------------+--------------------+
La rangée de =
sépare l'en-tête du corps de
la table, et peut être omise pour une table sans en-tête. Les cellules
des tableaux à grille peuvent contenir des éléments de bloc arbitraires
(plusieurs paragraphes, blocs de code, listes, etc.). Les cellules qui
couvrent plusieurs colonnes ou lignes ne sont pas prises en charge. Les
tableaux de grille peuvent être créés facilement en utilisant le mode
tableau d'Emacs (M-x table-insert
).
Les alignements peuvent être spécifiés comme dans les tableaux "pipe", en plaçant des deux-points aux limites de la ligne de séparation après l'en-tête :
+---------------+---------------+--------------------+
| Right | Left | Centered |
+==============:+:==============+:==================:+
| Bananas | $1.34 | built-in wrapper |
+---------------+---------------+--------------------+
Pour les tableaux sans en-tête, les deux-points vont plutôt sur la ligne supérieure :
+--------------:+:--------------+:------------------:+
| Right | Left | Centered |
+---------------+---------------+--------------------+
Pandoc ne prend pas en charge les tableaux à grille avec des étendues de lignes ou de colonnes. Cela signifie que ni le nombre variable de colonnes sur les lignes ni le nombre variable de lignes sur les colonnes ne sont pris en charge par Pandoc. Toutes les grilles doivent avoir le même nombre de colonnes dans chaque ligne et le même nombre de lignes dans chaque colonne. Par exemple, les exemples Docutils grid tables ne donnera pas le résultat escompté avec Pandoc.
Les tableaux pipe ressemblent à ceci :
| Right | Left | Default | Center |
|------:|:-----|---------|:------:|
| 12 | 12 | 12 | 12 |
| 123 | 123 | 123 | 123 |
| 1 | 1 | 1 | 1 |
: Demonstration of pipe table syntax.
La syntaxe est identique aux tableaux PHP Markdown Extra tables. Les caractères de début et de fin de pipe sont facultatifs, mais les pipes sont obligatoires entre toutes les colonnes. Les deux points indiquent l'alignement des colonnes comme indiqué. L'en-tête ne peut pas être omis. Pour simuler un tableau sans en-tête, il faut inclure un en-tête avec des cellules vides.
Comme les pipes indiquent les limites des colonnes, il n'est pas nécessaire d'aligner les colonnes verticalement, comme dans l'exemple ci-dessus. Il s'agit donc d'un tableau à pipe parfaitement légal (bien que laid) :
fruit| price
-----|-----:
apple|2.05
pear|1.37
orange|3.09
Les cellules des tableaux pipe ne peuvent pas contenir d'éléments de
bloc comme des paragraphes et des listes, et ne peuvent pas s'étendre
sur plusieurs lignes. Si un tableau pipe contient une ligne dont le
contenu imprimable est plus large que la largeur de la colonne (voir
--columns
),
le tableau prendra alors toute la largeur du texte et le contenu des
cellules s'enveloppera, la largeur relative des cellules étant
déterminée par le nombre de tirets dans la ligne séparant l'en-tête du
tableau du corps du tableau. (Par exemple ---|-
rendrait la première colonne 3/4 et la
deuxième colonne 1/4 de la largeur du texte intégral). En revanche, si
aucune ligne n'est plus large que la largeur de la colonne, le contenu
des cellules ne sera pas "enveloppé", et les cellules seront
dimensionnées en fonction de leur contenu.
Note : pandoc reconnaît également les tableaux de pipe de la forme suivante, tels qu'ils peuvent être produits par le mode orgtbl d'Emacs :
| One | Two |
|-----+-------|
| my | table |
| is | nice |
La différence est l'usage de +
au lieu de
|
. Les autres fonctions de orgtbl ne sont
pas prises en charge. En particulier, pour obtenir un alignement des
colonnes sans défaut, vous devrez ajouter des deux-points comme
ci-dessus.
Si le fichier commence par un bloc titre
% title
% author(s) (separated by semicolons)
% date
il sera analysé comme une information bibliographique, et non comme un texte ordinaire. (Il sera utilisé, par exemple, dans le titre d'une sortie autonome LaTeX ou HTML). Le bloc peut contenir uniquement un titre, un titre et un auteur, ou les trois éléments. Si vous voulez inclure un auteur mais pas de titre, ou un titre et une date mais pas d'auteur, vous avez besoin d'une ligne blanche :
%
% Author
% My title
%
% June 15, 2006
Le titre peut occuper plusieurs lignes, mais les lignes de continuation doivent commencer par un espace avant, donc :
% My title
on multiple lines
Si un document a plusieurs auteurs, les auteurs peuvent être placés sur des lignes séparées avec un espace avant, ou séparés par des points-virgules, ou les deux. Ainsi, tous les éléments suivants sont équivalents :
% Author One
Author Two
% Author One; Author Two
% Author One;
Author Two
La date doit tenir sur une ligne.
Les trois champs de métadonnées peuvent contenir un formatage standard en ligne (italique, liens, notes de bas de page, etc.).
Les blocs de titres seront toujours analysés, mais ils n'affecteront la
sortie que lorsque l'option
--standalone
(-s
est choisie) . En sortie HTML, les titres apparaîtront deux fois : une
fois dans l'en-tête du document - c'est le titre qui apparaîtra en haut
de la fenêtre dans un navigateur - et une fois au début du corps du
document. Le titre dans l'en-tête du document peut comporter un préfixe
facultatif (option
--title-prefix
ou
-T
).
Le titre dans le corps apparaît comme un élément H1 avec la classe
"title", il peut donc être supprimé ou reformaté avec le CSS. Si un
préfixe de titre est spécifié avec
-T
et qu'aucun bloc titre n'apparaît dans le document, le préfixe du titre
sera utilisé seul comme titre HTML.
L'auteur Page de manuel extrait de la ligne de titre un titre, un numéro
de section de la page de manuel et d'autres informations d'en-tête et de
pied de page. Le titre est supposé être le premier mot de la ligne de
titre, qui peut éventuellement se terminer par un numéro de section (à
un seul chiffre) entre parenthèses. (Il ne doit pas y avoir d'espace
entre le titre et les parenthèses.) Tout ce qui suit est supposé être un
texte supplémentaire de pied de page et d'en-tête. Un caractère de pipe
unique (|
) devrait être utilisé pour
séparer le texte du pied de page du texte de l'en-tête. Ainsi,
% PANDOC(1)
donnera une page de manuel avec le titre PANDOC
et la section 1.
% PANDOC(1) Pandoc User Manuals
aura également "manuels d'utilisation Pandoc" dans le bas de page.
% PANDOC(1) Pandoc User Manuals | Version 4.0
aura également "Version 4.0" dans l'en-tête.
Un bloc de métadonnées
YAML est un
objet YAML valide, délimité par une ligne de 3 tirets (---
) au-dessus et une ligne de 3 tirets
en-dessous (---
) or 3 points (...
) en-dessous. Un bloc de métadonnées YAML
peut se trouver n'importe où dans le document, mais s'il ne se trouve
pas au début, il doit être précédé d'une ligne blanche. (Notez qu'en
raison de la façon dont pandoc concatène les fichiers d'entrée lorsque
plusieurs sont fournis, vous pouvez également conserver les métadonnées
dans un fichier YAML séparé et le transmettre à pandoc en tant
qu'argument, avec vos fichiers Markdown :
pandoc chap1.md chap2.md chap3.md metadata.yaml -s -o book.html
Assurez-vous simplement que le fichier YAML commence par ---
et termine avec ---
ou ...
.) Vous
pouvez également utiliser l' option
--metadata-file
.
Cependant, cette approche ne permet pas de référencer le contenu (comme
les notes de bas de page) du document principal de saisie de Markdown.
Les métadonnées seront extraites des champs de l'objet YAML et ajoutées
à toutes les métadonnées de document existantes. Les métadonnées peuvent
contenir des listes et des objets (imbriqués arbitrairement), mais
toutes les chaînes scalaires ("string scalars") seront interprétées
comme des Markdown. Les champs dont les noms se terminent par un trait
de soulignement seront ignorés par pandoc. (Ils peuvent se voir
attribuer un rôle par des processeurs externes.) Les noms de champs ne
doivent pas être interprétables comme des numéros YAML ou des valeurs
booléennes (donc, par exemple, yes
, True
, et 15
ne
peuvent pas être utilisés comme noms de champs).
Un document peut contenir plusieurs blocs de métadonnées. Si deux blocs de métadonnées tentent de définir le même champ, la valeur du deuxième bloc sera prise.
Lorsque pandoc est utilisé avec
-t markdown
pour créer un document Markdown, un bloc de métadonnées YAML ne sera
produit que si l'option
-s/--standalone
est utilisée. Toutes les métadonnées apparaîtront en un seul bloc au
début du document.
Il est à noter que les règles d'échappement de
YAML doivent
être respectées. Ainsi, par exemple, si un titre contient un
deux-points, il doit être cité. Le caractère pipe (|
) peut être utilisé pour commencer un bloc
indenté qui sera interprété littéralement, sans qu'il soit nécessaire de
s'échapper. Ce formulaire est nécessaire lorsque le champ contient des
lignes vierges ou un formatage au niveau du bloc :
---
title: 'This is the title: it contains a colon'
author:
- Author One
- Author Two
keywords: [nothing, nothingness]
abstract: |
This is the abstract.
It consists of two paragraphs.
...
Les variables du modèle seront définies automatiquement à partir des
métadonnées. Ainsi, par exemple, en écrivant du HTML, la variable abstract
sera réglé sur l'équivalent HTML du
Markdown dans le champ abstract
:
<p>This is the abstract.</p>
<p>It consists of two paragraphs.</p>
Les variables peuvent contenir des structures YAML arbitraires, mais le
modèle doit correspondre à cette structure. La variable author
dans les modèles par défaut s'attend à une
simple liste ou chaîne de caractères, mais peut être modifié pour
supporter des structures plus compliquées. La combinaison suivante, par
exemple, ajouterait une affiliation à l'auteur si elle est donnée :
---
title: The document title
author:
- name: Author One
affiliation: University of Somewhere
- name: Author Two
affiliation: University of Nowhere
...
Pour utiliser les auteurs structurés dans l'exemple ci-dessus, vous auriez besoin d'un modèle personnalisé :
$for(author)$
$if(author.name)$
$author.name$$if(author.affiliation)$ ($author.affiliation$)$endif$
$else$
$author$
$endif$
$endfor$
Le contenu brut à inclure dans l'en-tête du document peut être spécifié
en utilisant header-includes
; cependant,
il est important de marquer ce contenu comme un code brut pour un format
de sortie particulier, en utilisant l'extension raw_attribute
extension), sinon elle sera interprétée comme
un markdown. Par exemple :
header-includes:
- |
```{=latex}
\let\oldsection\section
\renewcommand{\section}[1]{\clearpage\oldsection{#1}}
```
Sauf à l'intérieur d'un bloc de code ou d'un code en ligne, toute ponctuation ou tout caractère d'espacement précédé d'une barre oblique inversée sera traité littéralement, même s'il indique normalement un formatage. Ainsi, par exemple, si l'on écrit
*\*hello\**
on aura
<em>*hello*</em>
au lieu de
<strong>hello</strong>
Cette règle est plus facile à retenir que la règle standard de Markdown, qui ne permet d'échapper que les caractères suivants
\`*_{}[]()>#+-.!
(Toutefois si le format markdown_strict
est utilisé, la règle standard de Markdown sera utilisée).
Un espace en retrait est analysé comme un espace insécable. Dans la
sortie TeX, il apparaîtra comme ~
. En
sortie HTML et XML, il apparaîtra sous la forme d'un caractère espace
insécable unicode (notez qu'il semblera donc en fait "invisible" dans la
source HTML générée ; vous pouvez toujours utiliser l'option en ligne de
commande
--ascii
pour la faire apparaître comme une entité explicite).
Un saut deligne échappé par une barre oblique inversée (c'est-à-dire une
barre oblique inversée en fin de ligne) est analysé comme un saut de
ligne. Il apparaîtra dans la sortie TeX comme \\
et en HTML comme <br />
C'est une bonne alternative à la méthode
"invisible" de Markdown qui consiste à indiquer les ruptures de ligne en
utilisant deux espaces à la fin d'une ligne.
Les échappements par barre oblique inversée ne fonctionnent pas dans les contextes textuels (ou "verbatim").
To emphasize some text, surround it with *
s or _
, like
this:
This text is _emphasized with underscores_, and this
is *emphasized with asterisks*.
Double *
or _
produces strong emphasis:
This is **strong emphasis** and __with underscores__.
A *
or _
character surrounded by spaces, or backslash-escaped, will not trigger
emphasis:
This is * not emphasized *, and \*neither is this\*.
Comme _
est parfois utilisé à l'intérieur
de mots et d'identifiants, pandoc n'interprète pas un _
entouré de caractères alphanumériques comme
marqueur d'accentuation. Si vous souhaitez mettre l'accent sur une
partie seulement d'un mot, utilisez *
:
feas*ible*, not feas*able*.
Pour rayer une section de texte d'une ligne horizontale, commencez et
terminez-la par ~~
. Ainsi, par exemple,
This ~~is deleted text.~~
Les exposants peuvent être écrits en entourant le texte par les
caractères ^
; les indices peuvent être
écrits en entourant le texte par les caractères ~
. Par exemple,
H~2~O is a liquid. 2^10^ is 1024.
Le texte entre ^...^
ou ~...~
ne peut pas contenir d'espaces ou de
nouvelles lignes. Si le texte en exposant ou en abrégé contient des
espaces, ces derniers doivent être séparés par des barres obliques
inverses. (Ceci afin d'éviter les mises en exposant et en indice
accidentelles par l'utilisation ordinaire de ~
et ^
, et aussi
de mauvaises interactions avec les notes de bas de page). Ainsi, si vous
voulez la lettre P avec "un chat" en indice, utilisez P~a\ cat~
et pas, P~a cat~
.
Pour faire une courte séquence de texte mot à mot, mettez-la à l'intérieur des backticks (Fr : AltGr-7) :
What is the difference between `>>=` and `>>`?
Si le texte verbatim comprend une backtick, utilisez des backtick doubles :
Here is a literal backtick `` ` ``.
(Les espaces après les baguettes d'ouverture et avant les baguettes de fermeture seront ignorés).
La règle générale est qu'un texte verbatim commence par une série de backticks consécutives (éventuellement suivie d'un espace) et se termine par une série du même nombre de baguettes (éventuellement précédée d'un espace).
Il est à noter que les backslash-escapes (et autres constructions Markdown) ne fonctionnent pas dans les contextes verbatim :
This is a backslash followed by an asterisk: `\*`.
Les attributs peuvent être joints au texte verbatim, tout comme pour fenced code blocks:
`<$>`{.haskell}
To write small caps, use the smallcaps
class:
[Small caps]{.smallcaps}
Or, without the bracketed_spans
extension:
<span class="smallcaps">Small caps</span>
For compatibility with other Markdown flavors, CSS is also supported:
<span style="font-variant:small-caps;">Small caps</span>
Cela fonctionnera dans tous les formats de sortie qui supportent les petites capitales.
Tout ce qui se situe entre deux caractères $
sera traité comme des mathématiques TeX.
Le$
ouvrant doit avoir un caractère
non-espace immédiatement à sa droite, tandis que le$
fermant doit avoir un caractère non-espace
immédiatement à sa gauche, et ne doit pas être suivi immédiatement d'un
chiffre. Ainsi, $20,000 and $30,000
ne
sera pas analysé comme des maths. Si, pour une raison quelconque, vous
devez joindre les caractères $
dans du
texte au sens littéral, faites-les précéder d'une barre oblique inversée
et ils ne seront pas interprêtés comme délimiteurs mathématiques.
For display math, use $$
delimiters. (In
this case, the delimiters may be separated from the formula by
whitespace.)
Les mathématiques TeX seront imprimées dans tous les formats de sortie. La manière dont il est rendu dépend du format de sortie :
LaTeX
It will appear verbatim surrounded by \(...\)
(for inline math) or \[...\]
(for display math).
Markdown, Emacs Org mode, ConTeXt, ZimWiki
It will appear verbatim surrounded by $...$
(for inline math) or $$...$$
(for display math).
XWiki
It will appear verbatim surrounded by {{formula}}..{{/formula}}
.
reStructuredText
It will be rendered using an interpreted text role :math:
.
AsciiDoc
For AsciiDoc output format
(-t asciidoc
)
it will appear verbatim surrounded by latexmath:[$...$]
(for inline math) or [latexmath]++++\[...\]+++
(for display math).
For AsciiDoctor output format
(-t asciidoctor
)
the LaTex delimiters ($..$
and \[..\]
) are omitted.
Texinfo
It will be rendered inside a @math
command.
roff man, Jira markup
It will be rendered verbatim without $
’s.
MediaWiki, DokuWiki
It will be rendered inside <math>
tags.
Textile
It will be rendered inside <span class="math">
tags.
RTF, OpenDocument
It will be rendered, if possible, using Unicode characters, and will
otherwise appear verbatim.
ODT
It will be rendered, if possible, using MathML.
DocBook
If the
--mathml
flag is used, it will be rendered using MathML in an inlineequation
or informalequation
tag. Otherwise it will be
rendered, if possible, using Unicode characters.
Docx
It will be rendered using OMML math markup.
FictionBook2
If the
--webtex
option is used, formulas are rendered as images using CodeCogs or other
compatible web service, downloaded and embedded in the e-book.
Otherwise, they will appear verbatim.
HTML, Slidy, DZSlides, S5, EPUB
The way math is rendered in HTML will depend on the command-line options
selected. Therefore see Math rendering in
HTML above.
Markdown vous permet d'insérer du HTML brut (ou DocBook) n'importe où
dans un document (sauf dans les contextes verbatim, où <
, >
, et &
sont interprétés littéralement).
(Techniquement, il ne s'agit pas d'une extension, puisque la norme
Markdown le permet, mais il a été fait une extension pour qu'il puisse
être désactivé si désiré).
Le HTML brut est transmis tel quel en HTML, S5, Slidy, Slideous, DZSlides, EPUB, Markdown, CommonMark, Emacs Org mode, et Textile output, et supprimé dans les autres formats.
Pour une façon plus explicite d'inclure du HTML brut dans un document
Markdown, voir l'extension raw_attribute
extension.
Dans le format CommonMark, si raw_html
est
activée, les exposants, les indices, les biffures et les petites
capitales seront représentés en HTML. Dans le cas contraire, les repères
(fallbacks) en texte clair seront utilisés. Notez que même si raw_html
est désactivé, les tableaux seront
rendus avec la syntaxe HTML s'ils ne peuvent pas utiliser la syntaxe du
pipe.
Le Markdown standard vous permet d'inclure des "blocs" HTML : des blocs
de HTML entre des balises symétriques qui sont séparées du texte
environnant par des lignes blanches, et dont le début et la fin se
trouvent dans la marge gauche. À l'intérieur de ces blocs, tout est
interprété comme du HTML, et non du Markdown ; donc (par exemple), *
ne signifie pas "mise en emphase".
Pandoc se comporte de cette façon lorsque le format markdown_strict
est utilisé ; mais par défaut,
pandoc interprète le matériel entre les balises de bloc HTML comme étant
du Markdown. Ainsi, par exemple, pandoc transformera
<table>
<tr>
<td>*one*</td>
<td>[a link](https://google.com)</td>
</tr>
</table>
en
<table>
<tr>
<td><em>one</em></td>
<td><a href="https://google.com">a link</a></td>
</tr>
</table>
alors que Markdown.pl
le conservera tel
quel.
Il y a une exception à cette règle : le texte entre les balises <script>
et <style>
n'est pas interprétée comme du
Markdown.
Cet écart par rapport au standard Markdown devrait faciliter le mélange
de Markdown avec des éléments de bloc HTML. Par exemple, on peut
entourer un bloc de texte Markdown avec des balises <div>
sans empêcher qu'il soit interprété comme
un Markdown.
Utilise les blocs pandoc natifs Div
pour du
contenu entre balises <div>
. Pour
l'essentiel, cela devrait donner le même résultat que markdown_in_html_blocks
, mais il est plus facile
d'écrire des filtres pandoc pour manipuler des groupes de blocs.
Utilise les blocs pandoc Span
natifs pour
le contenu entre balises <span>
. Pour
l'essentiel, cela devrait donner le même résultat que raw_html
, mais il est plus facile d'écrire des
filtres pandoc pour manipuler des groupes d'en ligne ("inlines").
En plus du HTML brut, pandoc permet d'inclure du LaTeX, TeX et ConTeXt brut dans un document. Les commandes TeX en ligne seront préservées et transmises telles quelles aux auteurs LaTeX et ConTeXt. Ainsi, par exemple, vous pouvez utiliser LaTeX pour inclure des citations BibTeX :
This result was proved in \cite{jones.1967}.
Notez que dans les environnements LaTeX, comme
\begin{tabular}{|l|l|}\hline
Age & Frequency \\ \hline
18--25 & 15 \\
26--35 & 33 \\
36--45 & 22 \\ \hline
\end{tabular}
le matériel entre les balises de début et de fin sera interprété comme du LaTeX brut, et non comme du Markdown.
Pour une manière plus explicite et plus souple d'inclure du TeX brut
dans un document Markdown, voir l'extension raw_attribute
extension.
Le LaTeX en ligne est ignoré dans les formats de sortie autres que Markdown, LaTeX, le mode Emacs Org et ConTeXt.
Inline spans and fenced code blocks with a special kind of attribute
will be parsed as raw content with the designated format. For example,
the following produces a raw roff ms
block:
```{=ms}
.MYMACRO
blah blah
```
And the following produces a raw html
inline element:
This is `<a>html</a>`{=html}
This can be useful to insert raw xml into docx
documents, e.g. a pagebreak:
```{=openxml}
<w:p>
<w:r>
<w:br w:type="page"/>
</w:r>
</w:p>
```
The format name should match the target format name (see
-t/--to
,
above, for a list, or use pandoc --list-output-formats
).
Use openxml
for docx
output, opendocument
for odt
output, html5
for epub3
output, html4
for epub2
output, and latex
, beamer
, ms
, or
html5
for pdf
output (depending on what you use for
--pdf-engine
).
This extension presupposes that the relevant kind of inline code or
fenced code block is enabled. Thus, for example, to use a raw attribute
with a backtick code block, backtick_code_blocks
must be enabled.
The raw attribute cannot be combined with regular attributes.
Lorsque cette extension est activée, pandoc analyse les définitions de macros LaTeX et applique les macros résultantes à tous les calculs LaTeX et LaTeX brut. Ainsi, par exemple, ce qui suit fonctionnera dans tous les formats de sortie, pas seulement LaTeX :
\newcommand{\tuple}[1]{\langle #1 \rangle}
$\tuple{a, b, c}$
Note that LaTeX macros will not be applied if they occur inside a raw
span or block marked with the raw_attribute
extension.
Lorsque latex_macros
est désactivé, le
LaTeX brut et les mathématiques n'auront pas de macros appliquées. Cette
approche est généralement préférable lorsque vous visez le LaTeX ou le
PDF.
Les définitions de macros en LaTeX ne seront transmises en tant que
LaTeX brut que si latex_macros
n'est pas
activée. Les définitions des macros dans la source Markdown (ou d'autres
formats permettant raw_tex
) sera transmise
indépendamment du fait que latex_macros
est
activé .
Markdown permet de spécifier les liens de plusieurs façons.
Si vous indiquez une URL ou une adresse électronique entre crochets, elle deviendra un lien :
<https://google.com>
<sam@green.eggs.ham>
Un lien en ligne se compose du texte du lien entre crochets, suivi de l'URL entre parenthèses. (Facultativement, l'URL peut être suivie d'un titre de lien, entre guillemets).
This is an [inline link](/url), and here's [one with
a title](https://fsf.org "click here for a good time!").
Il ne peut y avoir aucun espace entre la partie entre crochets et la partie entre parenthèses. Le texte du lien peut contenir une mise en forme (comme l'accentuation), mais pas le titre.
Les adresses électroniques dans les liens en ligne ne sont pas
autodétectées, elles doivent donc être préfixées par mailto
:
[Write me!](mailto:sam@green.eggs.ham)
Un lien de référence explicite comporte deux parties, le lien lui-même et la définition du lien, qui peut se trouver ailleurs dans le document (soit avant, soit après le lien).
Le lien se compose du texte du lien entre crochets, suivi d'une
étiquette entre crochets. (Il ne peut y avoir d'espace entre les deux,
sauf si l'extension spaced_reference_links
est validée.) La définition du lien se compose de l'étiquette entre
crochets, suivie des deux points et d'un espace, puis de l'URL et,
éventuellement (après un espace), d'un titre de lien entre guillemets ou
entre parenthèses. L'étiquette ne doit pas pouvoir être analysée comme
une citation (en supposant que l'extension citations
est activée): Les citations ont la
priorité sur les étiquettes de liens.
Voici quelques exemples :
[my label 1]: /foo/bar.html "My title, optional"
[my label 2]: /foo
[my label 3]: https://fsf.org (The free software foundation)
[my label 4]: /bar#special 'A title in single quotes'
L'URL peut éventuellement être entourée des signes <> :
[my label 5]: <http://foo.bar.baz>
Le titre peut aller sur la ligne suivante
[my label 3]: https://fsf.org
"The free software foundation"
Notez que les étiquettes de liens ne sont pas sensibles à la casse. Donc, cela va fonctionner :
Here is [my link][FOO]
[Foo]: /bar/baz
Dans un lien de référence implicite, la deuxième paire de crochets est vide :
See [my website][].
[my website]: http://foo.bar.baz
Note: Dans Markdown.pl
et la plupart des
autres implémentations de Markdown, les définitions de liens de
référence ne peuvent pas se produire dans des constructions imbriquées
telles que des éléments de liste ou des citations en bloc. Pandoc lève
cette apparente restriction arbitraire. Ce qui suit est donc très bien
dans le cadre de pandoc, mais pas dans la plupart des autres mises en
œuvre :
> My block [quote].
>
> [quote]: /foo
Dans un lien de référence de raccourci, la deuxième paire de crochets peut être entièrement omise :
See [my website].
[my website]: http://foo.bar.baz
Pour établir un lien avec une autre section du même document, utilisez l'identifiant généré automatiquement (voir Heading identifiers). Par exemple:
See the [Introduction](#introduction).
ou
See the [Introduction].
[Introduction]: #introduction
Les liens internes sont actuellement pris en charge pour les formats HTML (y compris les diaporamas HTML et EPUB), LaTeX et ConTeXt.
Un lien immédiatement précédé d'un !
sera
traitée comme une image. Le texte du lien sera utilisé comme texte
alternatif de l'image :
![la lune](lalune.jpg "Voyage to the moon")
![movie reel]
[movie reel]: movie.gif
Une image avec un texte alt non vide, se produisant par lui-même dans un paragraphe, sera rendue comme une figure avec une légende. Le texte alt de l'image sera utilisé comme légende.
![This is the caption](/url/of/image.png)
La manière dont cela est rendu dépend du format de sortie. Certains formats de sortie (par exemple, RTF) ne permettent pas encore d'obtenir des chiffres. Dans ces formats, vous obtiendrez simplement une image dans un paragraphe, sans légende.
Si vous voulez juste une image en ligne régulière, assurez-vous que ce n'est pas la seule chose dans le paragraphe. Une façon de le faire est d'insérer un espace insécable après l'image :
![This image won't be a figure](/url/of/image.png)\
Notez que dans les diaporamas de reveal.js, une image dans un paragraphe
à elle seule qui a la classe stretch
remplira l'écran, et les balises de légende et de figure seront omises.
Des attributs peuvent être définis sur les liens et les images :
An inline ![image](foo.jpg){#id .class width=30 height=20px}
and a reference ![image][ref] with attributes.
[ref]: foo.jpg "optional title" {#id .class key=val key2="val 2"}
(Cette syntaxe est compatible avec PHP Markdown
Extra lorsque seuls
#id
et .class
sont utilisés.)
Pour HTML et EPUB, tous les attributs connus de HTML5 sauf width
et height
(mais incluant srcset
et sizes
) sont passés tels quels. Les attributs
inconnus sont transmis en tant qu'attributs personnalisés, avec data-
prepended. Les autres auteurs ignorent les
attributs qui ne sont pas spécifiquement pris en charge par leur format
de sortie.
Les attributs width
et height
sur les images sont traités spécialement .
Lorsqu'elle est utilisée sans unité, l'unité est supposée être le pixel.
Toutefois, les identificateurs d'unité suivants peuvent être utilisés :
px
, cm
,
mm
, in
,
inch
et %
.
Il ne doit y avoir aucun espace entre le nombre et l'unité. Par exemple
:
![](file.jpg){ width=50% }
- Les dimensions sont converties en pouces pour une sortie dans des
formats de page comme LaTeX. Les dimensions sont converties en
pixels pour une sortie au format HTML. Utilisez l'option
--dpi
spécifier le nombre de pixels par pouce. La valeur par défaut est de 96 dpi. - L'unité
%
est généralement relative à un certain espace disponible. Par exemple, l'exemple ci-dessus se traduira par ce qui suit.- HTML:
<img href="file.jpg" style="width: 50%;" />
- LaTeX:
\includegraphics[width=0.5\textwidth,height=\textheight]{file.jpg}
(Si vous utilisez un modèle personnalisé, vous devez configurergraphicx
as in the default template.) - ConTeXt:
\externalfigure[file.jpg][width=0.5\textwidth]
- HTML:
- Some output formats have a notion of a class
(ConTeXt)
or a unique identifier (LaTeX
\caption
), or both (HTML). - When no
width
orheight
attributes are specified, the fallback is to look at the image resolution and the dpi metadata embedded in the image file.
En utilisant les extensions native_divs
et
native_spans
(voir
ci-dessus), la syntaxe HTML peut être utilisé
dans le cadre de Markdown pour créer des éléments Div
et Span
natifs
dans l'AST pandoc (en opposition au HTML brut). Toutefois, il existe
également une syntaxe plus agréable :
Allow special fenced syntax for native Div
blocks. A Div starts with a fence containing at least three consecutive
colons plus some attributes. The attributes may optionally be followed
by another string of consecutive colons. The attribute syntax is exactly
as in fenced code blocks (see Extension: fenced_code_attributes
).
As with fenced code blocks, one can use either attributes in curly
braces or a single unbraced word, which will be treated as a class name.
The Div ends with another line containing a string of at least three
consecutive colons. The fenced Div should be separated by blank lines
from preceding and following blocks.
Example:
::::: {#special .sidebar}
Here is a paragraph.
And another.
:::::
Fenced divs can be nested. Opening fences are distinguished because they must have attributes:
::: Warning ::::::
This is a warning.
::: Danger
This is a warning within a warning.
:::
::::::::::::::::::
Fences without attributes are always closing fences. Unlike with fenced code blocks, the number of colons in the closing fence need not match the number in the opening fence. However, it can be helpful for visual clarity to use fences of different lengths to distinguish nested divs from their parents.
Une séquence d'inlines entre crochets, comme on le ferait pour commencer
un lien, sera traitée comme un Span
avec
des attributs si elle est suivie immédiatement par des attributs :
[This is *some text*]{.class key="val"}
Le Markdown de Pandoc permet d'ajouter des notes de bas de page, en utilisant la syntaxe suivante :
Here is a footnote reference,[^1] and another.[^longnote]
[^1]: Here is the footnote.
[^longnote]: Here's one with multiple blocks.
Subsequent paragraphs are indented to show that they
belong to the previous footnote.
{ some.code }
The whole paragraph can be indented, or just the first
line. In this way, multi-paragraph footnotes work like
multi-paragraph list items.
This paragraph won't be part of the note, because it
isn't indented.
Les identificateurs dans les références de notes de bas de page ne doivent pas contenir d'espaces, de tabulations ou de nouvelles lignes. Ces identificateurs sont utilisés uniquement pour corréler la référence de la note de bas de page avec la note elle-même ; dans la sortie, les notes de bas de page seront numérotées séquentiellement.
Les notes de bas de page elles-mêmes ne doivent pas être placées à la fin du document. Ils peuvent apparaître n'importe où sauf à l'intérieur d'autres éléments de bloc (listes, blocs de citations, tableaux, etc.). Chaque note de bas de page doit être séparée du contenu environnant (y compris les autres notes de bas de page) par des lignes blanches.
Les notes de bas de page en ligne sont également autorisées (bien que, contrairement aux notes normales, elles ne puissent pas contenir plusieurs paragraphes). La syntaxe est la suivante :
Here is an inline note.^[Inlines notes are easier to write, since
you don't have to pick an identifier and move down to type the
note.]
Les notes de bas de page en ligne et régulières peuvent être mélangées librement.
En utilisant un filtre externe, pandoc-citeproc
pandoc peut générer
automatiquement des citations et une bibliographie dans un certain
nombre de styles. L'utilisation de base est,
pandoc --filter pandoc-citeproc myinput.txt
Pour utiliser cette fonction, vous devrez spécifier un fichier
bibliographique à l'aide du champ de métadonnée bibliography
dans une section de métadonnées
YAML, ou l'argument en ligne de commande
--bibliography
.
Vous pouvez fournir plusieurs arguments
--bibliography
ou
définir un champ de métadonnées bibliography
dans le tableau YAML, si vous
souhaitez utiliser plusieurs fichiers bibliographiques. La bibliographie
peut avoir n'importe lequel de ces formats :
Format | File extension |
---|---|
BibLaTeX | .bib |
BibTeX | .bibtex |
Copac | .copac |
CSL JSON | .json |
CSL YAML | .yaml |
EndNote | .enl |
EndNote XML | .xml |
ISI | .wos |
MEDLINE | .medline |
MODS | .mods |
RIS | .ris |
Notez que .bib
peut être utilisé avec les
fichiers BibTeX et BibLaTeX ; utilisez .bibtex
pour forcer BibTeX.
Notez que pandoc-citeproc --bib2json
et
pandoc-citeproc --bib2yaml
peuvent
produire des fichiers .json
et .yaml
depuis n'importe lequel des fichiers
supportés.
Balises intra-champ : dans les bases de données BibTeX et BibLaTeX, pandoc-citeproc analyse un sous-ensemble du balisage LaTeX ; dans les bases de données CSL YAML, pandoc Markdown ; et dans les bases de données CSL JSON, un balisage HTML-like :
<i>...</i>
italics
<b>...</b>
bold
<span style="font-variant:small-caps;">...</span>
or <sc>...</sc>
small capitals
<sub>...</sub>
subscript
<sup>...</sup>
superscript
<span class="nocase">...</span>
prevent a phrase from being capitalized as title case
pandoc-citeproc -j
et -y
convertissent autant que possible les formats
CSL JSON et CSL YAML.
Au lieu de spécifier un fichier bibliographique en utilisant
--bibliography
ou le champ de métadonnées YAML bibliography
vous pouvez inclure les données de
citation directement dans le champ references
des métadonnées YAML du document. Le
champ doit contenir un tableau de références codées en YAML, par exemple
:
---
references:
- type: article-journal
id: WatsonCrick1953
author:
- family: Watson
given: J. D.
- family: Crick
given: F. H. C.
issued:
date-parts:
- - 1953
- 4
- 25
title: 'Molecular structure of nucleic acids: a structure for deoxyribose
nucleic acid'
title-short: Molecular structure of nucleic acids
container-title: Nature
volume: 171
issue: 4356
page: 737-738
DOI: 10.1038/171737a0
URL: https://www.nature.com/articles/171737a0
language: en-GB
...
(pandoc-citeproc --bib2yaml
peut les
produire à partir d'un fichier bibliographique dans l'un des formats
pris en charge .)
Citations and references can be formatted using any style supported by
the Citation Style Language, listed in
the Zotero Style Repository. These
files are specified using the
--csl
option or the csl
metadata field. By
default, pandoc-citeproc
will use the
Chicago Manual of Style author-date
format. The CSL project provides further information on finding and
editing styles.
To make your citations hyperlinks to the corresponding bibliography
entries, add link-citations: true
to your
YAML metadata.
Citations go inside square brackets and are separated by semicolons.
Each citation must have a key, composed of ‘@’ + the citation identifier
from the database, and may optionally have a prefix, a locator, and a
suffix. The citation key must begin with a letter, digit, or _
, and may contain alphanumerics, _
, and internal punctuation characters (:.#$%&-+?<>~/
). Here are some examples:
Blah blah [see @doe99, pp. 33-35; also @smith04, chap. 1].
Blah blah [@doe99, pp. 33-35, 38-39 and *passim*].
Blah blah [@smith04; @doe99].
pandoc-citeproc
detects locator terms in
the CSL locale
files. Either
abbreviated or unabbreviated forms are accepted. In the en-US
locale, locator terms can be written in
either singular or plural forms, as book
,
bk.
/bks.
;
chapter
, chap.
/chaps.
;
column
, col.
/cols.
; figure
, fig.
/figs.
; folio
,
fol.
/fols.
;
number
, no.
/nos.
; line
, l.
/ll.
; note
, n.
/nn.
; opus
, op.
/opp.
; page
, p.
/pp.
; paragraph
, para.
/paras.
;
part
, pt.
/pts.
; section
, sec.
/secs.
; sub verbo
, s.v.
/s.vv.
; verse
, v.
/vv.
; volume
, vol.
/vols.
; ¶
/¶¶
; §
/§§
. If no
locator term is used, “page” is assumed.
pandoc-citeproc
will use heuristics to
distinguish the locator from the suffix. In complex cases, the locator
can be enclosed in curly braces (using pandoc-citeproc
0.15 and higher only):
[@smith{ii, A, D-Z}, with a suffix]
[@smith, {pp. iv, vi-xi, (xv)-(xvii)} with suffix here]
A minus sign (-
) before the @
will suppress mention of the author in the
citation. This can be useful when the author is already mentioned in the
text:
Smith says blah [-@smith04].
You can also write an in-text citation, as follows:
@smith04 says blah.
@smith04 [p. 33] says blah.
If the style calls for a list of works cited, it will be placed in a div
with id refs
, if one exists:
::: {#refs}
:::
Otherwise, it will be placed at the end of the document. Generation of
the bibliography can be suppressed by setting suppress-bibliography: true
in the YAML
metadata.
If you wish the bibliography to have a section heading, you can set
reference-section-title
in the metadata,
or put the heading at the beginning of the div with id refs
(if you are using it) or at the end of your
document:
last paragraph...
# References
The bibliography will be inserted after this heading. Note that the
unnumbered
class will be added to this
heading, so that the section will not be numbered.
If you want to include items in the bibliography without actually citing
them in the body text, you can define a dummy nocite
metadata field and put the citations
there:
---
nocite: |
@item1, @item2
...
@item3
In this example, the document will contain a citation for item3
only, but the bibliography will contain
entries for item1
, item2
, and item3
.
It is possible to create a bibliography with all the citations, whether or not they appear in the document, by using a wildcard:
---
nocite: |
@*
...
For LaTeX output, you can also use natbib
or biblatex
to
render the bibliography. In order to do so, specify bibliography files
as outlined above, and add
--natbib
or
--biblatex
argument to pandoc
invocation. Bear in
mind that bibliography files have to be in respective format (either
BibTeX or BibLaTeX).
For more information, see the pandoc-citeproc man page.
Les extensions syntaxiques Markdown suivantes ne sont pas activées par
défaut dans pandoc, mais peuvent être activées en ajoutant +EXTENSION
au nom du format, où EXTENSION
est le nom de l'extension. Ainsi, par
example, markdown+hard_line_breaks
is
Markdown with hard line breaks.
Selects the pandoc <= 1.8.2.1 behavior for parsing smart dashes:
-
before a numeral is an en-dash, and
--
is an em-dash. This option only has an
effect if smart
is enabled. It is selected
automatically for textile
input.
Allow <
and >
to be backslash-escaped, as they can be in
GitHub flavored Markdown but not original Markdown. This is implied by
pandoc’s default all_symbols_escapable
.
Permettre à une liste de se produire juste après un paragraphe, sans espace vide intermédiaire.
Sélectionne le comportement pandoc <= 2.0 pour l'analyse des listes, de sorte que quatre espaces d'indentation sont nécessaires pour les paragraphes de continuation des éléments de la liste.
Permettre des espaces entre les deux composantes d'un lien de référence, par exemple,
[foo] [bar].
Toutes les nouvelles lignes d'un paragraphe doivent être interprétées comme des sauts de ligne au lieu d'espaces.
Il fait en sorte que les nouvelles lignes à l'intérieur d'un paragraphe soient ignorées, plutôt que d'être traitées comme des espaces ou des sauts de ligne. Cette option est destinée aux langues d'Asie de l'Est où les espaces ne sont pas utilisés entre les mots, mais où le texte est divisé en lignes pour plus de lisibilité.
Fait en sorte que les nouveaux traits à l'intérieur d'un paragraphe
soient ignorés, plutôt que d'être traités comme des espaces ou des sauts
de ligne, lorsqu'ils se produisent entre deux caractères larges d'Asie
de l'Est. C'est un meilleur choix que ignore_line_breaks
pour les textes qui
comprennent un mélange de caractères larges d'Asie de l'Est et d'autres
caractères.
Analyse les émojis textuels comme :smile:
en tant qu'émoticônes Unicode.
Tout ce qui se trouve entre \(
et \)
doit être interprété comme des calculs de TeX
en ligne, et tout ce qui se trouve entre \[
et \]
doit être
interprété comme des calculs de TeX en affichage. Note: un inconvénient
de cette extension est qu'elle empêche l'échappement de (
et [
.
Tout ce qui se situe entre \\(
et \\)
doit être interprété comme un calcul TeX en
ligne, et tout ce qui se situe entre \\[
et \\]
doit
être interprété comme un affichage TeX math.
Par défaut, pandoc interprète le matériel à l'intérieur des balises de
niveau bloc comme étant du Markdown. Cette extension modifie le
comportement de sorte que Markdown n'est analysé à l'intérieur des
balises de niveau bloc que si les balises ont l'attribut markdown=1
.
Permet un bloc titre de style MultiMarkdown en haut du document, par exemple:
Title: My title
Author: John Doe
Date: September 1, 2008
Comment: This is a sample mmd title block, with
a field spanning multiple lines.
Voir la documentation MultiMarkdown pour plus de détails. Si les
fonctions pandoc_title_block
ou yaml_metadata_block
sont activées, elles auront
la priorité sur mmd_title_block
.
Parses PHP Markdown Extra abbreviation keys, like
*[HTML]: Hypertext Markup Language
Notez que le modèle de document pandoc ne supporte pas les abréviations, donc si cette extension est activée, les clés d'abréviation sont simplement ignorées (au lieu d'être analysées comme des paragraphes).
Transforme tous les URI absolus en liens, même s'ils ne sont pas
entourés d'accolades <...>
.
Analyse les attributs de valeur clé de style multimarkdown sur les
références de liens et d'images. Cette extension ne doit pas être
confondue avec l'extension link_attributes
.
This is a reference ![image][ref] with multimarkdown attributes.
[ref]: https://path.to/image "Image title" width=20px height=30px
id=myId class="myClass1 myClass2"
Analyse les identificateurs des titres de style "multimarkdown" (entre
crochets, après le titre mais avant tout #
de suivi dans un titre ATX).
Activates the definition list syntax of pandoc 1.12.x and earlier. This syntax differs from the one described above under Definition lists in several respects:
- No blank line is required between consecutive items of the definition list.
- To get a “tight” or “compact” list, omit space between consecutive items; the space between a term and its definition does not affect anything.
- Lazy wrapping of paragraphs is not allowed: the entire definition must be indented four spaces.4
Use Project Gutenberg conventions for
plain
output: all-caps for strong
emphasis, surround by underscores for regular emphasis, add extra blank
space around headings.
In addition to pandoc’s extended Markdown, the following Markdown variants are supported:
markdown_phpextra
(PHP Markdown Extra)
footnotes
, pipe_tables
, raw_html
, markdown_attribute
, fenced_code_blocks
, definition_lists
, intraword_underscores
, header_attributes
, link_attributes
, abbreviations
, shortcut_reference_links
, spaced_reference_links
.
markdown_github
(deprecated GitHub-Flavored Markdown)
pipe_tables
, raw_html
, fenced_code_blocks
, auto_identifiers
, gfm_auto_identifiers
, backtick_code_blocks
, autolink_bare_uris
, space_in_atx_header
, intraword_underscores
, strikeout
, task_lists
, emoji
,
shortcut_reference_links
, angle_brackets_escapable
, lists_without_preceding_blankline
.
markdown_mmd
(MultiMarkdown)
pipe_tables
, raw_html
, markdown_attribute
, mmd_link_attributes
, tex_math_double_backslash
, intraword_underscores
, mmd_title_block
, footnotes
, definition_lists
, all_symbols_escapable
, implicit_header_references
, auto_identifiers
, mmd_header_identifiers
, shortcut_reference_links
, implicit_figures
, superscript
, subscript
, backtick_code_blocks
, spaced_reference_links
, raw_attribute
.
markdown_strict
(Markdown.pl)
raw_html
, shortcut_reference_links
, spaced_reference_links
.
We also support commonmark
and gfm
(GitHub-Flavored Markdown, which is
implemented as a set of extensions on commonmark
).
Note, however, that commonmark
and gfm
have limited support for extensions. Only
those listed below (and smart
, raw_tex
, and hard_line_breaks
) will work. The extensions can,
however, all be individually disabled. Also, raw_tex
only affects gfm
output, not input.
gfm
(GitHub-Flavored Markdown)
pipe_tables
, raw_html
, fenced_code_blocks
, auto_identifiers
, gfm_auto_identifiers
, backtick_code_blocks
, autolink_bare_uris
, space_in_atx_header
, intraword_underscores
, strikeout
, task_lists
, emoji
,
shortcut_reference_links
, angle_brackets_escapable
, lists_without_preceding_blankline
.
You can use pandoc to produce an HTML + JavaScript slide presentation
that can be viewed via a web browser. There are five ways to do this,
using S5,
DZSlides,
Slidy,
Slideous, or
reveal.js. You can also produce a PDF slide
show using LaTeX beamer
, or slides
shows in Microsoft
PowerPoint format.
Here’s the Markdown source for a simple slide show, habits.txt
:
% Habits
% John Doe
% March 22, 2005
# In the morning
## Getting up
- Turn off alarm
- Get out of bed
## Breakfast
- Eat eggs
- Drink coffee
# In the evening
## Dinner
- Eat spaghetti
- Drink wine
------------------
![picture of spaghetti](images/spaghetti.jpg)
## Going to sleep
- Get in bed
- Count sheep
To produce an HTML/JavaScript slide show, simply type
pandoc -t FORMAT -s habits.txt -o habits.html
where FORMAT
is either s5
, slidy
, slideous
, dzslides
, or revealjs
.
For Slidy, Slideous, reveal.js, and S5, the file produced by pandoc with
the
-s/--standalone
option embeds a link to JavaScript and CSS files, which are assumed to
be available at the relative path s5/default
(for S5), slideous
(for Slideous), reveal.js
(for reveal.js), or at the Slidy
website at w3.org
(for Slidy). (These
paths can be changed by setting the slidy-url
, slideous-url
, revealjs-url
, or s5-url
variables; see Variables for HTML
slides, above.) For DZSlides, the
(relatively short) JavaScript and CSS are included in the file by
default.
With all HTML slide formats, the
--self-contained
option can be used to produce a single file that contains all of the
data necessary to display the slide show, including linked scripts,
stylesheets, images, and videos.
To produce a PDF slide show using beamer, type
pandoc -t beamer habits.txt -o habits.pdf
Note that a reveal.js slide show can also be converted to a PDF by printing it to a file from the browser.
To produce a Powerpoint slide show, type
pandoc habits.txt -o habits.pptx
Par défaut, le niveau de la diapositive est le niveau de titre le plus
élevé dans la hiérarchie qui est suivi immédiatement par le contenu, et
non par un autre titre, quelque part dans le document. Dans l'exemple
ci-dessus, les titres de niveau 1 sont toujours suivis par des titres de
niveau 2, qui sont suivis par le contenu, de sorte que le niveau de la
diapositive est de 2. Ce mode de fonctionnement peut être inhibé en
utilisant l'option
--slide-level
.
Le document est découpé en diapositives selon les règles suivantes :
-
Une règle horizontale lance toujours une nouvelle diapositive.
-
Un titre au niveau de la diapositive commence toujours une nouvelle diapositive.
-
Les titres en dessous du niveau de la diapositive dans la hiérarchie créent des titres à l'intérieur d'une diapositive.
-
Les titres au-dessus du niveau de la diapositive dans la hiérarchie créent des "diapositives de titre", qui contiennent simplement le titre de la section et aident à diviser le diaporama en sections. Le contenu qui ne figure pas sous ces rubriques sera inclus sur la diapositive titre (pour les diaporamas HTML) ou sur une diapositive suivante portant le même titre (pour les projecteurs).
-
Une page de titre est construite automatiquement à partir du bloc titre du document, s'il existe. (Dans le cas de beamer, cela peut être désactivé en commentant certaines lignes du modèle par défaut).
Ces règles sont conçues pour prendre en charge de nombreux styles différents de diaporama. Si vous ne vous souciez pas de structurer vos diapositives en sections et sous-sections, vous pouvez simplement utiliser des titres de niveau 1 pour toutes les diapositives. (Dans ce cas, le niveau 1 sera le niveau des diapositives.) Mais vous pouvez également structurer le diaporama en sections, comme dans l'exemple ci-dessus.
Note : dans les diaporamas de reveal.js, si le niveau de la diapositive est 2, une mise en page bidimensionnelle sera produite, les titres de niveau 1 se développant horizontalement et les titres de niveau 2 se développant verticalement. Il n'est pas recommandé d'utiliser un emboîtement plus profond des niveaux de section avec reveal.js.
Par défaut, ces auteurs produisent des listes qui affichent "tout en
même temps". Si vous souhaitez que vos listes s'affichent de manière
progressive (un élément à la fois), utilisez l'option
-i
.
Si vous voulez qu'une liste particulière s'écarte de la valeur par
défaut, mettez-la dans un bloc div
avec
classe incremental
ou nonincremental
. Ainsi, par exemple, en utilisant
la syntaxe fenced div
,
ce qui suit serait incrémentiel indépendamment de la valeur par défaut
du document :
::: incremental
- Eat spaghetti
- Drink wine
:::
or
::: nonincremental
- Eat spaghetti
- Drink wine
:::
Bien que l'utilisation de divs incremental
et nonincremental
soit la méthode recommandée pour
établir des listes incrémentielles au cas par cas, une méthode plus
ancienne est également prise en charge : le fait de mettre des listes à
l'intérieur d'un bloc de guillemets s'écartera de la valeur par défaut
du document (c'est-à-dire qu'il s'affichera de manière incrémentielle
sans l'option
-i
et
tout à la fois avec l'option
-i
)
:
> - Eat spaghetti
> - Drink wine
Les deux méthodes permettent de mélanger des listes incrémentielles et non incrémentielles dans un seul document.
Remarque : ni l'optionni aucune des méthodes décrites ici ne fonctionne
actuellement pour la sortie PowerPoint.
-i/--incremental
option nor any of the methods described here currently works for
PowerPoint output.
Vous pouvez ajouter des "pauses" à l'intérieur d'une diapositive en incluant un paragraphe contenant trois points, séparés par des espaces :
# Slide with a pause
content before the pause
. . .
content after the pause
Note : cette fonctionnalité n'est pas encore implémentée pour les sorties PowerPoint.
Vous pouvez modifier le style des diapositives HTML en mettant des
fichiers CSS personnalisés dans $DATADIR/s5/default
(pour S5), $DATADIR/slidy
(pour Slidy), ou $DATADIR/slideous
(pour Slideous), où $DATADIR
est le répertoire des données de
l'utilisateur (voir
--data-dir
,
ci-dessus). Les originaux peuvent être trouvés dans le répertoire des
données du système de pandoc (généralement $CABALDIR/pandoc-VERSION/s5/default
Pandoc y
recherchera les fichiers qu'il ne trouve pas dans le répertoire des
données de l'utilisateur). .
Pour les dzslides, le CSS est inclus dans le fichier HTML lui-même, et peut y être modifié.
Toutes les reveal.js configuration
options peuvent
être fixées par des variables. Par exemple, les thèmes peuvent être
utilisés en définissant la variable theme
:
-V theme=moon
Ou vous pouvez spécifier une feuille de style personnalisée en utilisant
l'option
--css
.
Pour styliser les diapositives de beamer, vous pouvez spécifier un theme
, colortheme
,
fonttheme
, innertheme
, et outertheme
, en utilisant l'option
-V
:
pandoc -t beamer habits.txt -V theme:Warsaw -o habits.pdf
Notez que les attributs d'en-tête se transforment en attributs de
diapositive (sur un <div>
ou <section>
) dans les formats de diapositive HTML,
ce qui vous permet de styliser des diapositives individuelles. Dans
beamer, le seul attribut de titre qui affecte les diapositives est la
classe allowframebreaks
qui définit
l'option allowframebreaks
, entraînant la
création de plusieurs diapositives si le contenu dépasse le cadre. Ceci
est particulièrement recommandé pour les bibliographies :
# References {.allowframebreaks}
Les notes des intervenants sont prises en charge dans reveal.js et la sortie PowerPoint (pptx). Vous pouvez ainsi ajouter des notes à votre document Markdown :
::: notes
This is my note.
- It can contain Markdown
- like this list
:::
Pour afficher la fenêtre des notes dans reveal.js, appuyez sur s
pendant la présentation. Les notes des
orateurs en PowerPoint seront disponibles, comme d'habitude, sous forme
de documents à distribuer et de présentation.
Les notes ne sont pas encore prises en charge pour les autres formats de diapositives, mais les notes n'apparaîtront pas sur les diapositives elles-mêmes.
Pour placer des documents dans des colonnes côte à côte, vous pouvez
utiliser un conteneur div natif avec la classe columns
, contenant deux ou plusieurs conteneurs
div avec la classe column
et un attribut
width
:
:::::::::::::: {.columns}
::: {.column width="40%"}
contents...
:::
::: {.column width="60%"}
contents...
:::
::::::::::::::
Il est parfois nécessaire d'ajouter l'option LaTeX [fragile]
à un cadre dans beamer (par exemple,
lors de l'utilisation de l'environnement minted
environment). On peut y parvenir en
ajoutant la classe fragile
au titre
introduisant la diapositive :
# Fragile slide {.fragile}
Tous les autres attributs de frame décrits dans la section 8.1 du guide
de l'utilisateur du Beamer peuvent également être utilisés : allowdisplaybreaks
, allowframebreaks
, b
, c
, t
, environment
,
label
, plain
, shrink
,
standout
, noframenumbering
.
Background images can be added to self-contained reveal.js slideshows and to beamer slideshows.
For the same image on every slide, use the configuration option background-image
either in the YAML metadata
block or as a command-line variable. (There are no other options in
beamer and the rest of this section concerns reveal.js slideshows.)
For reveal.js, you can instead use the reveal.js-native option parallaxBackgroundImage
. You can also set parallaxBackgroundHorizontal
and parallaxBackgroundVertical
the same way and must
also set parallaxBackgroundSize
to have
your values take effect.
To set an image for a particular reveal.js slide, add {data-background-image="/path/to/image"}
to the
first slide-level heading on the slide (which may even be empty).
In reveal.js’s overview mode, the parallaxBackgroundImage will show up only on the first slide.
Other reveal.js background settings also work on individual slides,
including data-background-size
, data-background-repeat
, data-background-color
, data-transition
, and data-transition-speed
.
To add a background image to the automatically generated title slide,
use the title-slide-attributes
variable in
the YAML metadata block. It must contain a map of attribute names and
values.
See the reveal.js documentation for more details.
For example in reveal.js:
---
title: My Slideshow
parallaxBackgroundImage: /path/to/my/background_image.png
title-slide-attributes:
data-background-image: /path/to/title_image.png
data-background-size: contain
---
## Slide One
Slide 1 has background_image.png as its background.
## {data-background-image="/path/to/special_image.jpg"}
Slide 2 has a special image for its background, even though the heading has no content.
EPUB metadata may be specified using the
--epub-metadata
option, but if the source document is Markdown, it is better to use a
YAML metadata block. Here is an
example:
---
title:
- type: main
text: My Book
- type: subtitle
text: An investigation of metadata
creator:
- role: author
text: John Smith
- role: editor
text: Sarah Jones
identifier:
- scheme: DOI
text: doi:10.234234.234/33
publisher: My Press
rights: © 2007 John Smith, CC BY-NC
ibooks:
version: 1.3.4
...
The following fields are recognized:
identifier
Either a string value or an object with fields text
and scheme
.
Valid values for scheme
are ISBN-10
, GTIN-13
,
UPC
, ISMN-10
, DOI
,
LCCN
, GTIN-14
, ISBN-13
,
Legal deposit number
, URN
, OCLC
, ISMN-13
, ISBN-A
,
JP
, OLCC
.
title
Either a string value, or an object with fields file-as
and type
,
or a list of such objects. Valid values for type
are main
,
subtitle
, short
, collection
,
edition
, extended
.
creator
Either a string value, or an object with fields role
, file-as
, and
text
, or a list of such objects. Valid
values for role
are MARC
relators, but pandoc will
attempt to translate the human-readable versions (like “author” and
“editor”) to the appropriate marc relators.
contributor
Same format as creator
.
date
A string value in YYYY-MM-DD
format. (Only
the year is necessary.) Pandoc will attempt to convert other common date
formats.
lang
(or legacy: language
)
A string value in BCP 47 format.
Pandoc will default to the local language if nothing is specified.
subject
A string value or a list of such values.
description
A string value.
type
A string value.
format
A string value.
relation
A string value.
coverage
A string value.
rights
A string value.
cover-image
A string value (path to cover image).
css
(or legacy: stylesheet
)
A string value (path to CSS stylesheet).
page-progression-direction
Either ltr
or rtl
. Specifies the page-progression-direction
attribute for the
spine
element.
ibooks
iBooks-specific metadata, with the following fields:
-
version
: (string) -
specified-fonts
:true
|false
(defaultfalse
) -
ipad-orientation-lock
:portrait-only
|landscape-only
-
iphone-orientation-lock
:portrait-only
|landscape-only
-
binding
:true
|false
(defaulttrue
) -
scroll-axis
:vertical
|horizontal
|default
For epub3
output, you can mark up the
heading that corresponds to an EPUB chapter using the epub:type
attribute.
For example, to set the attribute to the value prologue
, use this markdown:
# My chapter {epub:type=prologue}
Which will result in:
<body epub:type="frontmatter">
<section epub:type="prologue">
<h1>My chapter</h1>
Pandoc will output <body epub:type="bodymatter">
,
unless you use one of the following values, in which case either frontmatter
or backmatter
will be output.
epub:type of first section |
epub:type of body |
---|---|
prologue | frontmatter |
abstract | frontmatter |
acknowledgments | frontmatter |
copyright-page | frontmatter |
dedication | frontmatter |
credits | frontmatter |
keywords | frontmatter |
imprint | frontmatter |
contributors | frontmatter |
other-credits | frontmatter |
errata | frontmatter |
revision-history | frontmatter |
titlepage | frontmatter |
halftitlepage | frontmatter |
seriespage | frontmatter |
foreword | frontmatter |
preface | frontmatter |
seriespage | frontmatter |
titlepage | frontmatter |
appendix | backmatter |
colophon | backmatter |
bibliography | backmatter |
index | backmatter |
Par défaut, pandoc téléchargera les médias référencés à partir de tout
élément <img>
, <audio>
, <video>
ou <source>
présent dans l'EPUB généré, et
les inclura dans le conteneur EPUB, ce qui donnera un EPUB complètement
autonome. Si vous souhaitez plutôt créer des liens vers des ressources
médiatiques externes, utilisez du HTML brut dans votre source et
ajoutez data-external="1"
à la balise
avec l'attribut src
Par exemple:
<audio controls="1">
<source src="https://example.com/music/toccata.mp3"
data-external="1" type="audio/mpeg">
</source>
</audio>
When creating a Jupyter
notebook, pandoc will try
to infer the notebook structure. Code blocks with the class code
will be taken as code cells, and
intervening content will be taken as Markdown cells. Attachments will
automatically be created for images in Markdown cells. Metadata will be
taken from the jupyter
metadata field. For
example:
---
title: My notebook
jupyter:
nbformat: 4
nbformat_minor: 5
kernelspec:
display_name: Python 2
language: python
name: python2
language_info:
codemirror_mode:
name: ipython
version: 2
file_extension: ".py"
mimetype: "text/x-python"
name: "python"
nbconvert_exporter: "python"
pygments_lexer: "ipython2"
version: "2.7.15"
---
# Lorem ipsum
**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus
bibendum felis dictum sodales.
``` code
print("hello")
```
## Pyout
``` code
from IPython.display import HTML
HTML("""
<script>
console.log("hello");
</script>
<b>HTML</b>
""")
```
## Image
This image ![image](myimage.png) will be
included as a cell attachment.
If you want to add cell attributes, group cells differently, or add output to code cells, then you need to include divs to indicate the structure. You can use either fenced divs or native divs for this. Here is an example:
:::::: {.cell .markdown}
# Lorem
**Lorem ipsum** dolor sit amet, consectetur adipiscing elit. Nunc luctus
bibendum felis dictum sodales.
::::::
:::::: {.cell .code execution_count=1}
``` {.python}
print("hello")
```
::: {.output .stream .stdout}
```
hello
```
:::
::::::
:::::: {.cell .code execution_count=2}
``` {.python}
from IPython.display import HTML
HTML("""
<script>
console.log("hello");
</script>
<b>HTML</b>
""")
```
::: {.output .execute_result execution_count=2}
```{=html}
<script>
console.log("hello");
</script>
<b>HTML</b>
hello
```
:::
::::::
If you include raw HTML or TeX in an output cell, use the [raw
attribute][Extension: fenced_attribute
], as shown in the last cell of
the example above. Although pandoc can process “bare” raw HTML and TeX,
the result is often interspersed raw elements and normal textual
elements, and in an output cell pandoc expects a single, connected raw
block. To avoid using raw HTML or TeX except when marked explicitly
using raw attributes, we recommend specifying the extensions -raw_html-raw_tex+raw_attribute
when translating
between Markdown and ipynb notebooks.
Note that options and extensions that affect reading and writing of
Markdown will also affect Markdown cells in ipynb notebooks. For
example,
--wrap=preserve
will preserve soft line breaks in Markdown cells;
--atx-headers
will cause ATX-style headings to be used; and
--preserve-tabs
will prevent tabs from being turned to spaces.
Pandoc will automatically highlight syntax in fenced code
blocks that are marked with a language name. The
Haskell library skylighting is
used for highlighting. Currently highlighting is supported only for
HTML, EPUB, Docx, Ms, and LaTeX/PDF output. To see a list of language
names that pandoc will recognize, type pandoc --list-highlight-languages
.
The color scheme can be selected using the
--highlight-style
option. The default color scheme is pygments
, which imitates the default color
scheme used by the Python library pygments (though pygments is not
actually used to do the highlighting). To see a list of highlight
styles, type pandoc --list-highlight-styles
.
If you are not satisfied with the predefined styles, you can use
--print-highlight-style
to generate a JSON .theme
file which can
be modified and used as the argument to
--highlight-style
.
To get a JSON version of the pygments
style, for example:
pandoc --print-highlight-style pygments > my.theme
Then edit my.theme
and use it like this:
pandoc --highlight-style my.theme
If you are not satisfied with the built-in highlighting, or you want
highlight a language that isn’t supported, you can use the
--syntax-definition
option to load a KDE-style XML syntax definition
file.
Before writing your own, have a look at KDE’s repository of syntax
definitions.
To disable highlighting, use the
--no-highlight
option.
Custom styles can be used in the docx and ICML formats.
By default, pandoc’s docx and ICML output applies a predefined set of
styles for blocks such as paragraphs and block quotes, and uses largely
default formatting (italics, bold) for inlines. This will work for most
purposes, especially alongside a reference.docx
file. However, if you need to
apply your own styles to blocks, or match a preexisting set of styles,
pandoc allows you to define custom styles for blocks and text using
div
s and span
s, respectively.
If you define a div
or span
with the attribute custom-style
, pandoc will apply your specified
style to the contained elements (with the exception of elements whose
function depends on a style, like headings, code blocks, block quotes,
or links). So, for example, using the bracketed_spans
syntax,
[Get out]{custom-style="Emphatically"}, he said.
would produce a docx file with “Get out” styled with character style
Emphatically
. Similarly, using the fenced_divs
syntax,
Dickinson starts the poem simply:
::: {custom-style="Poetry"}
| A Bird came down the Walk---
| He did not know I saw---
:::
would style the two contained lines with the Poetry
paragraph style.
For docx output, styles will be defined in the output file as inheriting from normal text, if the styles are not yet in your reference.docx. If they are already defined, pandoc will not alter the definition.
This feature allows for greatest customization in conjunction with
pandoc filters. If you want all
paragraphs after block quotes to be indented, you can write a filter to
apply the styles necessary. If you want all italics to be transformed to
the Emphasis
character style (perhaps to
change their color), you can write a filter which will transform all
italicized inlines to inlines within an Emphasis
custom-style span
.
For docx output, you don’t need to enable any extensions for custom styles to work.
The docx reader, by default, only reads those styles that it can convert into pandoc elements, either by direct conversion or interpreting the derivation of the input document’s styles.
By enabling the styles
extension in the docx reader
(-f docx+styles
),
you can produce output that maintains the styles of the input document,
using the custom-style
class. Paragraph
styles are interpreted as divs, while character styles are interpreted
as spans.
For example, using the custom-style-reference.docx
file in the test
directory, we have the following different outputs:
Without the +styles
extension:
$ pandoc test/docx/custom-style-reference.docx -f docx -t markdown
This is some text.
This is text with an *emphasized* text style. And this is text with a
**strengthened** text style.
> Here is a styled paragraph that inherits from Block Text.
And with the extension:
$ pandoc test/docx/custom-style-reference.docx -f docx+styles -t markdown
::: {custom-style="First Paragraph"}
This is some text.
:::
::: {custom-style="Body Text"}
This is text with an [emphasized]{custom-style="Emphatic"} text style.
And this is text with a [strengthened]{custom-style="Strengthened"}
text style.
:::
::: {custom-style="My Block Style"}
> Here is a styled paragraph that inherits from Block Text.
:::
With these custom styles, you can use your input document as a reference-doc while creating docx output (see below), and maintain the same styles in your input and output files.
Pandoc peut être étendu avec des auteurs personnalisés écrits en Lua. (Pandoc comprend un interprète Lua, il n'est donc pas nécessaire d'installer Lua séparément)
Pour utiliser un auteur personnalisé, il suffit de spécifier le chemin d'accès au script Lua à la place du format de sortie. Par exemple :
pandoc -t data/sample.lua
Pour créer un auteur personnalisé, il faut écrire une fonction Lua pour chaque élément possible d'un document pandoc. Pour obtenir un exemple documenté que vous pouvez modifier en fonction de vos besoins, faites
pandoc --print-default-data-file sample.lua
Notez que les auteurs d'articles personnalisés n'ont pas de modèle par
défaut. Si vous souhaitez utiliser
--standalone
avec un auteur personnalisé, vous devrez spécifier un modèle
manuellement en utilisant
--template
ou ajouter un nouveau modèle par défaut avec le nom default.NAME_OF_CUSTOM_WRITER.lua
au
sous-répertoire templates
de votre
répertoire de données utilisateur (voir Templates).
If you use pandoc to convert user-contributed content in a web application, here are some things to keep in mind:
-
Although pandoc itself will not create or modify any files other than those you explicitly ask it create (with the exception of temporary files used in producing PDFs), a filter or custom writer could in principle do anything on your file system. Please audit filters and custom writers very carefully before using them.
-
If your application uses pandoc as a Haskell library (rather than shelling out to the executable), it is possible to use it in a mode that fully isolates pandoc from your file system, by running the pandoc operations in the
PandocPure
monad. See the document Using the pandoc API for more details. -
Pandoc’s parsers can exhibit pathological performance on some corner cases. It is wise to put any pandoc operations under a timeout, to avoid DOS attacks that exploit these issues. If you are using the pandoc executable, you can add the command line options
+RTS -M512M -RTS
(for example) to limit the heap size to 512MB. -
The HTML generated by pandoc is not guaranteed to be safe. If
raw_html
is enabled for the Markdown input, users can inject arbitrary HTML. Even ifraw_html
is disabled, users can include dangerous content in attributes for headings, spans, and code blocks. To be safe, you should run all the generated HTML through an HTML sanitizer.
Copyright 2006–2020 John MacFarlane (jgm@berkeley.edu). Released under the GPL, version 2 or greater. This software carries no warranty of any kind. (See COPYRIGHT for full copyright and warranty notices.) For a full list of contributors, see the file AUTHORS.md in the pandoc source code.
-
The point of this rule is to ensure that normal paragraphs starting with people’s initials, like
B. Russell was an English philosopher.
do not get treated as list items.
This rule will not prevent
(C) 2007 Joe Smith
from being interpreted as a list item. In this case, a backslash escape can be used:
(C\) 2007 Joe Smith
-
I have been influenced by the suggestions of David Wheeler.↩︎
-
This scheme is due to Michel Fortin, who proposed it on the Markdown discussion list.↩︎
-
To see why laziness is incompatible with relaxing the requirement of a blank line between items, consider the following example:
bar : definition foo : definition
Is this a single list item with two definitions of “bar,” the first of which is lazily wrapped, or two list items? To remove the ambiguity we must either disallow lazy wrapping or require a blank line between list items.↩︎