diff --git a/ICHLL_Brenon.md b/ICHLL_Brenon.md
index 98b094f1d9a877a1ffec070e251b829140996e9f..b0d0319be7b92f8a636089045c892cfcb01529fd 100644
--- a/ICHLL_Brenon.md
+++ b/ICHLL_Brenon.md
@@ -214,12 +214,14 @@ combinations sharply increases with each step.
 We transform the problem by representing this network as a directed graph, using
 elements of XML-TEI as nodes and placing edges if the destination node may be
 contained within the source node according to the schema. Please note that the
-"element" word is here used with the same meaning as in the TEI documentation to
+word "element" is here used with the same meaning as in the TEI documentation to
 refer to the conceptual device characterised by a given tag name such as `p` or
 `div` and not to a particular instance of them that may occur in a given
-document.
+document. Figure @fig:dictionaries-subgraph, by using this transformation to
+display the *dictionaries* module, hints at the overall complexity of the whole
+specification.
 
-![The subgraph of the *dictionaries* module](ressources/dictionaries.png)
+![The subgraph of the *dictionaries* module](ressources/dictionaries.png){#fig:dictionaries-subgraph}
 
 ### Definitions {-}
 
@@ -242,7 +244,7 @@ usually called a cycle and we may be tempted in our context to refine this and
 name them *inclusion cycles*. The `<address/>` element provides us with an
 example for this configuration: although an `<address/>` element may not
 directly contain another one, it may contain a `<geogName/>` which, in turn, may
-contain a new `<address/>` element.  From a graph theory perspective, we can say
+contain a new `<address/>` element. From a graph theory perspective, we can say
 that it admits an inclusion cycle of length two.
 
 ### Applications {-}
@@ -445,12 +447,13 @@ between several entries sharing the same headword, the concept itself has
 evolved beyond this mere distinction. Looking back at the *Encyclopédie*, the
 adjective *raisonné* in the rest of the title directly introduces a notion of
 structure that links back to the "Systême figuré des connoissances humaines"
-(Blanchard et al., 2002). The authors have devised a branching system to
-classify all knowledge, and the occurrence at the beginning of articles, more
-than a tool to clear up possible ambiguities also points the reader to the
-correct place in this mind map.
+(Blanchard et al., 2002) which schematic structure is shown in Figure
+@fig:systeme-figure. The authors have devised a branching system to classify all
+knowledge, and the occurrence at the beginning of articles, more than a tool to
+clear up possible ambiguities also points the reader to the correct place in
+this mind map.
 
-!["Systême figuré des connoissances humaines", the taxonomy at the heart of the Encyclopédie](ressources/arbre.png){width=200px}
+!["Systême figuré des connoissances humaines", the taxonomy at the heart of the Encyclopédie](ressources/arbre.png){width=300px #fig:systeme-figure}
 
 The situation regarding subject indicators is hardly better outside of the
 module. The `<domain/>` element despite its name belongs exclusively in the
@@ -472,25 +475,25 @@ relevant.
 
 Notwithstanding the correct way to represent domains of knowledge, their extent
 itself raises concerns regarding the *dictionaries* module. Indeed, among the
-vast collection of domains covered are sometimes historical articles and
-biographies. If the notion of meaning can appear ill-fitting for a text
-describing a series of historical events, one may still argue that it groups
-them into a concept and associates it to the name of the event. But when it
-comes to relating the life of a person, describing their relation to events and
-other persons comes out even further from the notion of meaning. To what extent
-is it relevant to consider that having discovered such or such thing or to have
-been born on a certain time at a certain place *defines* someone ?
-
-![Begining of the article relating the life of SANJO Sanetomi, in La Grande Encyclopédie, tome 29](ressources/sanjo_t29.png)
-
-Moreover, encyclopedias, inheriting as much as they have from the philosophical
-Enlightenment, are not only spaces designed to assert, they also intrinsically
-include an interrogative component. Some articles lay down the basis required to
-understand the complexity of an issue and invite the reader to consider it
-without providing a definite answer, going as far as to explicitly using
-question marks.
-
-![Excerpt from article "Action", in La Grande Encyclopédie, tome 1](ressources/action_t1.png)
+vast collection of domains covered in encyclopedias in general and in *La Grande
+Encyclopédie* in particular are historical articles and biographies. If the
+notion of meaning can appear at least ill-fitting for a text describing a series
+of historical events, one may still argue that it groups them into a concept and
+associates it to the name of the event. But when it comes to relating the life
+of a person, describing their relation to events and other persons comes out
+even further from the notion of meaning. Entries such as the one about SANJO
+Sanetomi (see Figure @fig:sanjo) do not constitute a *definition*.
+
+![Begining of the article relating the life of SANJO Sanetomi, in La Grande Encyclopédie, tome 29](ressources/sanjo_t29.png){#fig:sanjo}
+
+Moreover, encyclopedias, because of all that they have inherited from the
+philosophical Enlightenment, are not only spaces designed to assert, they also
+intrinsically include an interrogative component. Some articles lay down the
+basis required to understand the complexity of an issue and invite the reader to
+consider it without providing a definitive answer, going as far as to explicitly
+use question marks as in the article "Action" displayed in Figure @fig:action.
+
+![Excerpt from article "Action", in La Grande Encyclopédie, tome 1](ressources/action_t1.png){#fig:action}
 
 In this extract, the author devises a hypothetical situation to illustrate how
 difficult it is to draw the line between two supposedly mutually exclusive
@@ -509,12 +512,12 @@ the very reason why authors approach their subjects from various angles,
 circumnavigating it as a best approximation. This strategy favours long,
 structured developments with sections and subsections covering the multiple
 aspects of the topic: from a historical, political, scientific point of view…
-The longest articles can thus span several dozens of pages. They can contain
-substructures with titles on at least three levels (for instance, a `a)` under a
-`1)` under a `I.`), each of which are in turn generally developed over several
-paragraphs.
+The longest articles, such as article "Europe" shown in Figure @fig:europe, can
+thus span several dozens of pages. They can contain substructures with titles on
+at least three levels (for instance, a `a)` under a `1)` under a `I.`), each of
+which are in turn generally developed over several paragraphs.
 
-![La Grande Encyclopédie, tome 16, article "Europe" spans from p.782 to p.846, that is 64 pages and ends after over a column of bibliography](ressources/europe_t16.png)
+![La Grande Encyclopédie, tome 16, article "Europe", spanning from p.782 to p.846, that is 64 pages, and ending after a bibliography longer than one column of text](ressources/europe_t16.png){#fig:europe}
 
 The nested structure that we have just evidenced demands of course a nesting
 structure to accomodate it. More precisely it guides our search of XML elements
@@ -612,22 +615,24 @@ what happens at the level of each article, right under the `<body/>` element.
 Everything related to metadata happens as expected in the file's `<teiHeader/>`
 which is well-enough equiped to handle them. In order to present our scheme
 throughout the following section we will be progressively encoding a reference
-article, "Cathète" from tome 9.
+article, "Cathète" from tome 9 reproduced in Figure @fig:cathete-photo.
 
-![La Grande Encyclopédie, tome 9, article "Cathète"](ressources/cathète_t9.png)
+![La Grande Encyclopédie, tome 9, article "Cathète"](ressources/cathète_t9.png){#fig:cathete-photo}
 
 ### The scheme {-}
 
 Remaining within the *core* module for the structure, almost all useful elements
 are available and our encoding scheme merely quotes the official documentation.
 Each article is represented by a `<div/>`. We suggest setting an `xml:id`
-attribute on it with as value the — unique in the whole corpus, or made so by
-suffixing a number representing its rank among the various occurrences, even
-when there's only one for the sake of regularity — head word of the entry,
-normalised to lowercase, stripping spaces and replacing all non-alphanumerical
-characters by a dash `'-'` to avoid issues with the XML encoding.
+attribute on it with the head word of the entry — unique in the whole corpus, or
+made so by suffixing a number representing its rank among the various
+occurrences, even when there's only one for the sake of regularity — as its
+value, normalised to lowercase, stripping spaces and replacing all
+non-alphanumerical characters by a dash `'-'` to avoid issues with the XML
+encoding. Figure @fig:cathete-xml-0 illustrates this choice for the container
+element on the article "Cathète" previously displayed.
 
-![](snippets/cathète_0.png)
+![The container `div` element for article "Cathète"](snippets/cathète_0.png){#fig:cathete-xml-0}
 
 Inside this element should be a `<head/>` enclosing the headword of the article.
 The usual sub-`<hi/>` elements are available within `<head/>` if the headword is
@@ -643,64 +648,67 @@ must be discarded. The next best elements appear to be `<term/>` (not very
 accurate) and `<rs/>` ("referring string", quite a general semantics but a
 possible match — subject indicators refer to a given domain of knowledge —
 although all the examples in the documentation refer to concrete persons,
-places or object, not to the abstract objects that mathematics or poetry can be)
+places or object, not to the abstract objects that mathematics or poetry are).
 
 For this reason, we do not recommend any special encoding of the subject
 indicator but leave it open to each particular context: they are often
 abbreviated so an `<abbr/>` may apply, in *La Grande Encyclopédie*, biographies
 are not labeled by a knowledge domain but usually include the first name of the
 person when it is known so in that case an element like `<persName/>` is still
-appropriate.
+appropriate. This choice applied to the same article "Cathète" produces Figure
+@fig:cathete-xml-1.
 
-![](snippets/cathète_1.png)
+![Encoding the head word of article "Cathète"](snippets/cathète_1.png){#fig:cathete-xml-1}
 
 We then propose to wrap each different meaning in a separate `<div/>` with the
 `type` attribute set to `sense` to refer to the `<sense/>` element that would
-have been used within the *core* module. Each sense should be numbered with the
-`n` attribute.
+have been used within the *core* module. The `<div/>`s should be numbered
+according to the order they appear in with the `n` attribute starting from `0`
+as shown in Figure @fig:cathete-xml-2.
 
-![](snippets/cathète_2.png)
+![The empty structure for the only meaning of the word "Cathète"](snippets/cathète_2.png){#fig:cathete-xml-2}
 
 In addition, each line within the article must start with a `<lb/>` to mark its
-beginning including before the `<head/>` element, which, although a surprising
-setup, underlines the fact that in the dense layout of encyclopedias, the
-carriage return separating two articles is meaningful. Stating each new line
-explicitly keeps enough information to reconstruct a faithful facsimile but it
-also has the advantage of highlighting the fact than even though the definition
-is cut from the headword by being in a separate XML element, they still occur on
-the same line, which is a typographic choice usually made both in encyclopedias
-and dictionaries where space is at a premium.
+beginning including before the `<head/>` element as demonstrated by Figure
+@fig:cathete-xml-3, which, although a surprising setup, underlines the fact that
+in the dense layout of encyclopedias, the carriage return separating two
+articles is meaningful. Stating each new line explicitly keeps enough
+information to reconstruct a faithful facsimile but it also has the advantage of
+highlighting the fact than even though the definition is cut from the headword
+by being in a separate XML element, they still occur on the same line, which is
+a typographic choice usually made both in encyclopedias and dictionaries where
+space is at a premium. .
 
 To complete the structure, the various sections and subsections occurring
 within the article body may be nested as usual with `<div/>` and sub-`<div/>`s,
 filled with `<p/>` for paragraphs which can each be titled with `<head/>`
 elements local to each `<div/>`.
 
-![](snippets/cathète_3.png)
+![A complete encoding of article "Cathète"](snippets/cathète_3.png){#fig:cathete-xml-3}
 
-Some articles have figures with captions, which should be encoded the standard
-way by `<figure/>` and `<figDesc/>`.
+Some articles such as "Boumerang" have figures with captions, as illustrated by
+Figure @fig:boumerang-photo, which should be encoded the standard way by
+`<figure/>` and `<figDesc/>` as in Figure @fig:boumerang-xml.
 
-![La Grande Encyclopédie, tome 7, article "Boumerang"](ressources/boumerang_t7.png){height=300px}
+![La Grande Encyclopédie, tome 7, article "Boumerang"](ressources/boumerang_t7.png){height=300px #fig:boumerang-photo}
 
-![](snippets/boumerang.png)
+![Encoding the figure in article "Boumerang" and its captions](snippets/boumerang.png){#fig:boumerang-xml}
 
-Another issue of giving up on `<entry/>` is the unavailability of the `<xr/>`
-element to represent cross-references which occur in encyclopedias as well as in
-dictionaries. We prefer giving up on it to keep only the `<ref/>` element which
-is available in the context of a `<p/>`. Its `target` attribute should be set to
-the `xml:id` of the article it points to, prefixed with a `'#'` but without any
-other file or url prepended, if it can be determined accurately (a unique
-article with the corresponding article, or ambiguity solved with the help of the
-domain annotations). Another solution would have been to introduce a
-`<dictScrap/>` element for the sole purpose of placing an `<xr/>` but we
-advocate against it on account of the verbosity it would add to the encoding and
-the fact that it implicitly suggests that the previous context was not the one
-of a dictionary.
+Another issue arising from giving up on `<entry/>` is the unavailability of the
+`<xr/>` element, not allowed under any of the *core* elements we use but which
+is useful to represent cross-references occurring in encyclopedias as well as in
+dictionaries, for example in article "Gelocus" (see Figure @fig:gelocus-photo).
+We prefer to use the `<ref/>` element instead which is available in the context
+of a `<p/>`.  Its `target` attribute should be set to the `xml:id` of the
+article it points to, prefixed with a `'#'` as shown in Figure @fig:gelocus-xml.
+Another solution would have been to introduce a `<dictScrap/>` element for the
+sole purpose of placing an `<xr/>` but we advocate against it on account of the
+verbosity it would add to the encoding and the fact that it implicitly suggests
+that the previous context was not the one of a dictionary.
 
-![](snippets/gelocus.png)
+![La Grande Encyclopédie, tome 18, article "Gelocus"](ressources/gelocus_t18.png){#fig:gelocus-photo}
 
-![La Grande Encyclopédie, tome 18, article "Gelocus"](ressources/gelocus_t18.png)
+![Encoding the cross-references in article "Gelocus"](snippets/gelocus.png){#fig:gelocus-xml}
 
 But a typical page of an encyclopedia also features peritext elements, giving
 information to the reader about the current page number along with the headwords
@@ -711,13 +719,16 @@ recognised (those short elements on the border of pages are the ones typically
 prone to suffer damages or be misread by the OCR).
 
 Finally there are other TEI elements useful to represent "events" in the flow of
-the text, like the beginning of a new column of text or of a new page. The usual
-appropriate elements (`<pb/>` for page beginning, `<cb/>` for column beginning)
-may and should be used with our encoding scheme.
+the text, like the beginning of a new column of text or of a new page. Figure
+@fig:alcala-photo shows the top left of the last page of the first tome of *La
+Grande Encyclopédie* which features peritext elements while marking the
+beginning of a new page. The usual appropriate elements (`<pb/>` for page
+beginning, `<cb/>` for column beginning) may and should be used with our
+encoding scheme as demonstrated by Figure @fig:alcala-xml.
 
-![La Grande Encyclopédie, tome 1, article "Alcala-de-Hénarès"](ressources/last_page_top_left_t1.png){width=350px}
+![La Grande Encyclopédie, tome 1, article "Alcala-de-Hénarès"](ressources/last_page_top_left_t1.png){width=350px #fig:alcala-photo}
 
-![](snippets/alcala.png)
+![Encoding the beginning of a page in article "Alcala-de-Hénarès"](snippets/alcala.png){#fig:alcala-xml}
 
 ### Currently implemented {-}
 
@@ -725,13 +736,14 @@ The reference implementation for this encoding scheme is the program
 soprano[^soprano] developed within the scope of project DISCO-LGE to
 automatically identify individual articles in the flow of raw text from the
 columns and to encode them into XML-TEI files. Though this software has already
-been used to produce the first TEI version of *La Grande Encyclopédie*, it
-does not yet follow the above specification perfectly. Here is for instance the
-encoded version of article "Cathète" it currently produces:
+been used to produce the first TEI version of *La Grande Encyclopédie*, it does
+not yet follow the above specification perfectly. Figure
+@fig:cathete-xml-current shows the encoded version of article "Cathète" it
+currently produces:
 
 [^soprano]: [https://gitlab.huma-num.fr/disco-lge/soprano](https://gitlab.huma-num.fr/disco-lge/soprano)
 
-![](snippets/cathète_current.png)
+![The current encoding of article "Cathète" produced by `soprano`](snippets/cathète_current.png){#fig:cathete-xml-current}
 
 The headword detection system is not able to capture the subject indicators yet
 so it appears outside of the `<head/>` element. No work is performed either to
@@ -762,7 +774,7 @@ by `soprano` when inferring the reading order before segmenting the articles.
 Encyclopedias are particularly long books, spanning numerous tomes and
 containing several tenths of thousands of articles. The *Encyclopédie* comprises
 over 74k articles and *La Grande Encyclopédie* certainly more than 100k (the latest
-version produced by `soprano` produced 160k articles, but their segmentation is
+version produced by `soprano` created 160k articles, but their segmentation is
 still not perfect and if some article beginning remain undetected, all the very
 long and deeply-structured articles are unduly split into many parts, resulting
 globally in an overestimation of the total number). In any case, it consists of
diff --git a/Makefile b/Makefile
index 2bccf40842de354a998bf3567722317be89d24bb..d7ce76c6e3d3f0840b2cfa79681dcfc76d176ce4 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
 FIGURES = action_t1 arbre boumerang_t7 cathète_t9 dictionaries europe_t16 gelocus_t18 last_page_top_left_t1 sanjo_t29
 SNIPPETS = $(wildcard snippets/*.md)
+FILTERS = pandoc-fignos
 FILE_NAME = ICHLL_Brenon
 DEPEDENCIES = $(FIGURES:%=ressources/%.png) $(SNIPPETS:%.md=%.png)
 
@@ -9,7 +10,7 @@ ICHLL_Brenon.pdf: $(DEPEDENCIES)
 ICHLL_Brenon.docx: $(DEPEDENCIES)
 
 %.pdf: %.md
-	LANG=fr_FR.UTF-8 pandoc $< -o $@
+	LANG=fr_FR.UTF-8 pandoc $< $(FILTERS:%=--filter %) -o $@
 
 %.png: %.pdf
 	pdftocairo -png -singlefile -r 400 $^ $(basename $@)
@@ -18,5 +19,5 @@ ICHLL_Brenon.docx: $(DEPEDENCIES)
 	dot -Tpng $< -o $@
 
 %.docx: %.md
-	LANG=fr_FR.UTF-8 pandoc $< --to docx --number-sections -o $@
+	LANG=fr_FR.UTF-8 pandoc $< --to docx --number-sections $(FILTERS:%=--filter %) -o $@
 
diff --git a/feedback.txt b/feedback.txt
index 9b1a733872fb00bde223c60975d93bcadeb7b750..b9ab67e98b5ea8c6fb09d61ef4c6f96609e270e1 100644
--- a/feedback.txt
+++ b/feedback.txt
@@ -27,10 +27,10 @@ Body
 -Explain how your aims are relevant for and contribute to the topic of the first part of the book: Lexical databases and language processing in digital historical lexicography.
 -Explain clearly in what respect your method departs from previous approaches and improves them.
 -It would be of help that a brief introduction to each section gave an overview of the contents of the following sub-sections.
--Number figures. Refer to them in text as Figure 1, Figure 2, etc. Describe briefly the figures by explicitly referring to the number of the figure in question.
--Extract must be considered figures.
--Attributes like [cid:image001.png@01D86623.7C6238D0] must be considered figures.
--Use figure captions consistently.
+oNumber figures. Refer to them in text as Figure 1, Figure 2, etc. Describe briefly the figures by explicitly referring to the number of the figure in question.
+oExtract must be considered figures.
+oAttributes like [cid:image001.png@01D86623.7C6238D0] must be considered figures.
+oUse figure captions consistently.
 
 Format
 -Avoid double blank spaces and revise punctuation.
diff --git a/manifest.scm b/manifest.scm
index 950bbdfadf85e9b14c8e4df8f0257dd1c7affec2..d0971bcf0cd0f3d6d620ac0ab02d155b122d0dbb 100644
--- a/manifest.scm
+++ b/manifest.scm
@@ -5,5 +5,7 @@
              (gnu packages pdf)
              (gnu packages tex))
 
-(packages->manifest
-  (list gnu-make graphviz pandoc poppler texlive))
+(let
+  ((pandoc-fignos (load "pandoc-fignos.scm")))
+  (packages->manifest
+    (list gnu-make graphviz pandoc poppler texlive pandoc-fignos)))
diff --git a/pandoc-fignos.scm b/pandoc-fignos.scm
new file mode 100644
index 0000000000000000000000000000000000000000..a79ddaede387dc791565018359c41ea29c891c6f
--- /dev/null
+++ b/pandoc-fignos.scm
@@ -0,0 +1,24 @@
+(use-modules ((gnu packages python-xyz) #:select (python-psutil))
+             ((gnu packages textutils) #:select (python-pandocfilters))
+             (guix build-system python)
+             ((guix download) #:select (url-fetch))
+             ((guix licenses) #:select (gpl3))
+             (guix packages))
+
+(let
+  ((python-pandoc-xnos (load "pandoc-xnos.scm")))
+  (package
+    (name "python-pandoc-fignos")
+    (version "2.4.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "pandoc-fignos" version))
+        (sha256
+          (base32 "0jc8glwkhwxi4qc3jh1ssgvrw2jhf9gxv470kwp42948wkmfsn3h"))))
+    (build-system python-build-system)
+    (propagated-inputs (list python-pandoc-xnos))
+    (home-page "https://github.com/tomduck/pandoc-fignos")
+    (synopsis "Figure number filter for pandoc")
+    (description "Figure number filter for pandoc")
+    (license gpl3)))
diff --git a/pandoc-xnos.scm b/pandoc-xnos.scm
new file mode 100644
index 0000000000000000000000000000000000000000..8d1eed1449273827f2f9ec830afbc16db300f665
--- /dev/null
+++ b/pandoc-xnos.scm
@@ -0,0 +1,34 @@
+(use-modules ((gnu packages python-xyz) #:select (python-psutil python-tox))
+             ((gnu packages textutils) #:select (python-pandocfilters))
+             (guix build-system python)
+             ((guix download) #:select (url-fetch))
+             ((guix licenses) #:select (gpl3))
+             (guix packages))
+
+(package
+  (name "python-pandoc-xnos")
+  (version "2.5.0")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "pandoc-xnos" version))
+      (sha256
+        (base32 "1bjhwbfz67fm8ckvhhadi7y82cnlv2mnarfwfg2wwklyi667663w"))))
+  (build-system python-build-system)
+  ;(native-inputs (list pandoc python-tox))
+  (arguments
+	`(#:tests? #f
+	  #:phases
+	  (modify-phases %standard-phases
+					 (replace 'check
+							  (lambda* (#:key tests? #:allow-other-keys)
+									   (if tests?
+										 (begin
+										   (invoke "ls")
+										   (invoke "pwd")
+										   (invoke "./test/test.py"))))))))
+  (propagated-inputs (list python-pandocfilters python-psutil))
+  (home-page "https://github.com/tomduck/pandoc-xnos")
+  (synopsis "Library code for the pandoc-xnos filter suite.")
+  (description "Library code for the pandoc-xnos filter suite.")
+  (license gpl3))
diff --git a/snippets/gelocus.md b/snippets/gelocus.md
index ffe4ab7231fe18152ed9677fb5e116d9c1bca248..f320bedc4b27c75ea0be5f760df2b28aa5980c9b 100644
--- a/snippets/gelocus.md
+++ b/snippets/gelocus.md
@@ -4,7 +4,7 @@ header-includes:
 	\usepackage{graphicx}
 	\usepackage[left=0cm,top=0cm,right=0cm,nohead,nofoot]{geometry}
 	\geometry{
-        paperwidth=9.1cm,
+        paperwidth=9.2cm,
         paperheight=1.8cm,
         margin=0cm
 	}
@@ -12,7 +12,7 @@ header-includes:
 
 ```xml
 <p>
-	(V. <ref target="boeuf-0">Boeuf</ref> et
-	<ref target="chevrotain-0">Chevrotain</ref>).
+	(V. <ref target="#boeuf-0">Boeuf</ref> et
+	<ref target="#chevrotain-0">Chevrotain</ref>).
 </p>
 ```