# Changelog — alterqcm

All notable changes to this package are recorded here.

## [5.00c] — 2026/10/27

### Changed

- Option handling now uses `pgfkeys`, loaded on its own without PGF/TikZ.
  `xkeyval` is no longer loaded. All key names are unchanged.
- `ifthen` is no longer loaded. `calc` is still loaded, because users write
  expressions such as `\linewidth-1cm` inside their questions.
- Each language is now defined in a single table (`\aq@deflang`) instead of
  three separate copies. The numeric language codes are gone.
- The French strings in the source are now written in UTF-8 directly
  (`Réponses` instead of `R\'eponses`).
- Internal macros now use the `\aq@` prefix. These generic names are no
  longer defined: `\nextrandom`, `\setrannum`, `\addtotoks`, `\mysymb`,
  `\goodrep`, `\liste`, `\nb` and `\last@val`.
- `\points` is now defined only if it is free, so it no longer clashes with
  the `exam` class. Use `\AQpoints`.
- `alea` now shuffles the proposals properly (Fisher–Yates), using the random
  primitive of the engine. The code taken from `random.tex` has been removed.
- `\AQannexe`: all columns have the same width, and the true/false labels
  follow the current language.
- The documentation is now compiled with LuaLaTeX. `xeCJK` is replaced by
  `luatexja-fontspec` with the Fandol fonts.
- The package works with pdfLaTeX and LuaLaTeX. LuaLaTeX is recommended for
  Greek, Russian and Chinese.

### Added

- `\AQset{...}` sets default options for all the following tables.
- New key `seed=<integer>`: with `alea`, the same order is drawn on every
  compilation.
- A question can now have any number of proposals. The previous limit was 5,
  and any extra proposals were silently dropped.
- If `\square` or `\blacksquare` is not defined by any loaded package (for
  example when `amssymb` is not loaded), a built-in square is used instead.
- The option `long` without `\usepackage{longtable}` now gives a clear error,
  and the table is set with `tabular`. Before, the column specification was
  printed as text in the document.

### Fixed

- In `long` tables, a stray space shifted the questions by about 2pt.
- The width of the question box was read from the wrong register
  (`\wd\aq@wdquest`). This affected the `transparent` mode.
- A test on `numprop` that could never take effect has been removed.
- Strings now match between the language options and the `language=` key
  (Russian « Вопросы », French « Suite sur la page suivante »).
- Measuring the height of the proposals no longer produces spurious
  "Overfull \hbox" warnings.
- Documentation: the absolute path used with `\InputQuestionList` is now a
  relative path.
- `transparent` mode: the invisible rule is no wider than the cell, so the
  circles now sit where the boxes are, including with `VF`. The question
  column no longer produces an "Overfull \vbox", and with `VF` the question
  text is now hidden too.
- The environment starts with `\noindent`. The table is as wide as
  `\textwidth`, so the paragraph indent made it overflow by `\parindent`.
- Documentation: long code lines in the examples are wrapped.

## [4.42c] — 2021/05/17

- Bug fixes.

## [4.41] and [4.42]

- Bug fixes and new languages.

## [4.1]

- A fix in the definition of `\AQquestion`.

## [4.0]

- Full linguistic support added.

## [3.7]

- Bug fix.
- New macro `\AQpoints`.
