[latex3-commits] [latex3/babel] docs: Extended doc on casing. (679f937)

github at latex-project.org github at latex-project.org
Sun Dec 3 16:47:42 CET 2023


Repository : https://github.com/latex3/babel
On branch  : docs
Link       : https://github.com/latex3/babel/commit/679f9375f89de91f0d26985a003c529eaf376980

>---------------------------------------------------------------

commit 679f9375f89de91f0d26985a003c529eaf376980
Author: Javier <email at localhost>
Date:   Sun Dec 3 16:47:42 2023 +0100

    Extended doc on casing.


>---------------------------------------------------------------

679f9375f89de91f0d26985a003c529eaf376980
 docs/news/whats-new-in-babel-3.98.md | 41 +++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 10 deletions(-)

diff --git a/docs/news/whats-new-in-babel-3.98.md b/docs/news/whats-new-in-babel-3.98.md
index 10411a1..b9dfa0e 100644
--- a/docs/news/whats-new-in-babel-3.98.md
+++ b/docs/news/whats-new-in-babel-3.98.md
@@ -4,23 +4,44 @@
 
 # Casing rules in `ini` files
 
-It consists of a list of character pairs in the order lower/upper which
-define a bidirectional mapping. There are some 3 modifiers for
-unidirectional settings: `<u>`, `<l>`, `<t>`. With `<u>` the uppercase
-form comes first. An additional modifier is `<m>` for bidirectional
-mapping of macros.
+It consists of a space-separated list of character pairs in the order
+lower/upper which define a bidirectional mapping. This is the default
+but there are 3 modifiers for unidirectional settings: `<u>`, `<l>`,
+`<t>`. With `<u>` the uppercase form comes first. 
 
-The first element must be a character (except with `<m>`), with the
-defult bidirectional mapping the second one must be also a character,
-but with `<u>`, `<l>`, `<t>` the second element can be a macro or a
-token list between braces.
+The first element must be a character. With the default bidirectional
+mapping the second one must be also a character, but with `<u>`, `<l>`,
+`<t>` the second element can be a macro or a token list between braces.
 
 For example:
 ```ini
 [characters]
-casing = uV ťŤ <u> éE ôO ǰ{\v{J}} <t> džDž <m> \ae\AE \oe\OE
+casing = uV ťŤ <u> éE ôO ǰ{\v{J}} <t> džDž
 ```
 
+Alternative casing rules can be defined, too, by providing a name after
+a dot. A real example follows, from `la-x-classic` (ie, Classical Latin):
+```init
+casing = uV
+casing.Nouv = uU vV
+```
+The first one is applied always, because it’s considered a basic
+feature of the locale. The second one, which reverts this default
+behavior, is activated with something like:
+```tex
+\babelprovide[import, casing = nouv]{classicallatin}
+```
+Note the first letter is uppercase in the `ini` file, but lowercase in
+`\babelprovide`. See [Keys in `ini`
+files](https://latex3.github.io/babel/guides/keys-in-ini-files.html) for an explanation of this
+convention.
+
+These alternative rules are available in `\MakeUppercase` and
+`\MakeUppercase`, but currently you must resort to the LaTeX low level
+interface, with the internal BCP 47 tag, like:
+```
+\MakeUppercase[locale=la-x-classic-nouv]{uv}
+```
 Complex rules based on contextual analysis cannot be defined, as LaTeX
 provides no interface for them.
 





More information about the latex3-commits mailing list.