From ef5cd50c427ac2334e7803c560afb01f06c4003a Mon Sep 17 00:00:00 2001
From: Andre Maroneze <andre.maroneze@cea.fr>
Date: Mon, 29 Mar 2021 11:34:23 +0200
Subject: [PATCH] [Doc] manuals: update Foreword and Acknowledgements sections

---
 doc/MakeLaTeXModern      |  14 +++++++++++++-
 doc/anr-logo.png         | Bin 0 -> 10523 bytes
 doc/developer/.gitignore |   8 ++------
 doc/eu-flag.jpg          | Bin 0 -> 8373 bytes
 doc/frama-c-book.cls     |  34 ++++++++++++++++++++++++++++++++++
 doc/metrics/.gitignore   |   2 ++
 doc/pdg/.gitignore       |   2 ++
 doc/release/.gitignore   |   2 ++
 doc/rte/.gitignore       |   2 ++
 doc/slicing/.gitignore   |   2 ++
 doc/userman/.gitignore   |   2 ++
 doc/userman/macros.tex   |   2 +-
 doc/userman/userman.tex  |  12 ++++++------
 doc/value/.gitignore     |   2 ++
 14 files changed, 70 insertions(+), 14 deletions(-)
 create mode 100644 doc/anr-logo.png
 create mode 100644 doc/eu-flag.jpg

diff --git a/doc/MakeLaTeXModern b/doc/MakeLaTeXModern
index 71107267b78..3ce60c391f1 100644
--- a/doc/MakeLaTeXModern
+++ b/doc/MakeLaTeXModern
@@ -1,5 +1,5 @@
 FRAMAC_DOC_ROOT_DIR?=..
-FRAMAC_MODERN=frama-c-book.cls frama-c-cover.pdf frama-c-left.pdf frama-c-right.pdf frama-c-affiliation.tex
+FRAMAC_MODERN=frama-c-book.cls frama-c-cover.pdf frama-c-left.pdf frama-c-right.pdf frama-c-affiliation.tex eu-flag.jpg anr-logo.png
 
 frama-c-book.cls: $(FRAMAC_DOC_ROOT_DIR)/frama-c-book.cls
 	@rm -f $@
@@ -30,3 +30,15 @@ frama-c-affiliation.tex: $(FRAMAC_DOC_ROOT_DIR)/frama-c-affiliation.tex
 	@cp $< .
 	@chmod a-w $@
 	@echo "import $<"
+
+eu-flag.jpg: $(FRAMAC_DOC_ROOT_DIR)/eu-flag.jpg
+	@rm -f $@
+	@cp $< .
+	@chmod a-w $@
+	@echo "import $<"
+
+anr-logo.png: $(FRAMAC_DOC_ROOT_DIR)/anr-logo.png
+	@rm -f $@
+	@cp $< .
+	@chmod a-w $@
+	@echo "import $<"
diff --git a/doc/anr-logo.png b/doc/anr-logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..ccdb43a8e595eff510c6d06b6ebe14aa54721efe
GIT binary patch
literal 10523
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
N0F_dbtQI#4{vY;2PsjiO

literal 0
HcmV?d00001

diff --git a/doc/developer/.gitignore b/doc/developer/.gitignore
index a8469496d26..092d8112a26 100644
--- a/doc/developer/.gitignore
+++ b/doc/developer/.gitignore
@@ -1,4 +1,6 @@
+/anr-logo.png
 /developer.pdf
+/eu-flag.jpg
 /frama-c-book.cls
 /frama-c-cover.pdf
 /frama-c-left.pdf
@@ -8,12 +10,6 @@
 /tutorial/viewcfg/generated/
 /tutorial/hello/generated/
 /examples/generated/
-developer.pdf
-frama-c-book.cls
-frama-c-cover.pdf
-frama-c-left.pdf
-frama-c-right.pdf
-hello_world/
 *.idx
 *.out
 developer.fdb_latexmk
diff --git a/doc/eu-flag.jpg b/doc/eu-flag.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d59420b9cdcd1ff44ef33c9860fb93f068e5ebd5
GIT binary patch
literal 8373
zcmb7p1z42NxBu>vD+??g(jC%`AR!_RONY`e3oKpIAl;30m!xzz2q>X+D1w9tNJ-zt
zZ~pH8dH(m_*?HbQbLMl-%=^qa=bbZiJ9oPVfGWt!%L0HvAV3lM1KchG9s^K7pu37J
zsK|<jiH3%XigphJ1054`4+6ouhlPcWgAc{V!NbAAf)YdV2ndOYh#<Hmq{M`z_=H4+
zcS?XLNEuW#Fd7<|5E~1d@c&$HdjWWufDzyW6d)b|ga<^y1K#!nC;&hJa%w=pKLs5F
z4HJZd`nwnT8vm^q4ILE&2tvWUT>wCkVjw6A6aWAgo`%T$qv3x?;oJhK74JXSHNFqR
z>Puex=Kqfv2H)s|uQ(^@h@{BT1>A(w5ThpBnU&oVigDINJa#*yr%mbIf1?w07~Ecb
zz0Oi{XjO(avMsfqj`vyme2b#^M6B?T*`iZt9>Lx&j(v<q5^JCPmlVq6=Uv7sIgk2w
zv!gixz?q|b)YW~Lq<-)(0ASPgX=dOGEzTW7Btw0ZPW#uJSi@I;_Jb+io?7~<%{NS3
z6lpy)tVFWWRfL!=e0Ap?FK0Lix~#9fUH`;-iM_NS(&IvX73|eRh2#OpTFcl!Zhzvi
ziu@DtpMM|&&D3!Hd<y?Nwp>LWX_=1$vC;1q0D!*})j8nPRcq~6P^xv){hNzxPu<yn
z^}d#ePuGR(L&KvS!#}_%jMRy|g=4aCSQ^<Fa+v@Cf>!=-IwiWwp9t?-|4#u!P=mdE
z#qRig2O_`7mbhM@{0RaxIw_j?TFto<|0wz7E!co$qpJ(CoA}zy!LY^zc-m~19{%fv
z;mXQZua@cP+?sQdNE|qap4EV&X?JxE4YK*W;A664UVZlf0J8(%_ox_O{cHUhlIJOd
z&kIau3>tIv?MCOuo>-b}I1b(o_sDim?Q)4jptbDk@8JLds#t0R1DHPTtVdXK9kUQt
zR*jL6-Mz&Z+B+R(+D>m>l?(8A!hv0q{(p{*{G(_+ZRO7zq;(DtG+g@^{~yHvkD}}l
z|4$h|q%Sc+k<J1FqM)Gt<xZ$*NY_G_1VFj*35f6rY1ABvk$!`T^eP}4=mz6CvB9VE
z2-&AJ@liJcY^q&~^Ul0lEA3?|=$i*UVSD9lk=imEwACBMp0<%sCzxgDE=GrUB$O;N
z6ZD^Xd#6uNosw|S($<=H!QC0f74%-WJRXI%@4Y^PIL>ZzTt&}SH*4eC*<vvAs>Z2q
zd?XyGz}ksBLuj;SWIj2Tds($w_cYoYOM4}*na8NHb+mF+?{#y~orcmQh|}yQ=g<4K
z@s4ALb92<oA5xcReYQwU3N&QnEDk2?AfDZ{Yn=Tac=e-X5;ndq+z@K(4zIE2RvlJg
zc+!+>Tg#OAd{T|c<}E;(JE?Zg*F@(>H;g{@T%9d3$T?QUqpa$AB*_Daq}x6Giuchk
z^FMl_?OIouV$+SN3MVxO^$Hpqo@9j2V^M~8%ENWlyG$G(PI}U?rg!_=Xvz1q3{8tQ
z92xxJ&?GhPB4T^9n=&`ldWrVt7)uA+upjiKE*rt>^ePzM-myDRZ_Z-L>{4FC*+I@j
zIJ14v<zO$XoORYtdB{WPk?@J-a*a#Uo=nu}>V^?=4Y~0EKok%vDk?e%<qrcu20K&$
z9vVK66ag)_B$SX2Mnuo6hRBn4q%jHjy_zUMpak$HNb!Zy6ql|!{+44U+?HpVqAsVV
zFJvfcH+#XOmUeh_V!re}37KMy6H{$jtY9a|6PJRMCFvwNm+%YL3zmoO@l2d-4b7*;
zm4zU*YTe2W#@;@gcMibeqcZ&ExQf#4A_-O}{J3wtLI)-%L)tEy7{Q^BTbw>|@r_<J
z(5J72vk8eWnll<#D0t(??FPJCSkP>F1eY4X)xHI69-k2h*R3){_}UinLw^+b?oe=w
zSv@<Qt_m5z&!*J}s?ap%CpN+HP4g=hBdl2MpqYlXdM(<za5Ar`N6kB98U8!wyp-T~
zUIQEFW_{8kSz8GO&I^r_x@=R~{a;1bbOjreIaM>&9AmYwb!st)gBy^8#S5rsfZbtT
zt9ZEl0&=I~!I(ET$Bix}nV*FVDcj`K$?U$qY>Qo{4Gnt6Uox#5bl4lIB#3dj%l{3m
zSLHWuQp`8J&Kp%+t2G$Cqu~xKst_5UA5w>IX=L2f7NF_qSIPd!GxKQM_5R5XL$O)d
z;kkE4yu^47^lV1xave``TzKn7+!_(p#Cwl!aHuh?biQsxmCGxdD0F^wcB(u(3@;YD
zaM>uk(3L;g=j)O-B^8~<V04G6Qg@WRTI<A2fiq&E5tIUIDB&4kH0BnkKhuq@8g`Ca
zxz>pAlvVGCzZD2mlKILwPAKprEyB=d2;*?;ag>Ef9E@0SpN<qc8ue*`j7hNq`GuCo
zLIBA|BWLydD36`^OwQh$2duf(uQ}OqqKQzV?|b!|A;;7jjhXSxe!ghTYE14-!J@9-
zeH^=N%GpG_!sq?#3EoU)9VZ(E-Hah6`bcw&J8!4J&w={yi747T;jewotDXb2yrs}<
zwo!ycF6s|Z*eWE_R-N2bAPrj#Y1l|hM#n^&_8*pg*F?hupwsf;OTkPK@dSi)+>!x#
zwNPH^Ng}nL0~&gD$Ipk41ABiPIq0{M_f&maJfA_Uw)m`6s}@kC)1;xgO?Fh(x+Frh
zjlpvc+4276^64H<^Mfo-jJg~nhp0gVuz-2rK!N<D#hw|sU~2w7@n5>?+9?w*^I10a
zYztrH7~ekzX9g*c#y?K5Y15n4*l1e!X4*+qys*46&BYMSky3rgyJJeOIQ}&c_HCV+
zSJn#Ky6g$oOyRd1*&mt>j)>Bt#wPwzFwqd~qrtQDdqj|>3C1rw$zepI^gmvT-=H`2
zPR+|ORMmwNM0A=u!&Xm6Kj5c%n#Gh8S{HdF?Yx<+YvY|ii19Zy9Wl9TBFF1q_$k@K
z7Nd!u!wHNL=xuXf*pNs4$i&8YLP#?$i7)bF=|NI3HsQvX6@{6Fg!%lkfCjX=6v^Il
zl7i`}^N3ouOZ(zyh=y#<bUwBa8!h{{%FaX|yQuxvgW5h+K6yy>Yud9HAp)$yA=TmQ
z!%{3%QZRk(g<JQEPo+HC%(7j?qipP0u{ci6wWrsmnSx+<Z`E+5x3C8I)n`B+B}+B8
zBr5~K)tCxP2zi<l`dU6-@Ws<YjTdCB3^8W9*MS_=(?W!e%kIi@{8MEjlv;zc(sDXD
zOB0;5DnzE}@skv8IVvJ&@duDGy$2nJG#_HnXA{8l=1#dO=Z?%2FRD-8jwal&1rgz2
zL_lqF!4zlq#0t`~5l#oyXk~BF$BC4L7eG7jXiT&q26t~;F9Dx98=SIHOXMxpPS)Pl
zoaK4`?D}$!z2jcLV(t5w_;27c5r8YO54$9kIAu63Nv8EXwFQo4mSnWq-c6U7uS<%R
z-RLc#4E22H7$e6&XRHgH(ng$<1`&RZmPdz2g0m#etA>#ioc)do&w87&mJQxh-jR6v
zDAR3zJIb~|bUh|v>!MkI@7?B0ax*4`f?-^#vg48Hb@SPz<F!rxr*zrl47|(LkZOIV
z54f(RTM0Y3)@B=FGjQj*%<-<2CDTlk4$1Xy>}M~(FPaphf|La_vaNcC8jn7_5x}v2
zdk>|q^{T#J2wy#n{$8yXb@k4hy&!kd1!eT(PB1jKLh&)cE!r^6eWwjFq%_Nyc6!1n
z>VMyDulO1KL0eeD7zrM#U((vZL!5jeOBScApQ3h4gy#Ho^&auVzQsYES;_{9y{;vK
zh0ekknsek|#P~PL%3c&E3xkHHa#?&%s8xtFCM*#=BVPQIpK3;vXl7St?dcAc)zg}1
zL1ZFsvI(7iejFWNy<zrsG6bzyA7QX>H{x*5P3IDw8KxO>^k(3D$e!!^KEpDr0tMKF
z)P^u9C9h$g#vdqfP|cy-SVW^4kg_Pfgr03N#H50MaacOSd<!tR7F^itd7?<u8l^2x
zCdzE9LVwcNAtb57gsWuP!oDFlAIESpo&D~43&WFD*RAIqf?5mmb51lDX7R<9?V5HU
zOIez&pKKn|$6bDKCrB@F@-VF1oQbibR>-tkXU5Dpe$G&4GexZs>Vs1-ghQOEvI#?M
z`SR86>RKp3U+lkVA@Q*6e)1$KFEQ1s;mv*Yqpt#2W}6&}7o4d#Pf&3sqP!9Iyk3a`
z>?>?yw*a3#&&}zykP~nXm_?x5s>|c;T>6T9t9r_)`Y87l>wG<hYEc3vAyX&EM#`f4
z6r1Ebc%D6ojtnuM`KrWF*gOGo3ur`cR2tjV5bATBc_gv2$~gInVYdJyaQ-F--;`oP
zGRsT0H)7bbVx9|!hQj9+rS`0y(aHq=Z@hPH&^~9s*V25P$FZw7bv#6H$>5{>;mXqZ
zc+gf(p+-U0g%qS(CG!34LPG!YnPD(&+TwX();UymsfpavS5g^GInkMpc@lTblAYr?
zcncW;Qd25_>2LQ8D&#Gt4C2OpWQNJle|yF^bg6R}#*uqWAP9txjN@o%zc(m%VH^*D
zPe4n@BL#zU^Gcc^&<N=n_yTGV9;@|C(l|QheU_F{k3al#=ZP)>x{-PvU%z-m_v;Ox
ztoot#wD1>?FAHF<YmA@N@|qTHrKg5wdfQXea<JwY>~9gC8!&?5+>K6g1-`uSR6*B=
zs+TUwNrnv423tG~stdAg-kXJbdE%ux``UQHUfg|x2KN08Q0W@B9rv2Cm1nJJ149qk
zhv&5(QM_mos|C%#N3gq7!>PnUx^i7aCXNV7g`V8^ePBXv&J@^7J{G}SfbfICulvj$
zgHxO?5HM^AOE{?~?mL5b>RG>Yy9x71^5_o->h;i+*BQ3f{s7ibD-2&)Y-K&az|&h|
zo_2W27H}+M)E|+*fA)^1U7n12>(LeWp@a=sW4RMw6}%_AzWok!gev@*<;V+DeR41J
zAkLCRnlYai*FfF6Y}+quUqq8j2+wZ;Q`|LuN*Q{x@IU6nkeN8tIyeQI3`O(*!d?HM
z_%-cZjCdb%P7PinKP?g#Gl#1FnbW5)Dzp(r&Z>CxX$UHbY)zd-8wP-%Ds|~C;LT?U
z_Q6?K3R6JS;DC2-L~De|7m4sx8$Tbfy8isvk=A<^`0A5tLsS~co9xvavtS5pOt`SZ
z5wYu%6sdF_T6fcouP8<NL~}V|q+-+Yy@kPnl*!WP1n;!?dT2Ym4`e=C6WhJ^G={2}
zh=sA9mkN8RIy5x&P}fktd9@D<Tm5oI*(F)Fn8M+F!&R=UtyJ*a`%Bja0K7*37NELs
zr@K$N$XrNc`S@4qkkv*I5${Siyy|Qm5gLd|Zu{oZhYgkbl{LOz_l*~LvHHi3t)m=i
z3BJ1SDZ~lo&uj5ps3joyBrIQr-E}`M(h&n{*LcWb(&Fmk2Hs1)Y5J|sa5l)6dxdMm
zjBo6{?~zUH*gETW8Y<`!<>Iem(>5RdIxF9azgd=QlBk`rCR{YhxCQtM4#fIQUPud#
zx+_G_ACX#@h1z<)P4wPu?t2Vz5YXXZ8udJ$F~1^>D$%}l+&&xD*HyWSHs!W`Nu~H8
ze?GjEN?u)_&Acrve(x3#gc^|Kw6U@-YaF2q8VaRXV38_})n3W(JMR5BO{tzc@ye@7
zR^eL;<HN$3PgGvDv?cK+dQ}bmltvHmPl&L2zV}8oUD#6c&$s~1U5sql-5dtzic4Yn
z<*_E~VlA=5fcq1yTV+r!On)8kc^`Nfds*fePMyaK>LS+%H(Iv<qz|(}k@+7A3J95E
zATz<cf;^F-MS8CZA^^%Q8J}0HcHr1E`I+XgTv3Ad28EI&p{Br<u_XH8({T=1S|0rY
zs2>7*iQ7PVC3RBD5n3b-v43(%(Be^nu&twHmI=qWI_wZ~+dk!6s3bHQ9;#Go7=G|m
zw95hJ)*?CFNB$`Yl{@i6mtoq0{4*|=gd`k9AkW7MTh6gi9|ISM_n{FA;O|ND&w@if
zhf|iX9Z@_d7T7s2>E3=a`>~BN9P@sX%{C=vb<(wdnh7><H~-r<zaM0&l+hSMvF(#D
z60q2w3Dx?F!>UlIw-<13+?`i6FUfM#(Zr&>Eb%*^dY86VdJC2&s(ngISkgS@dVPGv
z__dpPUP523zaN{l&b%zdPQ*obwqi4mw@A-OF@Y3~aWoB)zJCiSk66QgZ47_$l*&$l
z%iEe_<<XH0@Cxl+kT=QIx>D;=;Mp0K|Egv!obeX$@RKI{n8<N>zyrn`)tqv-23kjF
z`{VJ`fH4!CEQ8~tVCK2Ue$N#~R(SC0{6`{Ei=`B3a%@*M%LT?Xwy2_3AGoyOY~CA4
zz|1yd9|zdY30Aph`}|Z$h!h-!FF3>5iG-|a_#GF<Y|h`|MUc;KkxXQLVcEv`#X3Vv
zODWEuiXGt<s*<|<gymj)7+-^$y<k#_P}@+N6)D=cxYdF~RXkdGD>p7>qjb_Y229pU
zeDtinH%WY7q6HSFf|!6W;ETsa-)VHw()UP?o))AJ{y=XsxOC7U7=6RoKNEi<gBCb=
zdeh?*3W<=7GuYaf>j9g;G~=@W?q~e<yfgwW<%5-V;ozxxVoEiJ$01Skr`QWIm9>f8
z%;Snff>I2UAq5@TNJgihYMI*7V}d6hQq6<*pA?Ts+3}jrA{^@i0`;gS{U9jb<_B6W
zEPdoE`KD0)6F>3^N?)@h6`y+&aY{`n236NhWi1%mIt1!gnKwYE{Cgs1A{4Fl57w(l
z8U`~7@{Onm9FS)G`=}6bmv=xJ66F7HwdwF*c=Cs)sHlHys2QCZVEwySBtf3$=U>X>
zdhYm6;6Hkqi|_bOy?^$m<0A=4nZNb?n@AhE6G;L8At+LJC&KM^_hd*=h5SbH|9<`f
z_~)58a!3FA11Zleb4L*Ug~YfcWcvSVGT_TIJN=17!Zg$5g7N=uwu&fG-l_VtDtP=u
z|IPgGMB^g-U)AkDS`NsV!;1G$%=sO1{)#yWNfRh{Kz!b$nj=kZ&%y7Ib9bNty+#MM
z3litR91}Q?<k@B|6CRu#s+S>taL#y8249IKfzUVvQqp-XPNoOs6-ZtaCCOwjn{SbC
z<-ju#noJy3fXPJEc2Oz_s=RbADFiQUf2F~jsc?QZ2gtgWAeKbQ+L+;&Gz{gV`L#bT
z>}goJ85aSg-G)&6Hq^+_k(%MI9;p+=k(p@~)EO>DXP4`7iVv&`ODB0ZveVj#x4!7^
zl%a-a)blGzy*ZS738_&W9D1K-`RI$>PqmO|{I>u$Vac(e^)CL;MPBL?(i}25{yk^f
zqrrA&xEVbqG`xcqkNG>A?n}J3z6?fGOM*DtdX%#mwsFEwA|LI5QOy)*5F>;})Al}F
zGb+6b;S|_i#g*SE6`dN&{j)&0_Oaak#fL={a*vR&6`eLN=z4U{GNZ$zV0)DrZFQ94
zgR#Fp;atd7>yRNk>@tL@9n!=!^J{a{(!4}TY#C#56SrlPP=#$rZD9VmNYNRMucB5m
z0DaM=nt>s;u|W~BDxpAaFC;)PUS~nV-D375a1grWDzWRTFMw1$?EZ&hJ<*}zzPur(
zkG}WQ(-Yz}JwG_FHbs?aeV^`cuc!wrPCh2FntqF~!}4&yR!K&xNjtB*u%k3{z0)^|
z?69RY{UF(Y=SfRK!U&leRS4>Y2l&J^Ez^UcCO46w)M1=#?s1m#``rV`WBtZ`v=Wcy
zeT7h{0D<4fyOU04yt|75<dwwVmjggNS{?xM3&t&ph=&HK<<U4E)c&@myK@8REkLRq
zB3f$Hi7HBhE5mn#1I4=q#I)bf@gsRg@$fi^Int1R@ql4k=f$bmt3Cw;oBs}~E2^F`
zZ|{T@@_X58A%!04pZtq3@uXx5<~XI!?5J_^@+*HPrWnnu^v#6!2sOAqkp-s;gtY=x
z{A4h`P?Xr0Sc@vl?@fDK=(A!ABg<x~5ASR+{bwer`U`UXht|ShD6lu1`wq#aeH~%Z
zlJ?i6)9j^>##obG0O=;^+C@u-sR1Opfw|)IyfREuN_>^hqPq#^q$ZTJxlVNXj&g3H
zF|!}kg`LQgZvk}vJwR;?HB3d|B;wVv+jz_fbh{GdU5V-IZ+X3639}l)n1(s7O))#d
zE?zdY83PV5Jzi(^IRxDgiD-D1vF2zPtrxg17mhthl`rs0!QFBAIu^z=%qv+KFGYlz
z!b70XQ;uVYoY%9vc{v6Fj8UZaWb0@}>9JNsvOLt%2T4{g?4{|+V@Rs<3hKQ==wH$D
z7^yku0@gTlp{Zz7pCiM5B$DJtu%pnC`U$?3o84Evc~tvux32Hr<<JQ6MBjia<u8<L
zy*+5wBaDKsw08w86a|d;gpr5l;jhL&FZqj^!Z_CRva8HK#<EURE-6U>pDRl{hiE8-
zxR~#_8De(Rb(Gs+h!}54qeAiXJz+W<Hy!EfQslat6Ike)uVv3Ca$V=H<98%OCiM^`
z{4QZn%zM*MzS*1p)WrYMlv`D$ND)(+k=-e!sey6icndgw@M?jYs|r<vq#d^~hXTMz
z4Ttnu9OPd`)Gqzp7Y1lqo1VC5wIrc}n4Q9w2fXOK0%<&@Z$N54%UVjXmx2M4fGx#`
z=2CeNb?3ODON_er4bVtw7TGuab-F2o7V>nUaCFEzCtu8!Z|`*6r{@(7OthQjPz<FK
z1R=XxQsfS8Rs1BFs2CvXwkitoVlnnELNRl2`Lxz<{^)~GXXs>F7x?(%H569Teq;lb
zaJ=d3RAf;H{7`G#*~hUujiX&F%?dq1mjDwjCkjyqT7CPesj8fVVm0z+!Lcwmjzy9#
zuJ&PvHNgVqJ0PlAa`#(VOi^Ge*-@BPH`N|(O^`J=HK%Z`!t|*2X(wv2#%nQ2@gkgj
zHg*O<y2Ix_HT3-${;}pG!zO?jb4GkKgSB1?kXWEEElPJu&OkGoHI{7@z^i3H1B{-5
z3wi>siSJttvK9^?BxNk71c0;N(M!%^JGXcc=0?aEo!n)W$Q|i#e@5Q=q5gR|_~(uk
z>CaH)*FlZO*s=EW!CyJ#Z<hwvvw`{#jVGuF#k-3#87SUcay3Gk2HpDQ!ZMz&Zf*2A
zbgIP;t1er%U9;t)t@#+LGUoFP!Axi}2*oJEEiCLW1npi0V%k~GT|fSMz<Mb~rKCza
zVN}0@kAdY=sk@WpDn~cro6aQqBz92gY9~DSzEnNj!68qcR3T~JjLXN+5=+IpBlH@5
z4J9pas(b&#gtC6qHgtr*xBBZWgG$&wyVDIg4rpzGk(0vrZEcFw4er8PK26pUNM7;L
z$n7D^nkoAL*z1`QotuhK4^zB#A-DF9?5DYfa`s+v+#PtuoadkbE0nl_6vh@!`Xxi{
zX!z~RiTd7;!m6y7IR<{47Mz#C9*3pJPS@G<2TfWoMcg~E9qzDKhJ#}>lNj0Dk!!<r
zgZEYGpZ9H#<-<$f9{-e@<UWHiRmR;%SM!|JB&Et=)pa9sWi2oGq45@5>$Fn24}?k*
zg4&5N>(vzgIIYYon~TD&ZcG_T-%zed_wZG*8TNv7I8Qwt3S|)PmNm_ivjUEpqRx4l
zvnosob!vCkrB~H(>Silu4q@_q(23-0Ch$Pg_h!nolP$IS!ox+^)UF7{R%==N?48&f
z3;%VQWEZ;5>h#_y>4(qbR3rE|X{f-!j^{49yIiT;(8A<EdIw+KuJtt;DDW2W_SAH{
z@bH7$hh+aZxH@~ZTsYyCSpXQ9E2}Fezvdbj%}YeU=Pw7Z@XsVO;LG{Ll3V1B9yqE;
zaAOn!8HoUolQdV%&u#~W2hG!IAeN~|^IUcwKY3lPqjx1;+gX(|v^389LaPa$`#f3^
zEsQN5rm$O{09|FB8)LG3fIY5^@DO1l8(eQF=j&zXcM8*A2f7fJBHsF38aj#5fX27p
zv{@!;3CrMhQ)1=0I<^)@ox9MH61w+2o=%$`cZ&QKjFs`Z+bzQ*wq_Zf8PT*9&e~H{
z;<xrRmlP*2mMergB=++b9zpzBmgTWMIq)iAu|VcRMS#-QYJz-1>!9K$+0i%4)rFSa
zL7DIK#TK;mCiSP{Qg7vkF1lnJ8)qz;-8V5t>&(oBL5L}yes@gZ-fJD-J^5xH8Y7@l
zBVJ_+y0ix%$&keXofZ!xey|S|a}}!FM$jIn-9{-hhZ2<gfu_Q1Nl5KSx|!lnh;dYi
z6i(pMH%g}xnN{@e29yfvaoV>ec5CA}R#^K(0l)|4eV+0Jh3Ni*-`T6);*U&6e&3PQ
bg84PA#}9vX5}}BBO8-9*)Sr>r==^^Hjw4(&

literal 0
HcmV?d00001

diff --git a/doc/frama-c-book.cls b/doc/frama-c-book.cls
index 19ad2e9fa2a..2dce074dba3 100644
--- a/doc/frama-c-book.cls
+++ b/doc/frama-c-book.cls
@@ -128,6 +128,40 @@ prefix=framacbook@,
 \medskip
 \ifusecc\doclicenseThis\else\fi
 }
+
+% \acknowledge{<flag image file>}{<text inside box>}
+\newcommand{\acknowledge}[2]{
+  \fbox{
+    \begin{minipage}{0.97\textwidth}
+      \begin{minipage}{1.2cm}
+        \includegraphics[width=\linewidth]{#1}
+      \end{minipage}
+      \begin{minipage}{0.90\textwidth}
+        This project has received funding from #2.
+      \end{minipage}
+    \end{minipage}
+  }
+}
+
+\newcommand{\acknowledgeANR}{
+  \acknowledge{anr-logo.png}{the French ANR projects
+    CAT~(ANR-05-RNTL-00301) and U3CAT~(08-SEGI-021-01)
+  }
+}
+
+\newcommand{\acknowledgeEU}{
+  \acknowledge{eu-flag.jpg}{the
+    European Union's Seventh Framework Programme (FP7/2007-2013)
+    under grant agreement N$^\circ$\,317753 (\mbox{STANCE}).\\
+    It has also received funding from the Horizon 2020 research
+    and innovation programme, under grant agreements
+    N$^\circ$\,731453~(\mbox{VESSEDIA}),
+    N$^\circ$\,824231~(\mbox{DECODER}),
+    N$^\circ$\,830892~(\mbox{SPARTA}),
+    and N$^\circ$\,883242~(\mbox{ENSURESEC})
+  }
+}
+
 % --------------------------------------------------------------------------
 % ---  Sectionning                                                       ---
 % --------------------------------------------------------------------------
diff --git a/doc/metrics/.gitignore b/doc/metrics/.gitignore
index 06c1c792c58..58acfccd3f9 100644
--- a/doc/metrics/.gitignore
+++ b/doc/metrics/.gitignore
@@ -1,3 +1,5 @@
+/anr-logo.png
+/eu-flag.jpg
 /frama-c-book.cls
 /frama-c-cover.pdf
 /frama-c-left.pdf
diff --git a/doc/pdg/.gitignore b/doc/pdg/.gitignore
index e9b8c334540..62322591627 100644
--- a/doc/pdg/.gitignore
+++ b/doc/pdg/.gitignore
@@ -1,4 +1,6 @@
+anr-logo.png
 biblio.bib
+eu-flag.jpg
 frama-c-book.cls
 frama-c-cover.pdf
 frama-c-left.pdf
diff --git a/doc/release/.gitignore b/doc/release/.gitignore
index f5569bd7861..8590f2c47f9 100644
--- a/doc/release/.gitignore
+++ b/doc/release/.gitignore
@@ -1,3 +1,5 @@
+/anr-logo.png
+/eu-flag.jpg
 /frama-c-book.cls
 /frama-c-cover.pdf
 /frama-c-left.pdf
diff --git a/doc/rte/.gitignore b/doc/rte/.gitignore
index 92f50e6b35d..77ccbb7eaf9 100644
--- a/doc/rte/.gitignore
+++ b/doc/rte/.gitignore
@@ -1,3 +1,5 @@
+/anr-logo.png
+/eu-flag.jpg
 /frama-c-book.cls
 /frama-c-cover.pdf
 /frama-c-left.pdf
diff --git a/doc/slicing/.gitignore b/doc/slicing/.gitignore
index 1913f75af09..ed79c64d8ff 100644
--- a/doc/slicing/.gitignore
+++ b/doc/slicing/.gitignore
@@ -1,4 +1,6 @@
+anr-logo.png
 biblio.bib
+eu-flag.jpg
 frama-c-book.cls
 frama-c-cover.pdf
 frama-c-left.pdf
diff --git a/doc/userman/.gitignore b/doc/userman/.gitignore
index f7fe0b37113..a2dae99658f 100644
--- a/doc/userman/.gitignore
+++ b/doc/userman/.gitignore
@@ -1,3 +1,5 @@
+anr-logo.png
+eu-flag.jpg
 frama-c-book.cls
 frama-c-cover.pdf
 frama-c-left.pdf
diff --git a/doc/userman/macros.tex b/doc/userman/macros.tex
index 508f439cb76..89afeea7155 100644
--- a/doc/userman/macros.tex
+++ b/doc/userman/macros.tex
@@ -1,5 +1,5 @@
 \newcommand{\framacversion}%
-           {\input{../../VERSION} (\input{../../VERSION_CODENAME}\unskip)}
+           {\input{../../VERSION}\unskip{} (\input{../../VERSION_CODENAME}\unskip)}
 \newcommand{\nextframacversion}{Frama-C+dev}
 
 \newcommand{\tool}[1]{\textsf{#1}\xspace}
diff --git a/doc/userman/userman.tex b/doc/userman/userman.tex
index c013f5d2220..10199add709 100644
--- a/doc/userman/userman.tex
+++ b/doc/userman/userman.tex
@@ -30,9 +30,6 @@
 \vfill
 \begin{flushleft}
   \textcopyright 2009-2021 CEA LIST
-
-This work has been supported by the ANR project CAT (ANR-05-RNTL-00301) and by
-the ANR project U3CAT (08-SEGI-021-01).
 \end{flushleft}
 \end{titlepage}
 
@@ -45,15 +42,18 @@ the ANR project U3CAT (08-SEGI-021-01).
 \addcontentsline{toc}{chapter}{Foreword}
 
 This is the user manual of \FramaC\footnote{\url{http://frama-c.com}}.  The
-content of this document corresponds to the version \framacversion (\today) of
-\FramaC. However the development of \FramaC is still ongoing: features
-described here may still evolve in the future.
+content of this document corresponds to the version \framacversion, on \today, of
+\FramaC.
 
 \section*{Acknowledgements}
 
 We gratefully thank all the people who contributed to this document: Patrick
 Baudin, Mickaël Delahaye, Philippe Hermann, Benjamin Monate and Dillon Pariente.
 
+\acknowledgeANR
+
+\acknowledgeEU
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \include{user-intro}
diff --git a/doc/value/.gitignore b/doc/value/.gitignore
index a15bb914b73..4cb469371c3 100644
--- a/doc/value/.gitignore
+++ b/doc/value/.gitignore
@@ -1,3 +1,5 @@
+/anr-logo.png
+/eu-flag.jpg
 /frama-c-book.cls
 /frama-c-cover.pdf
 /frama-c-left.pdf
-- 
GitLab