diff --git a/amc-templates/amc_template.zip b/amc-templates/amc_template.zip index ec0ca21..b6b01d1 100644 Binary files a/amc-templates/amc_template.zip and b/amc-templates/amc_template.zip differ diff --git a/amc-templates/amc_template_kprime.zip b/amc-templates/amc_template_kprime.zip deleted file mode 100644 index b233faa..0000000 Binary files a/amc-templates/amc_template_kprime.zip and /dev/null differ diff --git a/amc-templates/amc_template_man/exam.amc b/amc-templates/amc_template_man/exam.amc new file mode 100644 index 0000000..f43a008 --- /dev/null +++ b/amc-templates/amc_template_man/exam.amc @@ -0,0 +1,98 @@ +AUTOQCM[TOTAL=1] + +AUTOQCM[NUM=1=rencontre] + +AUTOQCM[FQ] + +AUTOQCM[NUM=2=Fma] + +AUTOQCM[FQ] + +AUTOQCM[NUM=3=gong] + +AUTOQCM[FQ] + +AUTOQCM[NUM=4=hydrostatique] + +AUTOQCM[FQ] + +AUTOQCM[NUM=5=stylo] + +AUTOQCM[FQ] + +AUTOQCM[NUM=6=champE] + +AUTOQCM[FQ] + +AUTOQCM[NUM=7=champsEB] + +AUTOQCM[FQ] + +AUTOQCM[NUM=8=OH-Laplace] + +AUTOQCM[FQ] + +AUTOQCM[NUM=9=q-shuffled] + +AUTOQCM[FQ] + +AUTOQCM[TOTAL=1] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[TOTAL=1] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[TOTAL=1] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + +AUTOQCM[FQ] + diff --git a/amc-templates/amc_template_man/exam.aux b/amc-templates/amc_template_man/exam.aux new file mode 100644 index 0000000..2398624 --- /dev/null +++ b/amc-templates/amc_template_man/exam.aux @@ -0,0 +1,9 @@ +\relax +\catcode `:\active +\catcode `;\active +\catcode `!\active +\catcode `?\active +\select@language{french} +\@writefile{toc}{\select@language{french}} +\@writefile{lof}{\select@language{french}} +\@writefile{lot}{\select@language{french}} diff --git a/amc-templates/amc_template_man/exam.log b/amc-templates/amc_template_man/exam.log new file mode 100644 index 0000000..e4a0493 --- /dev/null +++ b/amc-templates/amc_template_man/exam.log @@ -0,0 +1,2547 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex 2018.10.15) 19 JUN 2019 17:14 +entering extended mode + \write18 enabled. + %&-line parsing enabled. +**exam.tex +(./exam.tex +LaTeX2e <2016/02/01> +Babel <3.9q> and hyphenation patterns for 81 language(s) loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2015/03/17 v1.2c Input encoding file +\inpenc@prehook=\toks14 +\inpenc@posthook=\toks15 + +(/usr/share/texlive/texmf-dist/tex/latex/base/utf8.def +File: utf8.def 2015/12/03 v1.1r UTF-8 support for inputenc +Now handling font encoding OML ... +... no UTF-8 mapping file for font encoding OML +Now handling font encoding T1 ... +... processing UTF-8 mapping file for font encoding T1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.dfu +File: t1enc.dfu 2015/12/03 v1.1r UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AB (decimal 171) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00BB (decimal 187) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C0 (decimal 192) + defining Unicode char U+00C1 (decimal 193) + defining Unicode char U+00C2 (decimal 194) + defining Unicode char U+00C3 (decimal 195) + defining Unicode char U+00C4 (decimal 196) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00C7 (decimal 199) + defining Unicode char U+00C8 (decimal 200) + defining Unicode char U+00C9 (decimal 201) + defining Unicode char U+00CA (decimal 202) + defining Unicode char U+00CB (decimal 203) + defining Unicode char U+00CC (decimal 204) + defining Unicode char U+00CD (decimal 205) + defining Unicode char U+00CE (decimal 206) + defining Unicode char U+00CF (decimal 207) + defining Unicode char U+00D0 (decimal 208) + defining Unicode char U+00D1 (decimal 209) + defining Unicode char U+00D2 (decimal 210) + defining Unicode char U+00D3 (decimal 211) + defining Unicode char U+00D4 (decimal 212) + defining Unicode char U+00D5 (decimal 213) + defining Unicode char U+00D6 (decimal 214) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00D9 (decimal 217) + defining Unicode char U+00DA (decimal 218) + defining Unicode char U+00DB (decimal 219) + defining Unicode char U+00DC (decimal 220) + defining Unicode char U+00DD (decimal 221) + defining Unicode char U+00DE (decimal 222) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E0 (decimal 224) + defining Unicode char U+00E1 (decimal 225) + defining Unicode char U+00E2 (decimal 226) + defining Unicode char U+00E3 (decimal 227) + defining Unicode char U+00E4 (decimal 228) + defining Unicode char U+00E5 (decimal 229) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00E7 (decimal 231) + defining Unicode char U+00E8 (decimal 232) + defining Unicode char U+00E9 (decimal 233) + defining Unicode char U+00EA (decimal 234) + defining Unicode char U+00EB (decimal 235) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F0 (decimal 240) + defining Unicode char U+00F1 (decimal 241) + defining Unicode char U+00F2 (decimal 242) + defining Unicode char U+00F3 (decimal 243) + defining Unicode char U+00F4 (decimal 244) + defining Unicode char U+00F5 (decimal 245) + defining Unicode char U+00F6 (decimal 246) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+00F9 (decimal 249) + defining Unicode char U+00FA (decimal 250) + defining Unicode char U+00FB (decimal 251) + defining Unicode char U+00FC (decimal 252) + defining Unicode char U+00FD (decimal 253) + defining Unicode char U+00FE (decimal 254) + defining Unicode char U+00FF (decimal 255) + defining Unicode char U+0100 (decimal 256) + defining Unicode char U+0101 (decimal 257) + defining Unicode char U+0102 (decimal 258) + defining Unicode char U+0103 (decimal 259) + defining Unicode char U+0104 (decimal 260) + defining Unicode char U+0105 (decimal 261) + defining Unicode char U+0106 (decimal 262) + defining Unicode char U+0107 (decimal 263) + defining Unicode char U+0108 (decimal 264) + defining Unicode char U+0109 (decimal 265) + defining Unicode char U+010A (decimal 266) + defining Unicode char U+010B (decimal 267) + defining Unicode char U+010C (decimal 268) + defining Unicode char U+010D (decimal 269) + defining Unicode char U+010E (decimal 270) + defining Unicode char U+010F (decimal 271) + defining Unicode char U+0110 (decimal 272) + defining Unicode char U+0111 (decimal 273) + defining Unicode char U+0112 (decimal 274) + defining Unicode char U+0113 (decimal 275) + defining Unicode char U+0114 (decimal 276) + defining Unicode char U+0115 (decimal 277) + defining Unicode char U+0116 (decimal 278) + defining Unicode char U+0117 (decimal 279) + defining Unicode char U+0118 (decimal 280) + defining Unicode char U+0119 (decimal 281) + defining Unicode char U+011A (decimal 282) + defining Unicode char U+011B (decimal 283) + defining Unicode char U+011C (decimal 284) + defining Unicode char U+011D (decimal 285) + defining Unicode char U+011E (decimal 286) + defining Unicode char U+011F (decimal 287) + defining Unicode char U+0120 (decimal 288) + defining Unicode char U+0121 (decimal 289) + defining Unicode char U+0122 (decimal 290) + defining Unicode char U+0123 (decimal 291) + defining Unicode char U+0124 (decimal 292) + defining Unicode char U+0125 (decimal 293) + defining Unicode char U+0128 (decimal 296) + defining Unicode char U+0129 (decimal 297) + defining Unicode char U+012A (decimal 298) + defining Unicode char U+012B (decimal 299) + defining Unicode char U+012C (decimal 300) + defining Unicode char U+012D (decimal 301) + defining Unicode char U+012E (decimal 302) + defining Unicode char U+012F (decimal 303) + defining Unicode char U+0130 (decimal 304) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0132 (decimal 306) + defining Unicode char U+0133 (decimal 307) + defining Unicode char U+0134 (decimal 308) + defining Unicode char U+0135 (decimal 309) + defining Unicode char U+0136 (decimal 310) + defining Unicode char U+0137 (decimal 311) + defining Unicode char U+0139 (decimal 313) + defining Unicode char U+013A (decimal 314) + defining Unicode char U+013B (decimal 315) + defining Unicode char U+013C (decimal 316) + defining Unicode char U+013D (decimal 317) + defining Unicode char U+013E (decimal 318) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0143 (decimal 323) + defining Unicode char U+0144 (decimal 324) + defining Unicode char U+0145 (decimal 325) + defining Unicode char U+0146 (decimal 326) + defining Unicode char U+0147 (decimal 327) + defining Unicode char U+0148 (decimal 328) + defining Unicode char U+014A (decimal 330) + defining Unicode char U+014B (decimal 331) + defining Unicode char U+014C (decimal 332) + defining Unicode char U+014D (decimal 333) + defining Unicode char U+014E (decimal 334) + defining Unicode char U+014F (decimal 335) + defining Unicode char U+0150 (decimal 336) + defining Unicode char U+0151 (decimal 337) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0154 (decimal 340) + defining Unicode char U+0155 (decimal 341) + defining Unicode char U+0156 (decimal 342) + defining Unicode char U+0157 (decimal 343) + defining Unicode char U+0158 (decimal 344) + defining Unicode char U+0159 (decimal 345) + defining Unicode char U+015A (decimal 346) + defining Unicode char U+015B (decimal 347) + defining Unicode char U+015C (decimal 348) + defining Unicode char U+015D (decimal 349) + defining Unicode char U+015E (decimal 350) + defining Unicode char U+015F (decimal 351) + defining Unicode char U+0160 (decimal 352) + defining Unicode char U+0161 (decimal 353) + defining Unicode char U+0162 (decimal 354) + defining Unicode char U+0163 (decimal 355) + defining Unicode char U+0164 (decimal 356) + defining Unicode char U+0165 (decimal 357) + defining Unicode char U+0168 (decimal 360) + defining Unicode char U+0169 (decimal 361) + defining Unicode char U+016A (decimal 362) + defining Unicode char U+016B (decimal 363) + defining Unicode char U+016C (decimal 364) + defining Unicode char U+016D (decimal 365) + defining Unicode char U+016E (decimal 366) + defining Unicode char U+016F (decimal 367) + defining Unicode char U+0170 (decimal 368) + defining Unicode char U+0171 (decimal 369) + defining Unicode char U+0172 (decimal 370) + defining Unicode char U+0173 (decimal 371) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0178 (decimal 376) + defining Unicode char U+0179 (decimal 377) + defining Unicode char U+017A (decimal 378) + defining Unicode char U+017B (decimal 379) + defining Unicode char U+017C (decimal 380) + defining Unicode char U+017D (decimal 381) + defining Unicode char U+017E (decimal 382) + defining Unicode char U+01CD (decimal 461) + defining Unicode char U+01CE (decimal 462) + defining Unicode char U+01CF (decimal 463) + defining Unicode char U+01D0 (decimal 464) + defining Unicode char U+01D1 (decimal 465) + defining Unicode char U+01D2 (decimal 466) + defining Unicode char U+01D3 (decimal 467) + defining Unicode char U+01D4 (decimal 468) + defining Unicode char U+01E2 (decimal 482) + defining Unicode char U+01E3 (decimal 483) + defining Unicode char U+01E6 (decimal 486) + defining Unicode char U+01E7 (decimal 487) + defining Unicode char U+01E8 (decimal 488) + defining Unicode char U+01E9 (decimal 489) + defining Unicode char U+01EA (decimal 490) + defining Unicode char U+01EB (decimal 491) + defining Unicode char U+01F0 (decimal 496) + defining Unicode char U+01F4 (decimal 500) + defining Unicode char U+01F5 (decimal 501) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+01E02 (decimal 7682) + defining Unicode char U+01E03 (decimal 7683) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201A (decimal 8218) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) + defining Unicode char U+201E (decimal 8222) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+2039 (decimal 8249) + defining Unicode char U+203A (decimal 8250) + defining Unicode char U+2423 (decimal 9251) +) +Now handling font encoding OT1 ... +... processing UTF-8 mapping file for font encoding OT1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ot1enc.dfu +File: ot1enc.dfu 2015/12/03 v1.1r UTF-8 support for inputenc + defining Unicode char U+00A0 (decimal 160) + defining Unicode char U+00A1 (decimal 161) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00AD (decimal 173) + defining Unicode char U+00B8 (decimal 184) + defining Unicode char U+00BF (decimal 191) + defining Unicode char U+00C5 (decimal 197) + defining Unicode char U+00C6 (decimal 198) + defining Unicode char U+00D8 (decimal 216) + defining Unicode char U+00DF (decimal 223) + defining Unicode char U+00E6 (decimal 230) + defining Unicode char U+00EC (decimal 236) + defining Unicode char U+00ED (decimal 237) + defining Unicode char U+00EE (decimal 238) + defining Unicode char U+00EF (decimal 239) + defining Unicode char U+00F8 (decimal 248) + defining Unicode char U+0131 (decimal 305) + defining Unicode char U+0141 (decimal 321) + defining Unicode char U+0142 (decimal 322) + defining Unicode char U+0152 (decimal 338) + defining Unicode char U+0153 (decimal 339) + defining Unicode char U+0174 (decimal 372) + defining Unicode char U+0175 (decimal 373) + defining Unicode char U+0176 (decimal 374) + defining Unicode char U+0177 (decimal 375) + defining Unicode char U+0218 (decimal 536) + defining Unicode char U+0219 (decimal 537) + defining Unicode char U+021A (decimal 538) + defining Unicode char U+021B (decimal 539) + defining Unicode char U+2013 (decimal 8211) + defining Unicode char U+2014 (decimal 8212) + defining Unicode char U+2018 (decimal 8216) + defining Unicode char U+2019 (decimal 8217) + defining Unicode char U+201C (decimal 8220) + defining Unicode char U+201D (decimal 8221) +) +Now handling font encoding OMS ... +... processing UTF-8 mapping file for font encoding OMS + +(/usr/share/texlive/texmf-dist/tex/latex/base/omsenc.dfu +File: omsenc.dfu 2015/12/03 v1.1r UTF-8 support for inputenc + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) +) +Now handling font encoding OMX ... +... no UTF-8 mapping file for font encoding OMX +Now handling font encoding U ... +... no UTF-8 mapping file for font encoding U + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+02C6 (decimal 710) + defining Unicode char U+02DC (decimal 732) + defining Unicode char U+200C (decimal 8204) + defining Unicode char U+2026 (decimal 8230) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2423 (decimal 9251) +)) +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 48. +)) +(/usr/share/texlive/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. +Package xcolor Info: Model `RGB' extended on input line 1353. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. +) +(/usr/share/texlive/texmf-dist/tex/latex/base/fix-cm.sty +Package: fix-cm 2015/01/14 v1.1t fixes to LaTeX + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def +File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file +Now handling font encoding TS1 ... +... processing UTF-8 mapping file for font encoding TS1 + +(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.dfu +File: ts1enc.dfu 2015/12/03 v1.1r UTF-8 support for inputenc + defining Unicode char U+00A2 (decimal 162) + defining Unicode char U+00A3 (decimal 163) + defining Unicode char U+00A4 (decimal 164) + defining Unicode char U+00A5 (decimal 165) + defining Unicode char U+00A6 (decimal 166) + defining Unicode char U+00A7 (decimal 167) + defining Unicode char U+00A8 (decimal 168) + defining Unicode char U+00A9 (decimal 169) + defining Unicode char U+00AA (decimal 170) + defining Unicode char U+00AC (decimal 172) + defining Unicode char U+00AE (decimal 174) + defining Unicode char U+00AF (decimal 175) + defining Unicode char U+00B0 (decimal 176) + defining Unicode char U+00B1 (decimal 177) + defining Unicode char U+00B2 (decimal 178) + defining Unicode char U+00B3 (decimal 179) + defining Unicode char U+00B4 (decimal 180) + defining Unicode char U+00B5 (decimal 181) + defining Unicode char U+00B6 (decimal 182) + defining Unicode char U+00B7 (decimal 183) + defining Unicode char U+00B9 (decimal 185) + defining Unicode char U+00BA (decimal 186) + defining Unicode char U+00BC (decimal 188) + defining Unicode char U+00BD (decimal 189) + defining Unicode char U+00BE (decimal 190) + defining Unicode char U+00D7 (decimal 215) + defining Unicode char U+00F7 (decimal 247) + defining Unicode char U+0192 (decimal 402) + defining Unicode char U+02C7 (decimal 711) + defining Unicode char U+02D8 (decimal 728) + defining Unicode char U+02DD (decimal 733) + defining Unicode char U+0E3F (decimal 3647) + defining Unicode char U+2016 (decimal 8214) + defining Unicode char U+2020 (decimal 8224) + defining Unicode char U+2021 (decimal 8225) + defining Unicode char U+2022 (decimal 8226) + defining Unicode char U+2030 (decimal 8240) + defining Unicode char U+2031 (decimal 8241) + defining Unicode char U+203B (decimal 8251) + defining Unicode char U+203D (decimal 8253) + defining Unicode char U+2044 (decimal 8260) + defining Unicode char U+204E (decimal 8270) + defining Unicode char U+2052 (decimal 8274) + defining Unicode char U+20A1 (decimal 8353) + defining Unicode char U+20A4 (decimal 8356) + defining Unicode char U+20A6 (decimal 8358) + defining Unicode char U+20A9 (decimal 8361) + defining Unicode char U+20AB (decimal 8363) + defining Unicode char U+20AC (decimal 8364) + defining Unicode char U+20B1 (decimal 8369) + defining Unicode char U+2103 (decimal 8451) + defining Unicode char U+2116 (decimal 8470) + defining Unicode char U+2117 (decimal 8471) + defining Unicode char U+211E (decimal 8478) + defining Unicode char U+2120 (decimal 8480) + defining Unicode char U+2122 (decimal 8482) + defining Unicode char U+2126 (decimal 8486) + defining Unicode char U+2127 (decimal 8487) + defining Unicode char U+212E (decimal 8494) + defining Unicode char U+2190 (decimal 8592) + defining Unicode char U+2191 (decimal 8593) + defining Unicode char U+2192 (decimal 8594) + defining Unicode char U+2193 (decimal 8595) + defining Unicode char U+2329 (decimal 9001) + defining Unicode char U+232A (decimal 9002) + defining Unicode char U+2422 (decimal 9250) + defining Unicode char U+25E6 (decimal 9702) + defining Unicode char U+25EF (decimal 9711) + defining Unicode char U+266A (decimal 9834) +))) +(./automultiplechoice.sty +Package: automultiplechoice + +(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +\fancy@headwidth=\skip43 +\f@ncyO@elh=\skip44 +\f@ncyO@erh=\skip45 +\f@ncyO@olh=\skip46 +\f@ncyO@orh=\skip47 +\f@ncyO@elf=\skip48 +\f@ncyO@erf=\skip49 +\f@ncyO@olf=\skip50 +\f@ncyO@orf=\skip51 +) +(/usr/share/texlive/texmf-dist/tex/latex/bophook/bophook.sty +Package: bophook 2001/03/29 v0.02 beginning-of-page hook, K. Tinnefeld +) +(/usr/share/texlive/texmf-dist/tex/latex/xkeyval/xkeyval.sty +Package: xkeyval 2014/12/03 v2.7a package option processing (HA) + +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkeyval.tex +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/xkvutils.tex +\XKV@toks=\toks16 +\XKV@tempa@toks=\toks17 + +(/usr/share/texlive/texmf-dist/tex/generic/xkeyval/keyval.tex)) +\XKV@depth=\count88 +File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA) +)) +(/usr/share/texlive/texmf-dist/tex/latex/rotating/rotating.sty +Package: rotating 2009/03/28 v2.16a rotated objects in LaTeX + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/01/03 v1.0q Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: pdftex.def on input line 95. +) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +\c@r@tfl@t=\count89 +\rotFPtop=\skip52 +\rotFPbot=\skip53 +\rot@float@box=\box26 +\rot@mess@toks=\toks18 +) +(/usr/share/texlive/texmf-dist/tex/latex/fancybox/fancybox.sty +Package: fancybox 2010/05/15 1.4 + +Style option: `fancybox' v1.4 <2010/05/15> (tvz) +\@fancybox=\box27 +\shadowsize=\dimen105 +\@Sbox=\box28 +\do@VerbBox=\toks19 +\the@fancyput=\toks20 +\this@fancyput=\toks21 +\EndVerbatimTokens=\toks22 +\Verbatim@Outfile=\write3 +\Verbatim@Infile=\read1 +) +\AMC@logfile=\write4 +\openout4 = `exam.amc'. + +\AMCload@counter=\count90 +\AMCid@quest=\count91 +\AMCid@check=\count92 +\AMCid@etud=\count93 +\AMCid@etudstart=\count94 +\AMCid@etudfin=\count95 +\AMCnum@copies=\count96 +\AMCformVSpace=\dimen106 +\AMCformHSpace=\dimen107 +\AMCinterIrep=\dimen108 +\AMCinterBrep=\dimen109 +\AMCinterIquest=\dimen110 +\AMCinterBquest=\dimen111 +\AMCids@width=\dimen112 +\AMCids@height=\dimen113 +\AMC@SR=\count97 +\AMC@SR@count=\count98 +\AMC@SRnum=\count99 +\AMC@sti=\count100 +\AMC@stil=\count101 +\AMCsw@p@=\toks23 +\AMC@numerotation=\count102 +\AMC@XYspecial=\write5 +\AMC@tmpXY=\write6 +\c@AMC@ncase=\count103 +\AMC@boxedrule=\skip54 +\AMC@crossrule=\skip55 +\AMC@boxeddown=\skip56 +\AMC@boxedwidth=\skip57 +\AMC@boxedheight=\skip58 +\AMC@oval@radius=\skip59 +\AMC@outside@sep=\skip60 +\AMC@CBtaille=\skip61 +\AMCbin@sequence=\toks24 +\AMCbin@number=\count104 +\AMCbin@ndigits=\count105 +\AMCbin@id=\count106 +\AMCbin@digit=\count107 +\AMCtok@k=\count108 +\AMCtok@max=\count109 +\AMCtok@size=\count110 +\AMC@imax=\count111 +\AMCtok@ik=\count112 +\AMCloop@k=\count113 +\AMCrep@count=\count114 +\reponse@cxcix=\toks25 +\reponse@cxcviii=\toks26 +\reponse@cxcvii=\toks27 +\reponse@cxcvi=\toks28 +\reponse@cxcv=\toks29 +\reponse@cxciv=\toks30 +\reponse@cxciii=\toks31 +\reponse@cxcii=\toks32 +\reponse@cxci=\toks33 +\reponse@cxc=\toks34 +\reponse@clxxxix=\toks35 +\reponse@clxxxviii=\toks36 +\reponse@clxxxvii=\toks37 +\reponse@clxxxvi=\toks38 +\reponse@clxxxv=\toks39 +\reponse@clxxxiv=\toks40 +\reponse@clxxxiii=\toks41 +\reponse@clxxxii=\toks42 +\reponse@clxxxi=\toks43 +\reponse@clxxx=\toks44 +\reponse@clxxix=\toks45 +\reponse@clxxviii=\toks46 +\reponse@clxxvii=\toks47 +\reponse@clxxvi=\toks48 +\reponse@clxxv=\toks49 +\reponse@clxxiv=\toks50 +\reponse@clxxiii=\toks51 +\reponse@clxxii=\toks52 +\reponse@clxxi=\toks53 +\reponse@clxx=\toks54 +\reponse@clxix=\toks55 +\reponse@clxviii=\toks56 +\reponse@clxvii=\toks57 +\reponse@clxvi=\toks58 +\reponse@clxv=\toks59 +\reponse@clxiv=\toks60 +\reponse@clxiii=\toks61 +\reponse@clxii=\toks62 +\reponse@clxi=\toks63 +\reponse@clx=\toks64 +\reponse@clix=\toks65 +\reponse@clviii=\toks66 +\reponse@clvii=\toks67 +\reponse@clvi=\toks68 +\reponse@clv=\toks69 +\reponse@cliv=\toks70 +\reponse@cliii=\toks71 +\reponse@clii=\toks72 +\reponse@cli=\toks73 +\reponse@cl=\toks74 +\reponse@cxlix=\toks75 +\reponse@cxlviii=\toks76 +\reponse@cxlvii=\toks77 +\reponse@cxlvi=\toks78 +\reponse@cxlv=\toks79 +\reponse@cxliv=\toks80 +\reponse@cxliii=\toks81 +\reponse@cxlii=\toks82 +\reponse@cxli=\toks83 +\reponse@cxl=\toks84 +\reponse@cxxxix=\toks85 +\reponse@cxxxviii=\toks86 +\reponse@cxxxvii=\toks87 +\reponse@cxxxvi=\toks88 +\reponse@cxxxv=\toks89 +\reponse@cxxxiv=\toks90 +\reponse@cxxxiii=\toks91 +\reponse@cxxxii=\toks92 +\reponse@cxxxi=\toks93 +\reponse@cxxx=\toks94 +\reponse@cxxix=\toks95 +\reponse@cxxviii=\toks96 +\reponse@cxxvii=\toks97 +\reponse@cxxvi=\toks98 +\reponse@cxxv=\toks99 +\reponse@cxxiv=\toks100 +\reponse@cxxiii=\toks101 +\reponse@cxxii=\toks102 +\reponse@cxxi=\toks103 +\reponse@cxx=\toks104 +\reponse@cxix=\toks105 +\reponse@cxviii=\toks106 +\reponse@cxvii=\toks107 +\reponse@cxvi=\toks108 +\reponse@cxv=\toks109 +\reponse@cxiv=\toks110 +\reponse@cxiii=\toks111 +\reponse@cxii=\toks112 +\reponse@cxi=\toks113 +\reponse@cx=\toks114 +\reponse@cix=\toks115 +\reponse@cviii=\toks116 +\reponse@cvii=\toks117 +\reponse@cvi=\toks118 +\reponse@cv=\toks119 +\reponse@civ=\toks120 +\reponse@ciii=\toks121 +\reponse@cii=\toks122 +\reponse@ci=\toks123 +\reponse@c=\toks124 +\reponse@xcix=\toks125 +\reponse@xcviii=\toks126 +\reponse@xcvii=\toks127 +\reponse@xcvi=\toks128 +\reponse@xcv=\toks129 +\reponse@xciv=\toks130 +\reponse@xciii=\toks131 +\reponse@xcii=\toks132 +\reponse@xci=\toks133 +\reponse@xc=\toks134 +\reponse@lxxxix=\toks135 +\reponse@lxxxviii=\toks136 +\reponse@lxxxvii=\toks137 +\reponse@lxxxvi=\toks138 +\reponse@lxxxv=\toks139 +\reponse@lxxxiv=\toks140 +\reponse@lxxxiii=\toks141 +\reponse@lxxxii=\toks142 +\reponse@lxxxi=\toks143 +\reponse@lxxx=\toks144 +\reponse@lxxix=\toks145 +\reponse@lxxviii=\toks146 +\reponse@lxxvii=\toks147 +\reponse@lxxvi=\toks148 +\reponse@lxxv=\toks149 +\reponse@lxxiv=\toks150 +\reponse@lxxiii=\toks151 +\reponse@lxxii=\toks152 +\reponse@lxxi=\toks153 +\reponse@lxx=\toks154 +\reponse@lxix=\toks155 +\reponse@lxviii=\toks156 +\reponse@lxvii=\toks157 +\reponse@lxvi=\toks158 +\reponse@lxv=\toks159 +\reponse@lxiv=\toks160 +\reponse@lxiii=\toks161 +\reponse@lxii=\toks162 +\reponse@lxi=\toks163 +\reponse@lx=\toks164 +\reponse@lix=\toks165 +\reponse@lviii=\toks166 +\reponse@lvii=\toks167 +\reponse@lvi=\toks168 +\reponse@lv=\toks169 +\reponse@liv=\toks170 +\reponse@liii=\toks171 +\reponse@lii=\toks172 +\reponse@li=\toks173 +\reponse@l=\toks174 +\reponse@xlix=\toks175 +\reponse@xlviii=\toks176 +\reponse@xlvii=\toks177 +\reponse@xlvi=\toks178 +\reponse@xlv=\toks179 +\reponse@xliv=\toks180 +\reponse@xliii=\toks181 +\reponse@xlii=\toks182 +\reponse@xli=\toks183 +\reponse@xl=\toks184 +\reponse@xxxix=\toks185 +\reponse@xxxviii=\toks186 +\reponse@xxxvii=\toks187 +\reponse@xxxvi=\toks188 +\reponse@xxxv=\toks189 +\reponse@xxxiv=\toks190 +\reponse@xxxiii=\toks191 +\reponse@xxxii=\toks192 +\reponse@xxxi=\toks193 +\reponse@xxx=\toks194 +\reponse@xxix=\toks195 +\reponse@xxviii=\toks196 +\reponse@xxvii=\toks197 +\reponse@xxvi=\toks198 +\reponse@xxv=\toks199 +\reponse@xxiv=\toks200 +\reponse@xxiii=\toks201 +\reponse@xxii=\toks202 +\reponse@xxi=\toks203 +\reponse@xx=\toks204 +\reponse@xix=\toks205 +\reponse@xviii=\toks206 +\reponse@xvii=\toks207 +\reponse@xvi=\toks208 +\reponse@xv=\toks209 +\reponse@xiv=\toks210 +\reponse@xiii=\toks211 +\reponse@xii=\toks212 +\reponse@xi=\toks213 +\reponse@x=\toks214 +\reponse@ix=\toks215 +\reponse@viii=\toks216 +\reponse@vii=\toks217 +\reponse@vi=\toks218 +\reponse@v=\toks219 +\reponse@iv=\toks220 +\reponse@iii=\toks221 +\reponse@ii=\toks222 +\reponse@i=\toks223 +\AMCnum@questions=\count115 +\AMCrep@@count=\count116 +\AMC@mn@test=\skip62 +\AMC@mn@sep=\skip63 +\AMC@mn@leftmargin=\skip64 +\AMC@mn@rightmargin=\skip65 +\AMC@sz@width=\skip66 +\AMC@sz@height=\skip67 +\AMC@sz@depth=\skip68 +\AMC@sza@width=\skip69 +\AMC@sza@height=\skip70 +\AMC@sza@depth=\skip71 +\c@AMCquestionaff=\count117 +\ouverte@vs=\dimen114 +\AMC@chiffres=\count118 +\AMCcodeHspace=\dimen115 +\AMCcodeVspace=\dimen116 +\AMCnumeric@Hspace=\dimen117 +\AMCnumeric@Vspace=\dimen118 +\AMC@numeric@lastdigit=\count119 +\AMC@integer@modulo=\count120 +\AMC@numeric@integer=\count121 +\AMC@numeric@calcdigit=\count122 +\AMC@numeric@digits=\count123 +\AMC@numeric@decd=\count124 +\AMC@numeric@value=\count125 +\AMC@numeric@x=\count126 +\AMC@numeric@base=\count127 +\AMC@numeric@exact=\count128 +\AMC@numeric@approx=\count129 +\AMCopen@Hspace=\dimen119 +\AMCopen@LineHeight=\dimen120 +\AMCopen@Lines=\count130 +\AMCopen@boxmargin=\dimen121 +\AMCopen@boxframerule=\dimen122 +\AMCopen@framerule=\dimen123 + (/usr/share/texlive/texmf-dist/tex/latex/environ/environ.sty +Package: environ 2014/05/04 v0.3 A new way to define environments + +(/usr/share/texlive/texmf-dist/tex/latex/trimspaces/trimspaces.sty +Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list +) +\@envbody=\toks224 +) +(/usr/share/texlive/texmf-dist/tex/latex/etex-pkg/etex.sty +Package: etex 2016/01/11 v2.6 eTeX basic definition package (PEB,DPC) +\et@xins=\count131 +) +(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty +Package: geometry 2010/09/12 v5.6 Page Geometry + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +\Gm@cnth=\count132 +\Gm@cntv=\count133 +\c@Gm@tempcnt=\count134 +\Gm@bindingoffset=\dimen124 +\Gm@wd@mp=\dimen125 +\Gm@odd@mp=\dimen126 +\Gm@even@mp=\dimen127 +\Gm@layoutwidth=\dimen128 +\Gm@layoutheight=\dimen129 +\Gm@layouthoffset=\dimen130 +\Gm@layoutvoffset=\dimen131 +\Gm@dimlist=\toks225 +)) +\boxGridHeight=\skip72 + +(./packages.tex +(/usr/share/texlive/texmf-dist/tex/latex/csvsimple/csvsimple.sty +Package: csvsimple 2014/07/14 version 1.12 LaTeX CSV file processing + +(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks226 +\pgfkeys@temptoks=\toks227 + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.code.t +ex +\pgfkeys@tmptoks=\toks228 +))) +\csv@file=\read2 +\c@csvinputline=\count135 +\c@csvrow=\count136 +\c@csvcol=\count137 +\csv@out=\write7 +) (/usr/share/texlive/texmf-dist/tex/latex/tools/multicol.sty +Package: multicol 2015/08/19 v1.8n multicolumn formatting (FMi) +\c@tracingmulticols=\count138 +\mult@box=\box29 +\multicol@leftmargin=\dimen132 +\c@unbalance=\count139 +\c@collectmore=\count140 +\doublecol@number=\count141 +\multicoltolerance=\count142 +\multicolpretolerance=\count143 +\full@width=\dimen133 +\page@free=\dimen134 +\premulticols=\dimen135 +\postmulticols=\dimen136 +\multicolsep=\skip73 +\multicolbaselineskip=\skip74 +\partial@page=\box30 +\last@line=\box31 +\maxbalancingoverflow=\dimen137 +\mult@rightbox=\box32 +\mult@grightbox=\box33 +\mult@gfirstbox=\box34 +\mult@firstbox=\box35 +\@tempa=\box36 +\@tempa=\box37 +\@tempa=\box38 +\@tempa=\box39 +\@tempa=\box40 +\@tempa=\box41 +\@tempa=\box42 +\@tempa=\box43 +\@tempa=\box44 +\@tempa=\box45 +\@tempa=\box46 +\@tempa=\box47 +\@tempa=\box48 +\@tempa=\box49 +\@tempa=\box50 +\@tempa=\box51 +\@tempa=\box52 +\c@columnbadness=\count144 +\c@finalcolumnbadness=\count145 +\last@try=\dimen138 +\multicolovershoot=\dimen139 +\multicolundershoot=\dimen140 +\mult@nat@firstbox=\box53 +\colbreak@box=\box54 +\mc@col@check@num=\count146 +) +(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty +Package: array 2014/10/28 v2.4c Tabular extension package (FMi) +\col@sep=\dimen141 +\extrarowheight=\dimen142 +\NC@list=\toks229 +\extratabsurround=\skip75 +\backup@length=\skip76 +) +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2016/02/24 3.9q The Babel package + +(/usr/share/texlive/texmf-dist/tex/generic/babel-french/frenchb.ldf +Language: frenchb 2016/02/13 v3.1l French support from the babel system + +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2016/02/24 3.9q Babel common definitions +\babel@savecnt=\count147 +\U@D=\dimen143 +) +\l@acadian = a dialect from \language\l@french +\l@canadien = a dialect from \language\l@french +\FBcolonskip=\skip77 +\FBthinskip=\skip78 +Package babel Info: Making : an active character on input line 342. +Package babel Info: Making ; an active character on input line 343. +Package babel Info: Making ! an active character on input line 344. +Package babel Info: Making ? an active character on input line 345. +\FBguillskip=\skip79 +\FBguill@level=\count148 +\FB@everypar=\toks230 +\FB@Mht=\dimen144 +\std@mcc=\count149 +\dec@mcc=\count150 +\listindentFB=\skip80 +\labelwidthFB=\skip81 +\leftmarginFB=\skip82 +\parindentFFN=\dimen145 +)) +(/usr/share/texlive/texmf-dist/tex/latex/carlisle/scalefnt.sty) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks231 +\ex@=\dimen146 +)) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex +\pgfutil@everybye=\toks232 +\pgfutil@tempdima=\dimen147 +\pgfutil@tempdimb=\dimen148 + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-lists.t +ex)) (/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box55 +(/usr/share/texlive/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) +)) +Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) + +(/usr/share/texlive/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex) +\pgf@x=\dimen149 +\pgf@y=\dimen150 +\pgf@xa=\dimen151 +\pgf@ya=\dimen152 +\pgf@xb=\dimen153 +\pgf@yb=\dimen154 +\pgf@xc=\dimen155 +\pgf@yc=\dimen156 +\w@pgf@writea=\write8 +\r@pgf@reada=\read3 +\c@pgf@counta=\count151 +\c@pgf@countb=\count152 +\c@pgf@countc=\count153 +\c@pgf@countd=\count154 +\t@pgf@toka=\toks233 +\t@pgf@tokb=\toks234 +\t@pgf@tokc=\toks235 + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2008/05/14 (rcs-revision 1.7) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def +File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.de +f +File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) +))) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code. +tex +File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) +\pgfsyssoftpath@smallbuffer@items=\count155 +\pgfsyssoftpath@bigbuffer@items=\count156 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code. +tex +File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) +)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen157 +\pgfmath@count=\count157 +\pgfmath@box=\box56 +\pgfmath@toks=\toks236 +\pgfmath@stack@operand=\toks237 +\pgfmath@stack@operation=\toks238 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code +.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonomet +ric.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.cod +e.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison +.code.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code. +tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code +.tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code. +tex) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerari +thmetics.code.tex))) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count158 +)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.te +x +File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) +\pgf@picminx=\dimen158 +\pgf@picmaxx=\dimen159 +\pgf@picminy=\dimen160 +\pgf@picmaxy=\dimen161 +\pgf@pathminx=\dimen162 +\pgf@pathmaxx=\dimen163 +\pgf@pathminy=\dimen164 +\pgf@pathmaxy=\dimen165 +\pgf@xx=\dimen166 +\pgf@xy=\dimen167 +\pgf@yx=\dimen168 +\pgf@yy=\dimen169 +\pgf@zx=\dimen170 +\pgf@zy=\dimen171 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct. +code.tex +File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) +\pgf@path@lastx=\dimen172 +\pgf@path@lasty=\dimen173 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code +.tex +File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) +\pgf@shorten@end@additional=\dimen174 +\pgf@shorten@start@additional=\dimen175 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.te +x +File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) +\pgfpic=\box57 +\pgf@hbox=\box58 +\pgf@layerbox@main=\box59 +\pgf@picture@serial@count=\count159 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.c +ode.tex +File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) +\pgflinewidth=\dimen176 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformation +s.code.tex +File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) +\pgf@pt@x=\dimen177 +\pgf@pt@y=\dimen178 +\pgf@pt@temp=\dimen179 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex +File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.t +ex +File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing +.code.tex +File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.te +x +File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) +\pgfarrowsep=\dimen180 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex +File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) +\pgf@max=\dimen181 +\pgf@sys@shading@range@num=\count160 +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex +File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code. +tex +File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) +\pgfexternal@startupbox=\box60 +)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.te +x +File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.c +ode.tex +File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code. +tex +File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) +))) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex +File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) +\pgfnodeparttextbox=\box61 +) (/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex +File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) +) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65 +.sty +Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) +\pgf@nodesepstart=\dimen182 +\pgf@nodesepend=\dimen183 +) +(/usr/share/texlive/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18 +.sty +Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) +)) (/usr/share/texlive/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/share/texlive/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen184 +\pgffor@skip=\dimen185 +\pgffor@stack=\toks239 +\pgffor@toks=\toks240 +)) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex +Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers +.code.tex +File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) +\pgf@plot@mark@count=\count161 +\pgfplotmarksize=\dimen186 +) +\tikz@lastx=\dimen187 +\tikz@lasty=\dimen188 +\tikz@lastxsaved=\dimen189 +\tikz@lastysaved=\dimen190 +\tikzleveldistance=\dimen191 +\tikzsiblingdistance=\dimen192 +\tikz@figbox=\box62 +\tikz@figbox@bg=\box63 +\tikz@tempbox=\box64 +\tikz@tempbox@bg=\box65 +\tikztreelevel=\count162 +\tikznumberofchildren=\count163 +\tikznumberofcurrentchild=\count164 +\tikz@fig@count=\count165 + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex +File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) +\pgfmatrixcurrentrow=\count166 +\pgfmatrixcurrentcolumn=\count167 +\pgf@matrix@numberofcolumns=\count168 +) +\tikz@expandcount=\count169 + +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) +))) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibrarycalc.code.tex +File: tikzlibrarycalc.code.tex 2013/07/15 v3.0.1a (rcs-revision 1.9) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibraryquotes.code.tex +File: tikzlibraryquotes.code.tex 2014/03/21 v3.0.1a (rcs-revision 1.4) +) +(/usr/share/texlive/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tik +zlibraryangles.code.tex +File: tikzlibraryangles.code.tex 2013/08/28 v3.0.1a (rcs-revision 1.1) +) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2016/03/03 v2.15a AMS math features +\@mathmargin=\skip83 + +For additional information on amsmath, use the `?' option. +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen193 +) +(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 1999/12/14 v2.01 operator names +) +\inf@bad=\count170 +LaTeX Info: Redefining \frac on input line 199. +\uproot@=\count171 +\leftroot@=\count172 +LaTeX Info: Redefining \overline on input line 297. +\classnum@=\count173 +\DOTSCASE@=\count174 +LaTeX Info: Redefining \ldots on input line 394. +LaTeX Info: Redefining \dots on input line 397. +LaTeX Info: Redefining \cdots on input line 518. +\Mathstrutbox@=\box66 +\strutbox@=\box67 +\big@size=\dimen194 +LaTeX Font Info: Redeclaring font encoding OML on input line 630. +LaTeX Font Info: Redeclaring font encoding OMS on input line 631. +\macc@depth=\count175 +\c@MaxMatrixCols=\count176 +\dotsspace@=\muskip10 +\c@parentequation=\count177 +\dspbrk@lvl=\count178 +\tag@help=\toks241 +\row@=\count179 +\column@=\count180 +\maxfields@=\count181 +\andhelp@=\toks242 +\eqnshift@=\dimen195 +\alignsep@=\dimen196 +\tagshift@=\dimen197 +\tagwidth@=\dimen198 +\totwidth@=\dimen199 +Normal \dimen register pool exhausted, switching to extended pool. +\lineht@=\dimen256 +\@envbody=\toks243 +\multlinegap=\skip84 +\multlinetaggap=\skip85 +\mathdisplay@stack=\toks244 +LaTeX Info: Redefining \[ on input line 2735. +LaTeX Info: Redefining \] on input line 2736. +)) +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(./commands.tex) (./exam-info.tex) (./exam.aux) +\openout1 = `exam.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. +LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 32. +LaTeX Font Info: ... okay on input line 32. + +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count182 +\scratchdimen=\dimen257 +\scratchbox=\box68 +\nofMPsegments=\count183 +\nofMParguments=\count184 +\everyMPshowfont=\toks245 +\MPscratchCnt=\count185 +\MPscratchDim=\dimen258 +\MPnumerator=\count186 +\makeMPintoPDFobject=\count187 +\everyMPtoPDFconversion=\toks246 +) (/usr/share/texlive/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +)) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 452. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\AMC@ovalbox@R=\box69 +\AMC@ovalbox@RF=\box70 +\AMC@ovalbox@=\box71 +\AMC@ovalbox@F=\box72 + +*geometry* driver: auto-detecting +*geometry* detected driver: pdftex +*geometry* verbose mode - [ preamble ] result: +* driver: pdftex +* paper: a4paper +* layout: +* layoutoffset:(h,v)=(0.0pt,0.0pt) +* modes: includehead includefoot +* h-part:(L,W,R)=(64.01869pt, 469.47049pt, 64.01869pt) +* v-part:(T,H,B)=(14.22636pt, 799.52228pt, 31.2982pt) +* \paperwidth=597.50787pt +* \paperheight=845.04684pt +* \textwidth=469.47049pt +* \textheight=714.16403pt +* \oddsidemargin=-8.2513pt +* \evensidemargin=-8.2513pt +* \topmargin=-58.04362pt +* \headheight=56.9055pt +* \headsep=5.69046pt +* \topskip=10.0pt +* \footskip=22.76228pt +* \marginparwidth=57.0pt +* \marginparsep=11.0pt +* \columnsep=10.0pt +* \skip\footins=9.0pt plus 4.0pt minus 2.0pt +* \hoffset=0.0pt +* \voffset=0.0pt +* \mag=1000 +* \@twocolumnfalse +* \@twosidefalse +* \@mparswitchfalse +* \@reversemarginfalse +* (1in=72.27pt=25.4mm, 1cm=28.453pt) + +LaTeX Info: Redefining \degres on input line 32. +LaTeX Info: Redefining \dots on input line 32. +LaTeX Info: Redefining \up on input line 32. +ABD: EveryShipout initializing macros +(./questions/fr/questionMelangeGroupeSacha.tex +\shuffledQuestionGroup@k=\count188 +\AMCshuffledQuestionGroup@j=\count189 +\shuffledQuestionGroup@i=\toks247 +\shuffledQuestionGroup@ii=\toks248 +\shuffledQuestionGroup@iii=\toks249 +\shuffledQuestionGroup@iv=\toks250 +) (./first_page.tex + +File: media/epfl-logo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/epfl-logo.pdf used on input line 5. +(pdftex.def) Requested size: 82.38843pt x 23.9396pt. +LaTeX Font Info: Try loading font information for U+msa on input line 27. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 27. + +(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +LaTeX Font Info: Try loading font information for OMS+cmr on input line 63. + +(/usr/share/texlive/texmf-dist/tex/latex/base/omscmr.fd +File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions +) +LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available +(Font) Font shape `OMS/cmsy/m/n' tried instead on input line 63. + [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} + + <./media/epfl-logo.pdf>]) (./section_open.tex +(./questions/fr/rencontre.tex +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 60--61 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 60--61 + + [] + +[2] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 61--62 +[][] + [] + +[3 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 62--62 +[] + [] + +) (./questions/fr/Fma.tex [4 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 46--47 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 46--47 + + [] + +[5] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 47--48 +[][] + [] + +[6 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--48 +[] + [] + +) (./questions/fr/gong.tex [7 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 66--67 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 66--67 + + [] + +[8] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 67--68 +[][] + [] + +[9 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 68--68 +[] + [] + +) (./questions/fr/hydrostatique.tex [10 + +] +<./media/Cylindre_1.pdf, id=56, 149.7073pt x 102.1677pt> +File: ./media/Cylindre_1.pdf Graphic file (type pdf) + + +Package pdftex.def Info: ./media/Cylindre_1.pdf used on input line 22. +(pdftex.def) Requested size: 187.13365pt x 127.70927pt. + +<./media/Cylindre_2.pdf, id=57, 129.03809pt x 141.73453pt> +File: ./media/Cylindre_2.pdf Graphic file (type pdf) + + +Package pdftex.def Info: ./media/Cylindre_2.pdf used on input line 24. +(pdftex.def) Requested size: 161.29718pt x 177.16771pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--49 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 48--49 + + [] + +[11 <./media/Cylindre_1.pdf> <./media/Cylindre_2.pdf>] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 49--51 +[][] + [] + +[12 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 51--51 +[] + [] + +) (./questions/fr/stylo.tex [13 + +] + +File: media/Stylo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/Stylo.pdf used on input line 22. +(pdftex.def) Requested size: 271.95282pt x 173.62523pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 42--43 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 42--43 + + [] + +[14 <./media/Stylo.pdf>] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 43--44 +[][] + [] + +[15 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 44--44 +[] + [] + +) (./questions/fr/champE.tex [16 + +] [17] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--82 +[][] + [] + +[18 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 82--83 +[][] + [] + +[19 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 83--83 +[] + [] + +) (./questions/fr/champsEB.tex [20 + +] [21] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 78--79 +[][] + [] + +[22 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 79--80 +[][] + [] + +[23 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 80--81 +[][] + [] + +[24 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--81 +[] + [] + +) (./questions/fr/OH-Laplace.tex [25 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 141--142 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 141--142 + + [] + +[26] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 142--143 +[][] + [] + +[27 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 143--143 +[] + [] + +) [28 + +] +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--34 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + +) [29] (./first_page.tex +File: media/epfl-logo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/epfl-logo.pdf used on input line 5. +(pdftex.def) Requested size: 82.38843pt x 23.9396pt. + [1 + +]) (./section_open.tex +(./questions/fr/rencontre.tex +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 60--61 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 60--61 + + [] + +[2] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 61--62 +[][] + [] + +[3 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 62--62 +[] + [] + +) (./questions/fr/Fma.tex [4 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 46--47 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 46--47 + + [] + +[5] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 47--48 +[][] + [] + +[6 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--48 +[] + [] + +) (./questions/fr/gong.tex [7 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 66--67 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 66--67 + + [] + +[8] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 67--68 +[][] + [] + +[9 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 68--68 +[] + [] + +) (./questions/fr/hydrostatique.tex [10 + +] +File: ./media/Cylindre_1.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./media/Cylindre_1.pdf used on input line 22. +(pdftex.def) Requested size: 187.13365pt x 127.70927pt. +File: ./media/Cylindre_2.pdf Graphic file (type pdf) + + +Package pdftex.def Info: ./media/Cylindre_2.pdf used on input line 24. +(pdftex.def) Requested size: 161.29718pt x 177.16771pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--49 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 48--49 + + [] + +[11] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 49--51 +[][] + [] + +[12 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 51--51 +[] + [] + +) (./questions/fr/stylo.tex [13 + +] +File: media/Stylo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/Stylo.pdf used on input line 22. +(pdftex.def) Requested size: 271.95282pt x 173.62523pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 42--43 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 42--43 + + [] + +[14] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 43--44 +[][] + [] + +[15 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 44--44 +[] + [] + +) (./questions/fr/champE.tex [16 + +] [17] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--82 +[][] + [] + +[18 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 82--83 +[][] + [] + +[19 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 83--83 +[] + [] + +) (./questions/fr/champsEB.tex [20 + +] [21] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 78--79 +[][] + [] + +[22 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 79--80 +[][] + [] + +[23 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 80--81 +[][] + [] + +[24 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--81 +[] + [] + +) (./questions/fr/OH-Laplace.tex [25 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 141--142 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 141--142 + + [] + +[26] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 142--143 +[][] + [] + +[27 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 143--143 +[] + [] + +) [28 + +] +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--34 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + +) [29] (./first_page.tex +File: media/epfl-logo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/epfl-logo.pdf used on input line 5. +(pdftex.def) Requested size: 82.38843pt x 23.9396pt. + [1 + +]) (./section_open.tex +(./questions/fr/rencontre.tex +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 60--61 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 60--61 + + [] + +[2] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 61--62 +[][] + [] + +[3 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 62--62 +[] + [] + +) (./questions/fr/Fma.tex [4 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 46--47 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 46--47 + + [] + +[5] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 47--48 +[][] + [] + +[6 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--48 +[] + [] + +) (./questions/fr/gong.tex [7 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 66--67 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 66--67 + + [] + +[8] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 67--68 +[][] + [] + +[9 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 68--68 +[] + [] + +) (./questions/fr/hydrostatique.tex [10 + +] +File: ./media/Cylindre_1.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./media/Cylindre_1.pdf used on input line 22. +(pdftex.def) Requested size: 187.13365pt x 127.70927pt. +File: ./media/Cylindre_2.pdf Graphic file (type pdf) + + +Package pdftex.def Info: ./media/Cylindre_2.pdf used on input line 24. +(pdftex.def) Requested size: 161.29718pt x 177.16771pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--49 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 48--49 + + [] + +[11] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 49--51 +[][] + [] + +[12 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 51--51 +[] + [] + +) (./questions/fr/stylo.tex [13 + +] +File: media/Stylo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/Stylo.pdf used on input line 22. +(pdftex.def) Requested size: 271.95282pt x 173.62523pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 42--43 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 42--43 + + [] + +[14] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 43--44 +[][] + [] + +[15 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 44--44 +[] + [] + +) (./questions/fr/champE.tex [16 + +] [17] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--82 +[][] + [] + +[18 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 82--83 +[][] + [] + +[19 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 83--83 +[] + [] + +) (./questions/fr/champsEB.tex [20 + +] [21] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 78--79 +[][] + [] + +[22 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 79--80 +[][] + [] + +[23 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 80--81 +[][] + [] + +[24 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--81 +[] + [] + +) (./questions/fr/OH-Laplace.tex [25 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 141--142 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 141--142 + + [] + +[26] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 142--143 +[][] + [] + +[27 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 143--143 +[] + [] + +) [28 + +] +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--34 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + +) [29] (./first_page.tex +File: media/epfl-logo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/epfl-logo.pdf used on input line 5. +(pdftex.def) Requested size: 82.38843pt x 23.9396pt. + [1 + +]) (./section_open.tex +(./questions/fr/rencontre.tex +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 60--61 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 60--61 + + [] + +[2] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 61--62 +[][] + [] + +[3 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 62--62 +[] + [] + +) (./questions/fr/Fma.tex [4 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 46--47 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 46--47 + + [] + +[5] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 47--48 +[][] + [] + +[6 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--48 +[] + [] + +) (./questions/fr/gong.tex [7 + +] +Missing character: There is no ; in font nullfont! +Missing character: There is no ; in font nullfont! + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 66--67 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 66--67 + + [] + +[8] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 67--68 +[][] + [] + +[9 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 68--68 +[] + [] + +) (./questions/fr/hydrostatique.tex [10 + +] +File: ./media/Cylindre_1.pdf Graphic file (type pdf) + +Package pdftex.def Info: ./media/Cylindre_1.pdf used on input line 22. +(pdftex.def) Requested size: 187.13365pt x 127.70927pt. +File: ./media/Cylindre_2.pdf Graphic file (type pdf) + + +Package pdftex.def Info: ./media/Cylindre_2.pdf used on input line 24. +(pdftex.def) Requested size: 161.29718pt x 177.16771pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 48--49 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 48--49 + + [] + +[11] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 49--51 +[][] + [] + +[12 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 51--51 +[] + [] + +) (./questions/fr/stylo.tex [13 + +] +File: media/Stylo.pdf Graphic file (type pdf) + +Package pdftex.def Info: media/Stylo.pdf used on input line 22. +(pdftex.def) Requested size: 271.95282pt x 173.62523pt. + +Overfull \hbox (0.39996pt too wide) in paragraph at lines 42--43 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 42--43 + + [] + +[14] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 43--44 +[][] + [] + +[15 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 44--44 +[] + [] + +) (./questions/fr/champE.tex [16 + +] [17] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--82 +[][] + [] + +[18 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 82--83 +[][] + [] + +[19 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 83--83 +[] + [] + +) (./questions/fr/champsEB.tex [20 + +] [21] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 78--79 +[][] + [] + +[22 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 79--80 +[][] + [] + +[23 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 80--81 +[][] + [] + +[24 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 81--81 +[] + [] + +) (./questions/fr/OH-Laplace.tex [25 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 141--142 +[] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 141--142 + + [] + +[26] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 142--143 +[][] + [] + +[27 + +] +Overfull \hbox (0.39996pt too wide) in paragraph at lines 143--143 +[] + [] + +) [28 + +] +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--33 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--33 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + + +Overfull \hbox (17.23152pt too wide) in paragraph at lines 33--34 +| [] + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + +) [29] (./exam.aux) ) +Here is how much of TeX's memory you used: + 18006 strings out of 493029 + 336508 string characters out of 6136233 + 424531 words of memory out of 5000000 + 21076 multiletter control sequences out of 15000+600000 + 12786 words of font info for 33 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 56i,22n,66p,635b,1009s stack positions out of 5000i,500n,10000p,200000b,80000s +{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc +} +Output written on exam.pdf (116 pages, 727543 bytes). +PDF statistics: + 528 PDF objects out of 1000 (max. 8388607) + 358 compressed objects within 4 object streams + 0 named destinations out of 1000 (max. 500000) + 33 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/amc-templates/amc_template_man/exam.pdf b/amc-templates/amc_template_man/exam.pdf index 7b6433f..9800b14 100644 Binary files a/amc-templates/amc_template_man/exam.pdf and b/amc-templates/amc_template_man/exam.pdf differ diff --git a/amc-templates/amc_template_man/exam.synctex.gz b/amc-templates/amc_template_man/exam.synctex.gz new file mode 100644 index 0000000..2bbc190 Binary files /dev/null and b/amc-templates/amc_template_man/exam.synctex.gz differ diff --git a/amc-templates/amc_template_man/exam.tex b/amc-templates/amc_template_man/exam.tex index e8b9ed8..8d2d620 100644 --- a/amc-templates/amc_template_man/exam.tex +++ b/amc-templates/amc_template_man/exam.tex @@ -1,53 +1,54 @@ \documentclass[a4paper]{article} \usepackage[utf8]{inputenc} %Unicode \usepackage[T1]{fontenc} \usepackage{xcolor} \usepackage{fix-cm} \usepackage[lang=FR,bloc]{automultiplechoice} % Color used for signature box \definecolor{light-Gray}{gray}{0.95} % openBox and openGrid height \newlength{\boxGridHeight} \boxGridHeight = 24.5cm % linux 25cm windows 24.5 cms %%% increase the space between header and bottom for AMC control dots \renewcommand{\baselinestretch}{1.10}% ESPACEMENT VERTICAL \geometry{includeheadfoot,hmargin=2.25cm,headheight=2cm,headsep=0.2cm} \geometry{footskip=.8cm,top=.5cm,bottom=1.1cm,paper=a4paper} %%% packages & commands \input{./packages.tex} \input{./commands.tex} %%% Exam info \input{./exam-info.tex} \Enoncetrue %\Enoncefalse \begin{document} %%% Import open section %\input{./section_open.tex} +\input{questions/\ExamLanguage/questionMelangeGroupeSacha} \newcommand{\sujet}{ \onecopy{1}{ %%% First page \input{./first_page.tex} %%% Open section \input{./section_open.tex} - + % Make sure that all the exams have the same number of pages (otherwise Repro will not be able to print!) \loop \ifnum \thepage < \totalPages \clearpage ~ \repeat \AMCassociation{\ID} } } \csvreader[head to column names]{./students.csv}{}{\sujet} \end{document} diff --git a/amc-templates/amc_template_man/questions/fr/questionMelangeGroupeSacha.tex b/amc-templates/amc_template_man/questions/fr/questionMelangeGroupeSacha.tex new file mode 100644 index 0000000..5c3140d --- /dev/null +++ b/amc-templates/amc_template_man/questions/fr/questionMelangeGroupeSacha.tex @@ -0,0 +1,21 @@ +\element{shuffledQuestionGroup}{ + \smallskip + \item Ma sous-question A \\ \\ + \hspace*{-1cm}\OpenBox{2cm} +} +\element{shuffledQuestionGroup}{ + \smallskip + \item Ma sous-question B \\ \\ + \hspace*{-1cm}\OpenBox{2cm} +} +\element{shuffledQuestionGroup}{ + \smallskip + \item Ma sous-question C \\ \\ + \hspace*{-1cm}\OpenBox{2cm} +} +\element{shuffledQuestionGroup}{ + \smallskip + \item Ma sous-question D \\ \\ + \hspace*{-1cm}\OpenBox{2cm} +} + diff --git a/amc-templates/amc_template_man/section_open.tex b/amc-templates/amc_template_man/section_open.tex index f40fe3d..b9df39a 100644 --- a/amc-templates/amc_template_man/section_open.tex +++ b/amc-templates/amc_template_man/section_open.tex @@ -1,19 +1,35 @@ \addtocounter{AMCquestionaff}{1} %*******************************************************************% % Suppress begin-question texts \renewcommand{\AMCbeginQuestion}[2]{\QuestionText{#1}} \def\QuestionText{\TEXT} \def\TEXT#1{} \def\NOTEXT#1{} \setlength{\parindent}{0pt}% %*******************************************************************% \input{questions/\ExamLanguage/rencontre.tex} \input{questions/\ExamLanguage/Fma.tex} \input{questions/\ExamLanguage/gong.tex} \input{questions/\ExamLanguage/hydrostatique.tex} \input{questions/\ExamLanguage/stylo.tex} \input{questions/\ExamLanguage/champE.tex} \input{questions/\ExamLanguage/champsEB.tex} -\input{questions/\ExamLanguage/OH-Laplace.tex} \ No newline at end of file +\input{questions/\ExamLanguage/OH-Laplace.tex} + +%************** débutg question avec sous-questions mélangées ****************** +\begin{description} + \setlength{\itemindent}{-10mm} + \item[Question~\theAMCquestionaff :] \textit{Cette question est notée sur 9 points.} +\end{description} +\correctorNine{q-shuffled}{~} +\correctorStop + +Ici le texte générale de ma question avant les sous-questions ... si besoin. + +\begin{enumerate} +\melangegroupe{shuffledQuestionGroup} +\restituegroupe{shuffledQuestionGroup} +\end{enumerate} +%************** fin question avec sous-questions mélangées ****************** \ No newline at end of file diff --git a/conf/bamc.conf b/conf/bamc.conf index a49610e..d9506f4 100644 --- a/conf/bamc.conf +++ b/conf/bamc.conf @@ -1,40 +1,41 @@ #!/bin/bash # Workspace DIR_CONFIG='conf' DIR_QUESTIONS='questions' DIR_EXAMS='exams' DIR_PROJECTS='projects' DIR_COMMON='common' FILE_WORKSPACE_ROOT=".workspace_root" +DIR_MEDIA='media' # Configuration dirs DIR_DATA=$(realpath $SPATH/../data) DIR_WORKSPACE_TEMPLATE=$DIR_DATA/workspace DIR_EXAM_TEMPLATES=$DIR_DATA/templates # Template DEFAULT_EXAM_TEMPLATE="default" FILE_PROJECT_BUILD="project_build_script.sh" # Configuration files FILE_AMC_OPTIONS='options.xml' # Output dirs DIR_PROJECTS='projects' DIR_SAMPLES='pdf-samples' DIR_CATALOGS='pdf-catalogs' DIR_BLANKS='pdf-blanks' DIR_PDFS='pdf-exams' DIR_STUDENTS='pdf-students' # Intput files FILE_SECTIONS='sections.conf' FILE_EXAM='exam.conf' FILE_STUDENTS='students.csv' # Variables EXTRA_STUDENTS=9 PDFLATEX_RUNS=1 # EOF diff --git a/data/templates/chemistry/config/options.xml b/data/templates/chemistry/config/options.xml index 3158cb9..9e66f38 100644 --- a/data/templates/chemistry/config/options.xml +++ b/data/templates/chemistry/config/options.xml @@ -1,61 +1,61 @@ <_modifie> <_modifie_ok>1 marges <preassoc> 0 cr data EXAM-catalog.pdf EXAM-sujet.pdf EXAM-calage.xy EXAM-corrige.pdf EMAIL Linear Algebra: test result Please find enclosed your annotated completed answer sheet. Best Regards. UTF-8 UTF-8 - ID,ROOM,SEQ,SCIPER,NAME,EMAIL + ID,ROOM,SEQ,SCIPER,NAME,EMAIL,ROOM ; 2 student.copy,student.key,student.name 1 a4 n latex EXAM-filtered.tex CSV SCIPER %PROJET/students.csv 1 pdflatex 0 normal 0.5 6 1 1 notes-common.xml 0 0 ALL STUDENTS 0.007 %PROJET/exam.tex %(ID) Score: %S/%M "%s/%m" diff --git a/data/templates/chemistry/csv/blank.csv b/data/templates/chemistry/csv/blank.csv index a7aa30f..9a8df2d 100644 --- a/data/templates/chemistry/csv/blank.csv +++ b/data/templates/chemistry/csv/blank.csv @@ -1,3 +1,2 @@ -ID,ROOM,SEQ,SCIPER,NAME,SECTION,EMAIL,STATUS -n/a,n/a,n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK - +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK,BLANK diff --git a/data/templates/chemistry/csv/extra.csv b/data/templates/chemistry/csv/extra.csv index d8ae5a7..6cbc3f5 100644 --- a/data/templates/chemistry/csv/extra.csv +++ b/data/templates/chemistry/csv/extra.csv @@ -1 +1 @@ -#ID#,(n/a),#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA +#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA,#ROOM# diff --git a/data/templates/chemistry/csv/sample.csv b/data/templates/chemistry/csv/sample.csv index 34eb39b..b877422 100644 --- a/data/templates/chemistry/csv/sample.csv +++ b/data/templates/chemistry/csv/sample.csv @@ -1,5 +1,5 @@ -ID,ROOM,SEQ,SCIPER,NAME,SECTION,EMAIL,STATUS -1,Abbey Road,1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE -2,Abbey Road,2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE -3,Abbey Road,3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE -4,Abbey Road,4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,11,SAMPLE +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE,Room +2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE,Room diff --git a/data/templates/chemistry/de/first_page.tex b/data/templates/chemistry/de/first_page.tex index 01ad477..afe65b5 100644 --- a/data/templates/chemistry/de/first_page.tex +++ b/data/templates/chemistry/de/first_page.tex @@ -1,87 +1,87 @@ % First page - GERMAN \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Drehen Sie diese Seite nicht um, bevor Sie dazu aufgefordert werden.} \textbf{Jedes Blatt hat eine Vorder- und eine R\"uckseite. Es gibt \totalPages\ Seiten, die letzten sind m\"oglicherweise leer.} \textbf{L\"osen Sie nicht die Heftklammern.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Legen Sie Ihren Studentenausweis auf den Tisch. \item Es sind \textbf{keine} weiteren Unterlagen zugelassen. \item Die Nutzung eines \textbf{Taschenrechners} oder jedes anderen elektronischen Hilfsmittels ist w\"ahrend der Pr\"ufung nicht gestattet. \item F\"ur die \textbf{Multiple Choice} Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] Punkte, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item F\"ur die \textbf{Wahr/Falsch }Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] Punkt, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item Benutzen Sie einen \textbf{Kugelschreiber mit schwarzer oder blauer Tinte} und verwenden Sie Korrekturfl\"ussigkeit (z.B. Tipp-Ex) um bei Bedarf Ihre Antwort zu \"andern. \item Falls eine Fragestellung einen Fehler enth{\"a}lt, darf der/die Unterrichtende die entsprechende Frage annulieren. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} % End of first page diff --git a/data/templates/chemistry/en/first_page.tex b/data/templates/chemistry/en/first_page.tex index 1ee25b9..07e41f9 100644 --- a/data/templates/chemistry/en/first_page.tex +++ b/data/templates/chemistry/en/first_page.tex @@ -1,90 +1,90 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Do not turn the page before the start of the exam.} \textbf{This document is double-sided, has \totalPages\ pages, the last ones possibly blank.} \textbf{Do not unstaple.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Place your student card on your table. \item \textbf{No other paper materials} are allowed to be used during the exam. \item Using a \textbf{calculator} or any electronic device is not permitted during the exam. \item For the \textbf{multiple choice} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item For the \textbf{true/false} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item Use a \textbf{black or dark blue ballpen} and clearly erase with \textbf{correction fluid} if necessary. \item If a question is wrong, the teacher may decide to nullify it. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/chemistry/fr/first_page.tex b/data/templates/chemistry/fr/first_page.tex index 9d467fa..ca14eae 100644 --- a/data/templates/chemistry/fr/first_page.tex +++ b/data/templates/chemistry/fr/first_page.tex @@ -1,91 +1,91 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Attendez le d\'ebut de l'\'epreuve avant de tourner la page.} \textbf{Ce document est imprim\'e recto-verso, il contient \totalPages\ pages, les derni\`eres pouvant \^etre vides.} \textbf{Ne~pas d\'egrafer.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Posez votre carte d'\'etudiant sur la table. \item \textbf{Aucun} document n'est autoris\'{e}. \item L'utilisation d'une \textbf{calculatrice} et de tout outil \'electronique est interdite pendant l'\'epreuve. \item Pour les questions \`a \textbf{choix multiple}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Pour les questions de type \textbf{vrai-faux}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] point si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Utilisez un \textbf{stylo} \`a encre \textbf{noire ou bleu fonc\'e} et effacez proprement avec du \textbf{correcteur blanc} si n\'ecessaire. \item Si une question est erronée, l'enseignant se réserve le droit de l'annuler. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/linear-algebra/config/options.xml b/data/templates/linear-algebra/config/options.xml index e610679..55e2a56 100644 --- a/data/templates/linear-algebra/config/options.xml +++ b/data/templates/linear-algebra/config/options.xml @@ -1,61 +1,61 @@ <_modifie> <_modifie_ok>1 marges <preassoc> 0 cr data EXAM-catalog.pdf EXAM-sujet.pdf EXAM-calage.xy EXAM-corrige.pdf EMAIL Linear Algebra: test result Please find enclosed your annotated completed answer sheet. Best Regards. UTF-8 UTF-8 - ID,SCIPER,NAME,SECTION,EMAIL + ID,SCIPER,NAME,SECTION,EMAIL,ROOM ; 2 student.copy,student.key,student.name 1 a4 n latex EXAM-filtered.tex CSV SCIPER %PROJET/students.csv 1 pdflatex 0 normal 0.5 6 1 1 notes-common.xml 0 0 ALL STUDENTS 0.007 %PROJET/exam.tex %(ID) Score: %S/%M "%s/%m" diff --git a/data/templates/linear-algebra/csv/blank.csv b/data/templates/linear-algebra/csv/blank.csv index 113885e..9a8df2d 100644 --- a/data/templates/linear-algebra/csv/blank.csv +++ b/data/templates/linear-algebra/csv/blank.csv @@ -1,3 +1,2 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK - +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK,BLANK diff --git a/data/templates/linear-algebra/csv/extra.csv b/data/templates/linear-algebra/csv/extra.csv index ac41785..6cbc3f5 100644 --- a/data/templates/linear-algebra/csv/extra.csv +++ b/data/templates/linear-algebra/csv/extra.csv @@ -1 +1 @@ -#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA +#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA,#ROOM# diff --git a/data/templates/linear-algebra/csv/sample.csv b/data/templates/linear-algebra/csv/sample.csv index afa2720..b877422 100644 --- a/data/templates/linear-algebra/csv/sample.csv +++ b/data/templates/linear-algebra/csv/sample.csv @@ -1,5 +1,5 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE -2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE -3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE -4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE,Room +2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE,Room diff --git a/data/templates/linear-algebra/de/first_page.tex b/data/templates/linear-algebra/de/first_page.tex index 01ad477..afe65b5 100644 --- a/data/templates/linear-algebra/de/first_page.tex +++ b/data/templates/linear-algebra/de/first_page.tex @@ -1,87 +1,87 @@ % First page - GERMAN \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Drehen Sie diese Seite nicht um, bevor Sie dazu aufgefordert werden.} \textbf{Jedes Blatt hat eine Vorder- und eine R\"uckseite. Es gibt \totalPages\ Seiten, die letzten sind m\"oglicherweise leer.} \textbf{L\"osen Sie nicht die Heftklammern.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Legen Sie Ihren Studentenausweis auf den Tisch. \item Es sind \textbf{keine} weiteren Unterlagen zugelassen. \item Die Nutzung eines \textbf{Taschenrechners} oder jedes anderen elektronischen Hilfsmittels ist w\"ahrend der Pr\"ufung nicht gestattet. \item F\"ur die \textbf{Multiple Choice} Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] Punkte, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item F\"ur die \textbf{Wahr/Falsch }Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] Punkt, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item Benutzen Sie einen \textbf{Kugelschreiber mit schwarzer oder blauer Tinte} und verwenden Sie Korrekturfl\"ussigkeit (z.B. Tipp-Ex) um bei Bedarf Ihre Antwort zu \"andern. \item Falls eine Fragestellung einen Fehler enth{\"a}lt, darf der/die Unterrichtende die entsprechende Frage annulieren. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} % End of first page diff --git a/data/templates/linear-algebra/en/first_page.tex b/data/templates/linear-algebra/en/first_page.tex index 1ee25b9..07e41f9 100644 --- a/data/templates/linear-algebra/en/first_page.tex +++ b/data/templates/linear-algebra/en/first_page.tex @@ -1,90 +1,90 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Do not turn the page before the start of the exam.} \textbf{This document is double-sided, has \totalPages\ pages, the last ones possibly blank.} \textbf{Do not unstaple.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Place your student card on your table. \item \textbf{No other paper materials} are allowed to be used during the exam. \item Using a \textbf{calculator} or any electronic device is not permitted during the exam. \item For the \textbf{multiple choice} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item For the \textbf{true/false} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item Use a \textbf{black or dark blue ballpen} and clearly erase with \textbf{correction fluid} if necessary. \item If a question is wrong, the teacher may decide to nullify it. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/linear-algebra/fr/first_page.tex b/data/templates/linear-algebra/fr/first_page.tex index 9d467fa..ca14eae 100644 --- a/data/templates/linear-algebra/fr/first_page.tex +++ b/data/templates/linear-algebra/fr/first_page.tex @@ -1,91 +1,91 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Attendez le d\'ebut de l'\'epreuve avant de tourner la page.} \textbf{Ce document est imprim\'e recto-verso, il contient \totalPages\ pages, les derni\`eres pouvant \^etre vides.} \textbf{Ne~pas d\'egrafer.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Posez votre carte d'\'etudiant sur la table. \item \textbf{Aucun} document n'est autoris\'{e}. \item L'utilisation d'une \textbf{calculatrice} et de tout outil \'electronique est interdite pendant l'\'epreuve. \item Pour les questions \`a \textbf{choix multiple}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Pour les questions de type \textbf{vrai-faux}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] point si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Utilisez un \textbf{stylo} \`a encre \textbf{noire ou bleu fonc\'e} et effacez proprement avec du \textbf{correcteur blanc} si n\'ecessaire. \item Si une question est erronée, l'enseignant se réserve le droit de l'annuler. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/linear-algebra/project_build_script.sh b/data/templates/linear-algebra/project_build_script.sh index 834c72f..4a5e49a 100644 --- a/data/templates/linear-algebra/project_build_script.sh +++ b/data/templates/linear-algebra/project_build_script.sh @@ -1,296 +1,297 @@ #!/bin/bash # This part is specific to the template. # Entry point from bamc: build_project $exam # $exam: name of the exam to build # # Useful variable # --------------- # DIR_WORKSPACE [current workspace dir (absolute)] # DIR_PROJECTS [projects target directory] # DIR_EXAMS [exams'directory in workspace] e.g. $DIR_WORKSPACE/$DIR_EXAMS/$exam # DIR_PROJECTS [projects's directory in workspace] # DIR_EXAM_TEMPLATE [directory of the exam template in use] # FILE_STUDENTS # ... # see 'conf/bamc.conf' for full reference # # Useful functions # ---------------- # verbose "text" # debug "text" # get_lang $exam # ... # see 'lib/bash/*.sh' files for full reference function build_project() { local exam=$1 lang=$(get_lang $exam) assert_exam $exam verbose "Project '$exam' uses '$lang' language" if [ $? -eq 1 ]; then return 1; fi verbose "Building AMC project for '$exam' in workspace '$DIR_WORKSPACE'..." # Project structure build_amc_project $exam if [ $? -ne 0 ]; then error "Could not build AMC project :("; return 1; fi # Build LaTeX sections build_sections $exam $lang if [ $? -ne 0 ]; then error "Could not build project sections :("; return 1; fi # Add media files import_media_files $exam $lang if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Import LaTeX files import_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not import LaTeX files :("; return 1; fi # Import local LaTeX files override_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not override LaTeX files :("; return 1; fi # Customize LaTeX file customize_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not customize LaTeX files :("; return 1; fi # Import media files add_media_files $exam if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Build student list file import_student_file $exam if [ $? -ne 0 ]; then error "Could not create student list :("; return 1; fi return 0 } function import_student_file() { verbose "Customizing student files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local FILE=$exam/$FILE_STUDENTS check_file_exists $FILE if [ $? -ne 0 ]; then return 1; fi cp $FILE $project/$FILE_STUDENTS # Add extra students local nb IFS=$'\n' local id=$(tail -n 1 $project/$FILE_STUDENTS | cut -d ',' -f 1) local sample=$(head -n 1 $DIR_EXAM_TEMPLATE/csv/extra.csv) nb=0 local extra_students=$(read_variable_from_project EXTRA_STUDENTS $exam) while [ $nb -lt $extra_students ]; do ((nb++)) ((id++)) echo $sample |\ sed "s/#NB#/$nb/g" |\ sed "s/#ID#/$id/g" |\ sed "s/#SCIPER#/FAKE-$nb/g" |\ sed "s/#EMAIL#/$DEFAULT_EMAIL/g" |\ sed "s/#SEMESTER#/$SEMESTER/g" >> $project/$FILE_STUDENTS done return 0 } function add_media_files() { verbose "Importing media files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 cp $DIR_EXAM_TEMPLATE/media/* $project/media/ } function customize_tex_files() { verbose "Customizing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local replace IFS=$'\n' local CONFIG_EXAM=$exam/$FILE_EXAM check_file_exists $CONFIG_EXAM if [ $? -ne 0 ]; then return 1; fi # professor.tex local prof_file=$project/professor.tex check_file_exists $prof_file if [ $? -ne 0 ]; then return 1; fi for replace in $(cat $CONFIG_EXAM | grep -v '^#' | grep ':' ); do replace_in_file "#$(echo $replace | cut -d ':' -f 1)#" "$(echo $replace | cut -d ':' -f 2-)" $prof_file done - # first_page.tex (SIGNATURE) + # first_page.tex (SIGNATURE) & (ROOM) local first_page_file=$project/first_page.tex if [ $(grep -c '^SIGNATURE$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%SIGNATURE" "" $first_page_file; fi + if [ $(grep -c '^ROOM$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%ROOM" "" $first_page_file; fi # exam.tex (FONT_SIZE) local exam_file=$project/exam.tex replace_in_file "#LANG#" $(echo $lang | tr '[a-z]' '[A-Z]') $exam_file if [ $(grep -c '^FONT_SIZE:' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "\[a4paper\]" "\[a4paper,$(grep '^FONT_SIZE:' $CONFIG_EXAM | tail -n 1 | cut -d ':' -f 2-)\]" $exam_file fi # Add extra_packages.tex file if [ -r $project/common_packages.tex ]; then replace_in_file '% #COMMON_PACKAGES#' '\\input{./common_packages.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/common_commands.tex ]; then replace_in_file '% #COMMON_COMMANDS#' '\\input{./common_commands.tex}' $exam_file fi # Add extra_section.tex file if [ -r $project/extra_section.tex ]; then replace_in_file '% #EXTRA_SECTION#' '\\input{./extra_section.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/extra_packages.tex ]; then replace_in_file '% #EXTRA_PACKAGES#' '\\input{./extra_packages.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/extra_commands.tex ]; then replace_in_file '% #EXTRA_COMMANDS#' '\\input{./extra_commands.tex}' $exam_file fi return 0 } function override_tex_files() { verbose "Importing supplementary LaTeX files" local common=$DIR_WORKSPACE/$DIR_COMMON local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 local f # Common (without lang) if [ -d $common ]; then for f in $(find $common -maxdepth 1 -type f -name '*.tex'); do verbose "- Common LaTeX file found: $f" cp $f $project/ done fi # Common (with lang) if [ -d $common/$lang ]; then for f in $(find $common/$lang -type f -name '*.tex'); do verbose "- Common LaTeX file found ($lang): $f" cp $f $project/ done fi # Extra for f in $(find $exam/ -type f -name '*.tex'); do verbose "- Extra LaTeX file found: $f" done find $exam/ -type f -name '*.tex' -exec cp {} $project/ \; return 0 } function import_tex_files() { verbose "Importing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 cp $DIR_EXAM_TEMPLATE/base/* $project/ cp $DIR_EXAM_TEMPLATE/$lang/* $project/ return 0 } function build_amc_project() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 verbose "Creating AMC project structure" mkdir -p $project/cr/corrections/jpg mkdir -p $project/cr/corrections/pdf mkdir -p $project/cr/diagnostic mkdir -p $project/cr/zooms mkdir -p $project/data mkdir -p $project/exports mkdir -p $project/scans mkdir -p $project/copies mkdir -p $project/media cp $DIR_EXAM_TEMPLATE/config/$FILE_AMC_OPTIONS $project/$FILE_AMC_OPTIONS return $? } function import_media_files() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local questions_dir=$DIR_WORKSPACE/$DIR_QUESTIONS/$lang local media_file verbose "Importing media files" - for media_file in $(find $questions_dir/ -type f -not -name '*\.tex'); do + for media_file in $(find $exam/ -type f -name '*.pdf'); do verbose "Importing file '$media_file'" cp $media_file $DIR_WORKSPACE/$DIR_PROJECTS/$1/ done return 0 } function is_option_active() { local section_line=$1 local option=$2 if [ $(echo $section_line | grep -c "!$2,") -gt 0 ]; then return 1 else return 0 fi } function build_sections() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local question_file question section_file section local IFS=$'\n' FILE=$exam/$FILE_SECTIONS verbose "Importing questions" check_file_exists $FILE if [ $? -ne 0 ]; then return 1; fi local section_num=0 rm -f $project/sections.tex $project/random-sections.tex for section in $(cat $FILE); do # Sample format of a section line: # !OPTION1,!OPTION2,tex_file1.tex,tex_file2.tex,... ((section_num++)) section_file=$project/section_${section_num}.tex rm -f $section_file for question in $(echo $section | tr ',' '\n'); do # Skip options (options start with "!") if [[ $question =~ ^! ]]; then verbose "This is an option, and not a question: $question (skipping)" continue; fi verbose "Adding $question to section $section_file..."; question_file=$DIR_WORKSPACE/$DIR_QUESTIONS/$lang/$question check_file_exists $question_file if [ $? -ne 0 ]; then return 1; fi echo "%% From $lang/$question =======================================" >> $section_file echo '\element{section'$section_num'}{' >> $section_file cat $question_file >> $section_file echo '}' >> $section_file done echo "\input{./section_${section_num}.tex}" >> $project/sections.tex echo "\input{./header_${section_num}.tex}" >> $project/random-sections.tex is_option_active $section 'NORAND' if [ $? -eq 0 ]; then # RANDOM order echo "\melangegroupe{section${section_num}}" >> $project/random-sections.tex fi echo "\restituegroupe{section${section_num}}" >> $project/random-sections.tex done return 0 } # EOF diff --git a/data/templates/man/base/exam.conf b/data/templates/man/base/exam.conf deleted file mode 100644 index 7bd8cfc..0000000 --- a/data/templates/man/base/exam.conf +++ /dev/null @@ -1,2 +0,0 @@ -LANG:fr -TOTAL_PAGES:28 \ No newline at end of file diff --git a/data/templates/man/base/exam.tex b/data/templates/man/base/exam.tex index 9d6b347..33d3a36 100644 --- a/data/templates/man/base/exam.tex +++ b/data/templates/man/base/exam.tex @@ -1,45 +1,46 @@ \documentclass[a4paper]{article} \usepackage[utf8]{inputenc} %Unicode \usepackage[T1]{fontenc} \usepackage{xcolor} \usepackage{fix-cm} \usepackage[lang=FR,bloc]{automultiplechoice} % Color used for signature box \definecolor{light-Gray}{gray}{0.95} %%% increase the space between header and bottom for AMC control dots \renewcommand{\baselinestretch}{1.10}% ESPACEMENT VERTICAL \geometry{includeheadfoot,hmargin=2.25cm,headheight=2cm,headsep=0.2cm} \geometry{footskip=.8cm,top=.5cm,bottom=1.1cm,paper=a4paper} +% openBox and openGrid height +\newlength{\boxGridHeight} +\boxGridHeight = 24.5cm % + %%% packages & commands \input{./packages.tex} \input{./commands.tex} %%% Exam info \input{./exam-info.tex} \begin{document} -%%% Import open section -%\input{./section_open.tex} - \newcommand{\sujet}{ \onecopy{1}{ %%% First page \input{./first_page.tex} %%% Open section \input{./section_open.tex} % Make sure that all the exams have the same number of pages (otherwise Repro will not be able to print!) \loop \ifnum \thepage < \totalPages \clearpage ~ \repeat \AMCassociation{\ID} } } \csvreader[head to column names]{./students.csv}{}{\sujet} \end{document} diff --git a/data/templates/man/base/random-sections.tex b/data/templates/man/base/random-sections.tex new file mode 100644 index 0000000..cc12570 --- /dev/null +++ b/data/templates/man/base/random-sections.tex @@ -0,0 +1,14 @@ +\addtocounter{AMCquestionaff}{1} + +%*******************************************************************% +% Suppress begin-question texts +\renewcommand{\AMCbeginQuestion}[2]{\QuestionText{#1}} +\def\QuestionText{\TEXT} +\def\TEXT#1{} +\def\NOTEXT#1{} +\setlength{\parindent}{0pt}% +%*******************************************************************% + +%\input{./header_1.tex} +%\melangegroupe{section1} +\restituegroupe{section1} diff --git a/data/templates/man/base/style_extra.tex b/data/templates/man/base/style_extra.tex new file mode 100644 index 0000000..e69de29 diff --git a/data/templates/man/config/options.xml b/data/templates/man/config/options.xml index e610679..55e2a56 100644 --- a/data/templates/man/config/options.xml +++ b/data/templates/man/config/options.xml @@ -1,61 +1,61 @@ <_modifie> <_modifie_ok>1 marges <preassoc> 0 cr data EXAM-catalog.pdf EXAM-sujet.pdf EXAM-calage.xy EXAM-corrige.pdf EMAIL Linear Algebra: test result Please find enclosed your annotated completed answer sheet. Best Regards. UTF-8 UTF-8 - ID,SCIPER,NAME,SECTION,EMAIL + ID,SCIPER,NAME,SECTION,EMAIL,ROOM ; 2 student.copy,student.key,student.name 1 a4 n latex EXAM-filtered.tex CSV SCIPER %PROJET/students.csv 1 pdflatex 0 normal 0.5 6 1 1 notes-common.xml 0 0 ALL STUDENTS 0.007 %PROJET/exam.tex %(ID) Score: %S/%M "%s/%m" diff --git a/data/templates/man/csv/blank.csv b/data/templates/man/csv/blank.csv index 113885e..9a8df2d 100644 --- a/data/templates/man/csv/blank.csv +++ b/data/templates/man/csv/blank.csv @@ -1,3 +1,2 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK - +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK,BLANK diff --git a/data/templates/man/csv/extra.csv b/data/templates/man/csv/extra.csv index ac41785..6cbc3f5 100644 --- a/data/templates/man/csv/extra.csv +++ b/data/templates/man/csv/extra.csv @@ -1 +1 @@ -#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA +#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA,#ROOM# diff --git a/data/templates/man/csv/sample.csv b/data/templates/man/csv/sample.csv index afa2720..b877422 100644 --- a/data/templates/man/csv/sample.csv +++ b/data/templates/man/csv/sample.csv @@ -1,5 +1,5 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE -2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE -3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE -4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE,Room +2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE,Room diff --git a/data/templates/man/fr/first_page.tex b/data/templates/man/fr/first_page.tex index 0169606..77d07f0 100644 --- a/data/templates/man/fr/first_page.tex +++ b/data/templates/man/fr/first_page.tex @@ -1,70 +1,70 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{2cm} \noindent \section*{Indications} \begin{center} \shadowbox{ \parbox{152mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \item Durée de l'examen: \textbf{\Time\ minutes}. \item Posez votre \textbf{carte d'étudiant} sur la table. \item Attendez le début de l'épreuve avant de tourner la page. \item Ce document est imprimé recto-verso, il contient \totalPages\ pages. \item Ne pas séparer les feuilles. \item Laisser libres les cases à cocher: elles sont réservées au correcteur. \item La réponse à chaque question doit être \textbf{justifiée} et rédigée \textbf{à l'encre} sur la place réservée à cet effet à la suite de la question. \item Si la place prévue pour une question ne suffit pas, vous pouvez demander des feuilles supplémentaires aux surveillants. Chaque feuille ne peut être utilisée que pour \textbf{cette seule question}. Il convient de \textbf{coller l'un des codes-barre fourni en haut de la feuille supplémentaire et l'autre, identique, en bas de la dernière page de la question}. \item Les feuilles de brouillon sont à rendre mais \textbf{ne seront pas} corrigées; des feuilles de brouillon supplémentaires peuvent être demandées en cas de besoin auprès des surveillants. \item Aucune documentation, ni machine à calculer ne sont autorisées. \item Veuillez \textbf{signer} votre examen. % \item Aucune documentation autre que le formulaire fourni, ni machine à calculer ne sont autorisées. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \newpage %\hfill \hspace{-22px}\includegraphics[scale=0.18]{good_bad_square} \hfill %% End of first page diff --git a/data/templates/man/project_build_script.sh b/data/templates/man/project_build_script.sh index c060e78..1afd9b3 100644 --- a/data/templates/man/project_build_script.sh +++ b/data/templates/man/project_build_script.sh @@ -1,265 +1,257 @@ #!/bin/bash # This part is specific to the template. # Entry point from bamc: build_project $exam # $exam: name of the exam to build # # Useful variable # --------------- # DIR_WORKSPACE [current workspace dir (absolute)] # DIR_PROJECTS [projects target directory] # DIR_EXAMS [exams'directory in workspace] e.g. $DIR_WORKSPACE/$DIR_EXAMS/$exam # DIR_PROJECTS [projects's directory in workspace] # DIR_EXAM_TEMPLATE [directory of the exam template in use] # FILE_STUDENTS # ... # see 'conf/bamc.conf' for full reference # # Useful functions # ---------------- # verbose "text" # debug "text" # get_lang $exam # ... # see 'lib/bash/*.sh' files for full reference function build_project() { local exam=$1 lang=$(get_lang $exam) assert_exam $exam verbose "Project '$exam' uses '$lang' language" if [ $? -eq 1 ]; then return 1; fi verbose "Building AMC project for '$exam' in workspace '$DIR_WORKSPACE'..." # Project structure build_amc_project $exam $lang if [ $? -ne 0 ]; then error "Could not build AMC project :("; return 1; fi # Add media files import_media_files $exam $lang if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Import LaTeX files import_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not import LaTeX files :("; return 1; fi # Import question files import_question_files $exam $lang if [ $? -ne 0 ]; then error "Could not import Question folder :("; return 1; fi # Import local LaTeX files override_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not override LaTeX files :("; return 1; fi # Customize LaTeX file customize_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not customize LaTeX files :("; return 1; fi # Import media files add_media_files $exam if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Build student list file import_student_file $exam if [ $? -ne 0 ]; then error "Could not create student list :("; return 1; fi return 0 } function import_student_file() { verbose "Customizing student files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local FILE=$exam/$FILE_STUDENTS check_file_exists $FILE if [ $? -ne 0 ]; then return 1; fi cp $FILE $project/$FILE_STUDENTS # Add extra students local nb IFS=$'\n' local id=$(tail -n 1 $project/$FILE_STUDENTS | cut -d ',' -f 1) local sample=$(head -n 1 $DIR_EXAM_TEMPLATE/csv/extra.csv) nb=0 local extra_students=$(read_variable_from_project EXTRA_STUDENTS $exam) while [ $nb -lt $extra_students ]; do ((nb++)) ((id++)) echo $sample |\ sed "s/#NB#/$nb/g" |\ sed "s/#ID#/$id/g" |\ sed "s/#SCIPER#/FAKE-$nb/g" |\ sed "s/#EMAIL#/$DEFAULT_EMAIL/g" |\ sed "s/#SEMESTER#/$SEMESTER/g" >> $project/$FILE_STUDENTS done return 0 } function add_media_files() { verbose "Importing media files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 cp $DIR_EXAM_TEMPLATE/media/* $project/media/ } function customize_tex_files() { verbose "Customizing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local replace IFS=$'\n' local CONFIG_EXAM=$exam/$FILE_EXAM check_file_exists $CONFIG_EXAM if [ $? -ne 0 ]; then return 1; fi - # professor.tex + # exam-info.tex local prof_file=$project/exam-info.tex check_file_exists $prof_file if [ $? -ne 0 ]; then return 1; fi for replace in $(cat $CONFIG_EXAM | grep -v '^#' | grep ':' ); do replace_in_file "#$(echo $replace | cut -d ':' -f 1)#" "$(echo $replace | cut -d ':' -f 2-)" $prof_file done - # first_page.tex (SIGNATURE) + # first_page.tex (SIGNATURE) & (ROOM) local first_page_file=$project/first_page.tex if [ $(grep -c '^SIGNATURE$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%SIGNATURE" "" $first_page_file; fi + if [ $(grep -c '^ROOM$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%ROOM" "" $first_page_file; fi # exam.tex (FONT_SIZE) local exam_file=$project/exam.tex replace_in_file "#LANG#" $(echo $lang | tr '[a-z]' '[A-Z]') $exam_file if [ $(grep -c '^FONT_SIZE:' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "\[a4paper\]" "\[a4paper,$(grep '^FONT_SIZE:' $CONFIG_EXAM | tail -n 1 | cut -d ':' -f 2-)\]" $exam_file fi - # Add extra_packages.tex file - if [ -r $project/common_packages.tex ]; then - replace_in_file '% #COMMON_PACKAGES#' '\\input{./common_packages.tex}' $exam_file - fi - # Add extra_packages.tex file - if [ -r $project/common_commands.tex ]; then - replace_in_file '% #COMMON_COMMANDS#' '\\input{./common_commands.tex}' $exam_file - fi - - # Add extra_section.tex file - if [ -r $project/extra_section.tex ]; then - replace_in_file '% #EXTRA_SECTION#' '\\input{./extra_section.tex}' $exam_file - fi - # Add extra_packages.tex file - if [ -r $project/extra_packages.tex ]; then - replace_in_file '% #EXTRA_PACKAGES#' '\\input{./extra_packages.tex}' $exam_file - fi - # Add extra_packages.tex file - if [ -r $project/extra_commands.tex ]; then - replace_in_file '% #EXTRA_COMMANDS#' '\\input{./extra_commands.tex}' $exam_file - fi +# # Add extra_section.tex file +# if [ -r $project/extra_section.tex ]; then +# replace_in_file '% #EXTRA_SECTION#' '\\input{./extra_section.tex}' $exam_file +# fi +# # Add extra_packages.tex file +# if [ -r $project/extra_packages.tex ]; then +# replace_in_file '% #EXTRA_PACKAGES#' '\\input{./extra_packages.tex}' $exam_file +# fi +# # Add extra_packages.tex file +# if [ -r $project/extra_commands.tex ]; then +# replace_in_file '% #EXTRA_COMMANDS#' '\\input{./extra_commands.tex}' $exam_file +# fi return 0 } function override_tex_files() { verbose "Importing supplementary LaTeX files" local common=$DIR_WORKSPACE/$DIR_COMMON local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 local f # Common (without lang) if [ -d $common ]; then for f in $(find $common -maxdepth 1 -type f -name '*.tex'); do verbose "- Common LaTeX file found: $f" cp $f $project/ done fi # Common (with lang) if [ -d $common/$lang ]; then for f in $(find $common/$lang -type f -name '*.tex'); do verbose "- Common LaTeX file found ($lang): $f" cp $f $project/ done fi # Extra for f in $(find $exam/ -maxdepth 1 -type f -name '*.tex'); do verbose "- Extra LaTeX file found: $f" done find $exam/ -maxdepth 1 -type f -name '*.tex' -exec cp {} $project/ \; return 0 } function import_tex_files() { verbose "Importing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 cp $DIR_EXAM_TEMPLATE/base/* $project/ cp $DIR_EXAM_TEMPLATE/$lang/* $project/ return 0 } function build_amc_project() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 verbose "Creating AMC project structure" mkdir -p $project/cr/corrections/jpg mkdir -p $project/cr/corrections/pdf mkdir -p $project/cr/diagnostic mkdir -p $project/cr/zooms mkdir -p $project/data mkdir -p $project/exports mkdir -p $project/scans mkdir -p $project/copies mkdir -p $project/media mkdir -p $project/questions/$lang cp $DIR_EXAM_TEMPLATE/config/$FILE_AMC_OPTIONS $project/$FILE_AMC_OPTIONS return $? } function import_media_files() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local media_dir=$DIR_WORKSPACE/$DIR_EXAMS/$1/media local media_file verbose "Importing media files" for media_file in $(find $media_dir/ -type f ); do verbose "Importing file '$media_file'" cp $media_file $DIR_WORKSPACE/$DIR_PROJECTS/$1/media/ done return 0 } function import_question_files() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local questions_dir=$DIR_WORKSPACE/$DIR_EXAMS/$1/questions/$lang local question_file verbose "Importing question files" for question_file in $(find $questions_dir/ -type f -name '*\.tex'); do verbose "Importing file '$question_file'" cp $question_file $DIR_WORKSPACE/$DIR_PROJECTS/$1/questions/$lang/ done return 0 } function is_option_active() { local section_line=$1 local option=$2 if [ $(echo $section_line | grep -c "!$2,") -gt 0 ]; then return 1 else return 0 fi } # EOF diff --git a/data/templates/maths/config/options.xml b/data/templates/maths/config/options.xml index e610679..55e2a56 100644 --- a/data/templates/maths/config/options.xml +++ b/data/templates/maths/config/options.xml @@ -1,61 +1,61 @@ <_modifie> <_modifie_ok>1 marges <preassoc> 0 cr data EXAM-catalog.pdf EXAM-sujet.pdf EXAM-calage.xy EXAM-corrige.pdf EMAIL Linear Algebra: test result Please find enclosed your annotated completed answer sheet. Best Regards. UTF-8 UTF-8 - ID,SCIPER,NAME,SECTION,EMAIL + ID,SCIPER,NAME,SECTION,EMAIL,ROOM ; 2 student.copy,student.key,student.name 1 a4 n latex EXAM-filtered.tex CSV SCIPER %PROJET/students.csv 1 pdflatex 0 normal 0.5 6 1 1 notes-common.xml 0 0 ALL STUDENTS 0.007 %PROJET/exam.tex %(ID) Score: %S/%M "%s/%m" diff --git a/data/templates/maths/csv/blank.csv b/data/templates/maths/csv/blank.csv index 113885e..9a8df2d 100644 --- a/data/templates/maths/csv/blank.csv +++ b/data/templates/maths/csv/blank.csv @@ -1,3 +1,2 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK - +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +n/a,999999,n/a,(n/a),do-not-reply@epfl.ch,BLANK,BLANK diff --git a/data/templates/maths/csv/extra.csv b/data/templates/maths/csv/extra.csv index ac41785..6cbc3f5 100644 --- a/data/templates/maths/csv/extra.csv +++ b/data/templates/maths/csv/extra.csv @@ -1 +1 @@ -#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA +#ID#,#SCIPER#,XXX-#NB#,XXX,#EMAIL#,EXTRA,#ROOM# diff --git a/data/templates/maths/csv/sample.csv b/data/templates/maths/csv/sample.csv index afa2720..b877422 100644 --- a/data/templates/maths/csv/sample.csv +++ b/data/templates/maths/csv/sample.csv @@ -1,5 +1,5 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE -2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE -3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE -4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,XXXXX1,Lennon John,XYZ,no-not-reply@epfl.ch,SAMPLE,Room +2,XXXXX2,McCartney Paul,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +3,XXXXX3,Harrisson George,XYZ,do-not-reply@epfl.ch,SAMPLE,Room +4,XXXXX4,Starr Ringo,XYZ,do-not-replay@epfl.ch,SAMPLE,Room diff --git a/data/templates/maths/de/first_page.tex b/data/templates/maths/de/first_page.tex index 01ad477..afe65b5 100644 --- a/data/templates/maths/de/first_page.tex +++ b/data/templates/maths/de/first_page.tex @@ -1,87 +1,87 @@ % First page - GERMAN \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Drehen Sie diese Seite nicht um, bevor Sie dazu aufgefordert werden.} \textbf{Jedes Blatt hat eine Vorder- und eine R\"uckseite. Es gibt \totalPages\ Seiten, die letzten sind m\"oglicherweise leer.} \textbf{L\"osen Sie nicht die Heftklammern.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Legen Sie Ihren Studentenausweis auf den Tisch. \item Es sind \textbf{keine} weiteren Unterlagen zugelassen. \item Die Nutzung eines \textbf{Taschenrechners} oder jedes anderen elektronischen Hilfsmittels ist w\"ahrend der Pr\"ufung nicht gestattet. \item F\"ur die \textbf{Multiple Choice} Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] Punkte, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item F\"ur die \textbf{Wahr/Falsch }Fragen erh\"alt man: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] Punkt, wenn die Antwort richtig ist, \item [$0$] Punkte, wenn die Frage nicht beantwortet ist oder mehrere M\"oglichkeiten markiert sind, \item [$-1$] Punkt, wenn die Antwort falsch ist. \end{itemize} \vspace{-1.5mm} \item Benutzen Sie einen \textbf{Kugelschreiber mit schwarzer oder blauer Tinte} und verwenden Sie Korrekturfl\"ussigkeit (z.B. Tipp-Ex) um bei Bedarf Ihre Antwort zu \"andern. \item Falls eine Fragestellung einen Fehler enth{\"a}lt, darf der/die Unterrichtende die entsprechende Frage annulieren. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} % End of first page diff --git a/data/templates/maths/en/first_page.tex b/data/templates/maths/en/first_page.tex index 1ee25b9..07e41f9 100644 --- a/data/templates/maths/en/first_page.tex +++ b/data/templates/maths/en/first_page.tex @@ -1,90 +1,90 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Do not turn the page before the start of the exam.} \textbf{This document is double-sided, has \totalPages\ pages, the last ones possibly blank.} \textbf{Do not unstaple.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Place your student card on your table. \item \textbf{No other paper materials} are allowed to be used during the exam. \item Using a \textbf{calculator} or any electronic device is not permitted during the exam. \item For the \textbf{multiple choice} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item For the \textbf{true/false} questions, we give : \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] points if your answer is correct, \item [$0$] points if you give no answer or more than one, \item [$-1$] points if your answer is incorrect. \end{itemize} \vspace{-1.5mm} \item Use a \textbf{black or dark blue ballpen} and clearly erase with \textbf{correction fluid} if necessary. \item If a question is wrong, the teacher may decide to nullify it. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/maths/fr/first_page.tex b/data/templates/maths/fr/first_page.tex index 9d467fa..ca14eae 100644 --- a/data/templates/maths/fr/first_page.tex +++ b/data/templates/maths/fr/first_page.tex @@ -1,91 +1,91 @@ % First page - FRENCH \noindent \begin{minipage}[b]{260pt} \includegraphics[scale=0.6]{epfl-logo.pdf} \\ \medskip \bf \prof \\ \bf \ExamName~-~\SECTION \\ \bf \ExamDate \\ \bf \Time \end{minipage} \begin{minipage}[b]{180pt} \begin{flushright} \fontsize{100}{120}{\selectfont{\ID{}}} \\ ~\ \ \end{flushright} \end{minipage} \vspace{1cm} \noindent \begin{minipage}[c]{\textwidth} \begin{center} \fontsize{40}{48}{\selectfont{\NAME{}}} \end{center} \end{minipage} \vspace{1cm} \noindent -\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} +\namefield{SCIPER\,: {\Large \bf \SCIPER{} }} %ROOM \hfill \namefield{ROOM\,: {\Large \bf \ROOM{} }} %SIGNATURE \hfill Signature\,:~\textcolor{light-Gray}{\rule{5cm}{1.5cm}} \vspace{1cm} \noindent \textbf{Attendez le d\'ebut de l'\'epreuve avant de tourner la page.} \textbf{Ce document est imprim\'e recto-verso, il contient \totalPages\ pages, les derni\`eres pouvant \^etre vides.} \textbf{Ne~pas d\'egrafer.} \medskip \vfill \noindent \begin{center} \fbox{ \parbox{160mm}{\centering \mbox{} \vspace{2mm} \begin{itemize} \setlength\itemsep{-1mm} \item Posez votre carte d'\'etudiant sur la table. \item \textbf{Aucun} document n'est autoris\'{e}. \item L'utilisation d'une \textbf{calculatrice} et de tout outil \'electronique est interdite pendant l'\'epreuve. \item Pour les questions \`a \textbf{choix multiple}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+3$] points si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Pour les questions de type \textbf{vrai-faux}, on comptera\,: \vspace{-3mm} \begin{itemize} \setlength\itemsep{-1mm} \item [$+1$] point si la r\'eponse est correcte, \item [$0$] point si il n'y a aucune ou plus d'une r\'eponse inscrite, \item [$-1$] point si la r\'eponse est incorrecte. \end{itemize} \vspace{-1.5mm} \item Utilisez un \textbf{stylo} \`a encre \textbf{noire ou bleu fonc\'e} et effacez proprement avec du \textbf{correcteur blanc} si n\'ecessaire. \item Si une question est erronée, l'enseignant se réserve le droit de l'annuler. \end{itemize} \vspace{-1mm} \mbox{} } } \end{center} \vfill \noindent \begin{center} \includegraphics[scale=0.19]{good_bad_square} \end{center} %% End of first page diff --git a/data/templates/maths/project_build_script.sh b/data/templates/maths/project_build_script.sh index 834c72f..0f36fef 100644 --- a/data/templates/maths/project_build_script.sh +++ b/data/templates/maths/project_build_script.sh @@ -1,296 +1,297 @@ #!/bin/bash # This part is specific to the template. # Entry point from bamc: build_project $exam # $exam: name of the exam to build # # Useful variable # --------------- # DIR_WORKSPACE [current workspace dir (absolute)] # DIR_PROJECTS [projects target directory] # DIR_EXAMS [exams'directory in workspace] e.g. $DIR_WORKSPACE/$DIR_EXAMS/$exam # DIR_PROJECTS [projects's directory in workspace] # DIR_EXAM_TEMPLATE [directory of the exam template in use] # FILE_STUDENTS # ... # see 'conf/bamc.conf' for full reference # # Useful functions # ---------------- # verbose "text" # debug "text" # get_lang $exam # ... # see 'lib/bash/*.sh' files for full reference function build_project() { local exam=$1 lang=$(get_lang $exam) assert_exam $exam verbose "Project '$exam' uses '$lang' language" if [ $? -eq 1 ]; then return 1; fi verbose "Building AMC project for '$exam' in workspace '$DIR_WORKSPACE'..." # Project structure build_amc_project $exam if [ $? -ne 0 ]; then error "Could not build AMC project :("; return 1; fi # Build LaTeX sections build_sections $exam $lang if [ $? -ne 0 ]; then error "Could not build project sections :("; return 1; fi # Add media files import_media_files $exam $lang if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Import LaTeX files import_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not import LaTeX files :("; return 1; fi # Import local LaTeX files override_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not override LaTeX files :("; return 1; fi # Customize LaTeX file customize_tex_files $exam $lang if [ $? -ne 0 ]; then error "Could not customize LaTeX files :("; return 1; fi # Import media files add_media_files $exam if [ $? -ne 0 ]; then error "Could not import media files :("; return 1; fi # Build student list file import_student_file $exam if [ $? -ne 0 ]; then error "Could not create student list :("; return 1; fi return 0 } function import_student_file() { verbose "Customizing student files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local FILE=$exam/$FILE_STUDENTS check_file_exists $FILE if [ $? -ne 0 ]; then return 1; fi cp $FILE $project/$FILE_STUDENTS # Add extra students local nb IFS=$'\n' local id=$(tail -n 1 $project/$FILE_STUDENTS | cut -d ',' -f 1) local sample=$(head -n 1 $DIR_EXAM_TEMPLATE/csv/extra.csv) nb=0 local extra_students=$(read_variable_from_project EXTRA_STUDENTS $exam) while [ $nb -lt $extra_students ]; do ((nb++)) ((id++)) echo $sample |\ sed "s/#NB#/$nb/g" |\ sed "s/#ID#/$id/g" |\ sed "s/#SCIPER#/FAKE-$nb/g" |\ sed "s/#EMAIL#/$DEFAULT_EMAIL/g" |\ sed "s/#SEMESTER#/$SEMESTER/g" >> $project/$FILE_STUDENTS done return 0 } function add_media_files() { verbose "Importing media files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 cp $DIR_EXAM_TEMPLATE/media/* $project/media/ } function customize_tex_files() { verbose "Customizing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local replace IFS=$'\n' local CONFIG_EXAM=$exam/$FILE_EXAM check_file_exists $CONFIG_EXAM if [ $? -ne 0 ]; then return 1; fi # professor.tex local prof_file=$project/professor.tex check_file_exists $prof_file if [ $? -ne 0 ]; then return 1; fi for replace in $(cat $CONFIG_EXAM | grep -v '^#' | grep ':' ); do replace_in_file "#$(echo $replace | cut -d ':' -f 1)#" "$(echo $replace | cut -d ':' -f 2-)" $prof_file done - # first_page.tex (SIGNATURE) + # first_page.tex (SIGNATURE) AND (ROOM) local first_page_file=$project/first_page.tex if [ $(grep -c '^SIGNATURE$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%SIGNATURE" "" $first_page_file; fi + if [ $(grep -c '^ROOM$' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "%ROOM" "" $first_page_file; fi # exam.tex (FONT_SIZE) local exam_file=$project/exam.tex replace_in_file "#LANG#" $(echo $lang | tr '[a-z]' '[A-Z]') $exam_file if [ $(grep -c '^FONT_SIZE:' $CONFIG_EXAM) -gt 0 ]; then replace_in_file "\[a4paper\]" "\[a4paper,$(grep '^FONT_SIZE:' $CONFIG_EXAM | tail -n 1 | cut -d ':' -f 2-)\]" $exam_file fi # Add extra_packages.tex file if [ -r $project/common_packages.tex ]; then replace_in_file '% #COMMON_PACKAGES#' '\\input{./common_packages.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/common_commands.tex ]; then replace_in_file '% #COMMON_COMMANDS#' '\\input{./common_commands.tex}' $exam_file fi # Add extra_section.tex file if [ -r $project/extra_section.tex ]; then replace_in_file '% #EXTRA_SECTION#' '\\input{./extra_section.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/extra_packages.tex ]; then replace_in_file '% #EXTRA_PACKAGES#' '\\input{./extra_packages.tex}' $exam_file fi # Add extra_packages.tex file if [ -r $project/extra_commands.tex ]; then replace_in_file '% #EXTRA_COMMANDS#' '\\input{./extra_commands.tex}' $exam_file fi return 0 } function override_tex_files() { verbose "Importing supplementary LaTeX files" local common=$DIR_WORKSPACE/$DIR_COMMON local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 local f # Common (without lang) if [ -d $common ]; then for f in $(find $common -maxdepth 1 -type f -name '*.tex'); do verbose "- Common LaTeX file found: $f" cp $f $project/ done fi # Common (with lang) if [ -d $common/$lang ]; then for f in $(find $common/$lang -type f -name '*.tex'); do verbose "- Common LaTeX file found ($lang): $f" cp $f $project/ done fi # Extra for f in $(find $exam/ -type f -name '*.tex'); do verbose "- Extra LaTeX file found: $f" done find $exam/ -type f -name '*.tex' -exec cp {} $project/ \; return 0 } function import_tex_files() { verbose "Importing LaTeX files" local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local lang=$2 cp $DIR_EXAM_TEMPLATE/base/* $project/ cp $DIR_EXAM_TEMPLATE/$lang/* $project/ return 0 } function build_amc_project() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 verbose "Creating AMC project structure" mkdir -p $project/cr/corrections/jpg mkdir -p $project/cr/corrections/pdf mkdir -p $project/cr/diagnostic mkdir -p $project/cr/zooms mkdir -p $project/data mkdir -p $project/exports mkdir -p $project/scans mkdir -p $project/copies mkdir -p $project/media cp $DIR_EXAM_TEMPLATE/config/$FILE_AMC_OPTIONS $project/$FILE_AMC_OPTIONS return $? } function import_media_files() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local questions_dir=$DIR_WORKSPACE/$DIR_QUESTIONS/$lang local media_file verbose "Importing media files" for media_file in $(find $questions_dir/ -type f -not -name '*\.tex'); do verbose "Importing file '$media_file'" cp $media_file $DIR_WORKSPACE/$DIR_PROJECTS/$1/ done return 0 } function is_option_active() { local section_line=$1 local option=$2 if [ $(echo $section_line | grep -c "!$2,") -gt 0 ]; then return 1 else return 0 fi } function build_sections() { local project=$DIR_WORKSPACE/$DIR_PROJECTS/$1 local exam=$DIR_WORKSPACE/$DIR_EXAMS/$1 local lang=$2 local question_file question section_file section local IFS=$'\n' FILE=$exam/$FILE_SECTIONS verbose "Importing questions" check_file_exists $FILE if [ $? -ne 0 ]; then return 1; fi local section_num=0 rm -f $project/sections.tex $project/random-sections.tex for section in $(cat $FILE); do # Sample format of a section line: # !OPTION1,!OPTION2,tex_file1.tex,tex_file2.tex,... ((section_num++)) section_file=$project/section_${section_num}.tex rm -f $section_file for question in $(echo $section | tr ',' '\n'); do # Skip options (options start with "!") if [[ $question =~ ^! ]]; then verbose "This is an option, and not a question: $question (skipping)" continue; fi verbose "Adding $question to section $section_file..."; question_file=$DIR_WORKSPACE/$DIR_QUESTIONS/$lang/$question check_file_exists $question_file if [ $? -ne 0 ]; then return 1; fi echo "%% From $lang/$question =======================================" >> $section_file echo '\element{section'$section_num'}{' >> $section_file cat $question_file >> $section_file echo '}' >> $section_file done echo "\input{./section_${section_num}.tex}" >> $project/sections.tex echo "\input{./header_${section_num}.tex}" >> $project/random-sections.tex is_option_active $section 'NORAND' if [ $? -eq 0 ]; then # RANDOM order echo "\melangegroupe{section${section_num}}" >> $project/random-sections.tex fi echo "\restituegroupe{section${section_num}}" >> $project/random-sections.tex done return 0 } # EOF diff --git a/data/workspace/exams/skel/exam.conf b/data/workspace/exams/skel/exam.conf index f747172..bf63131 100644 --- a/data/workspace/exams/skel/exam.conf +++ b/data/workspace/exams/skel/exam.conf @@ -1,7 +1,8 @@ PROF_NAME:Ens: M. Skeleton EXAM:Mathématiques DURATION:2 heures DATE:8 janvier 2016 LANG:fr TOTAL_PAGES:8 #SIGNATURE +#ROOM diff --git a/data/workspace/exams/skel/students.csv b/data/workspace/exams/skel/students.csv index ab380bb..57202e1 100644 --- a/data/workspace/exams/skel/students.csv +++ b/data/workspace/exams/skel/students.csv @@ -1,5 +1,5 @@ -ID,SCIPER,NAME,SECTION,EMAIL,STATUS -1,XXXXX1,Mick Jagger,XYZ,mick.jagger@epfl.ch,Student 1 -2,XXXXX2,Keith Richards,XYZ,keith.richards@epfl.ch,Student 2 -3,XXXXX3,Charlie Watts,XYZ,charlie.watts@epfl.ch,Student 3 -4,XXXXX4,Ronnie Wood,XYZ,ronnie.wood@epfl.ch,Student 4 +ID,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,XXXXX1,Mick Jagger,XYZ,mick.jagger@epfl.ch,Student 1,Room 1 +2,XXXXX2,Keith Richards,XYZ,keith.richards@epfl.ch,Student 2,Room 1 +3,XXXXX3,Charlie Watts,XYZ,charlie.watts@epfl.ch,Student 3,Room 2 +4,XXXXX4,Ronnie Wood,XYZ,ronnie.wood@epfl.ch,Student 4,Room 3 diff --git a/data/workspace/exams/skel/students_for_chemistry_template.csv b/data/workspace/exams/skel/students_for_chemistry_template.csv index e79e445..274aab3 100644 --- a/data/workspace/exams/skel/students_for_chemistry_template.csv +++ b/data/workspace/exams/skel/students_for_chemistry_template.csv @@ -1,5 +1,5 @@ -ID,ROOM,SEQ,SCIPER,NAME,SECTION,EMAIL,STATUS -1,Abbey Road,1,XXXXX1,Mick Jagger,XYZ,mick.jagger@epfl.ch,Student 1 -2,Abbey Road,2,XXXXX2,Keith Richards,XYZ,keith.richards@epfl.ch,Student 2 -3,Strawberry Fields,1,XXXXX3,Charlie Watts,XYZ,charlie.watts@epfl.ch,Student 3 -4,Strawberry Fields,2,XXXXX4,Ronnie Wood,XYZ,ronnie.wood@epfl.ch,Student 4 +ID,ROOM,SEQ,SCIPER,NAME,SECTION,EMAIL,STATUS,ROOM +1,Abbey Road,1,XXXXX1,Mick Jagger,XYZ,mick.jagger@epfl.ch,Student 1,Room 1 +2,Abbey Road,2,XXXXX2,Keith Richards,XYZ,keith.richards@epfl.ch,Student 2,Room 1 +3,Strawberry Fields,1,XXXXX3,Charlie Watts,XYZ,charlie.watts@epfl.ch,Student 3,Room 2 +4,Strawberry Fields,2,XXXXX4,Ronnie Wood,XYZ,ronnie.wood@epfl.ch,Student 4,Room 3 diff --git a/local/epfl/check-scipers b/local/epfl/check-scipers index 73dc32e..2118c9c 100755 --- a/local/epfl/check-scipers +++ b/local/epfl/check-scipers @@ -1,163 +1,163 @@ #!/usr/bin/env php $iline) { $iline = explode($options['iseparator'], $iline); // Format input_student $input_student = array(); foreach (array_keys($oformat) as $key) { switch ($key) { case 'id': $input_student[$key] = $i+1; break; default: if (array_key_exists($key, $iformat)) { $input_student[$key] = $iline[$iformat[$key]]; } else { $input_student[$key] = null; } } } # Add empty email if needed if (array_key_exists('email', $input_student) and is_null($input_student['email'])) $input_student['email'] = 'n/a'; # Add version number if needed if (array_key_exists('version', $input_student) and is_null($input_student['version'])) { $input_student['version'] = $options['oversions'][($input_student['id']-1) % $nb_of_versions]; } # fetch LDAP data $LDAP->find_by_sciper($input_student['sciper'], 'student', 1); $output_student = $LDAP->get_entries(); if (count($output_student) == 1) { $output_student = $output_student[0]; } else { $output_student = array( 'found' => 0 ); } # add some info if ((bool)$output_student['found']) { $output_student['status'] = 'OK'; } else { $output_student['status'] = 'NOT FOUND'; } # Merge info $merged_student = array_merge($input_student, $output_student); # Print line $oline = array(); foreach (array_keys($oformat) as $key) $oline[] = $merged_student[$key]; echo implode($options['oseparator'], $oline)."\n"; } # Add extra students $nb_of_extra_exams = $options['oextras']; $first_extra_id = $i+2; $current_extra = 1; for ($extra_id = $first_extra_id; $extra_id < $first_extra_id+$nb_of_extra_exams; $extra_id++) { $oline = array(); foreach (array_keys($oformat) as $key) { switch ($key) { case 'id': $oline[] = $extra_id; break; case 'sciper': $oline[] = 999000 + $current_extra; break; case 'name': $oline[] = 'Spare-'.$current_extra; break; case 'section': $oline[] = 'XXX'; break; case 'version': $oline[] = $options['oversions'][($extra_id-1) % $nb_of_versions]; break; default: $oline[] = 'n/a'; break; } } $current_extra++; echo implode($options['oseparator'], $oline)."\n"; } exit; ?>