[latex3-commits] [git/LaTeX3-latex3-latex3] main: Enable case switching in titlecase-first (fixes #1130) (975af0d3c)
Joseph Wright
joseph.wright at morningstar2.co.uk
Wed Sep 28 16:04:13 CEST 2022
Repository : https://github.com/latex3/latex3
On branch : main
Link : https://github.com/latex3/latex3/commit/975af0d3cda08f6a5282f9306c585de8954b62f3
>---------------------------------------------------------------
commit 975af0d3cda08f6a5282f9306c585de8954b62f3
Author: Joseph Wright <joseph.wright at morningstar2.co.uk>
Date: Wed Sep 28 15:04:13 2022 +0100
Enable case switching in titlecase-first (fixes #1130)
>---------------------------------------------------------------
975af0d3cda08f6a5282f9306c585de8954b62f3
l3kernel/CHANGELOG.md | 4 ++++
l3kernel/l3text-case.dtx | 8 +++++++-
l3kernel/testfiles/m3text002.lvt | 3 ++-
l3kernel/testfiles/m3text002.tlg | 2 ++
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/l3kernel/CHANGELOG.md b/l3kernel/CHANGELOG.md
index 44422ee9e..ff2e89322 100644
--- a/l3kernel/CHANGELOG.md
+++ b/l3kernel/CHANGELOG.md
@@ -10,6 +10,10 @@ this project uses date-based 'snapshot' version identifiers.
### Added
- Set media box for test phase documents
+### Fixed
+- Text case switching in `\text_titlecase_first:n` (issue
+ [\#1130](https://github.com/latex3/latex3/issues/1130))
+
## [2022-08-30]
### Added
diff --git a/l3kernel/l3text-case.dtx b/l3kernel/l3text-case.dtx
index 8a5615a1f..ffbffc9f5 100644
--- a/l3kernel/l3text-case.dtx
+++ b/l3kernel/l3text-case.dtx
@@ -158,7 +158,8 @@
% {
% \@@_change_case_switch_lower:nnNnnnn ,
% \@@_change_case_switch_upper:nnNnnnn ,
-% \@@_change_case_switch_title:nnNnnnn
+% \@@_change_case_switch_title:nnNnnnn ,
+% \@@_change_case_switch_titleonly:nnNnnnn
% }
% \begin{macro}[EXP]
% {
@@ -518,6 +519,11 @@
\@@_change_case_store:n {#7}
\@@_change_case_loop:nnw {#1} {#2}
}
+\cs_new:Npn \@@_change_case_switch_titleonly:nnNnnnn #1#2#3#4#5#6#7
+ {
+ \@@_change_case_store:n {#7}
+ \@@_change_case_break:w
+ }
% \end{macrocode}
% Letter-like commands may still be present: they are set up using a simple
% lookup approach, so can easily be handled with no loop. If there is no
diff --git a/l3kernel/testfiles/m3text002.lvt b/l3kernel/testfiles/m3text002.lvt
index cc5048a39..21e889042 100644
--- a/l3kernel/testfiles/m3text002.lvt
+++ b/l3kernel/testfiles/m3text002.lvt
@@ -1,5 +1,5 @@
%
-% Copyright (C) 2020,2021 The LaTeX Project
+% Copyright (C) 2020-2022 The LaTeX Project
%
\input{regression-test}
@@ -374,6 +374,7 @@
\text_uppercase:n {#1} \NEWLINE
\text_lowercase:n {#1} \NEWLINE
\text_titlecase:n {#1} \NEWLINE
+ \text_titlecase_first:n {#1} \NEWLINE
}
\TESTEXP { Case~change~switching }
diff --git a/l3kernel/testfiles/m3text002.tlg b/l3kernel/testfiles/m3text002.tlg
index fa954f522..e11a38e61 100644
--- a/l3kernel/testfiles/m3text002.tlg
+++ b/l3kernel/testfiles/m3text002.tlg
@@ -348,9 +348,11 @@ TEST 30: Case change switching
lower
UPPER
Title
+Title
WORDS lower
words UPPER
Words UPPER
+Words \text_case_switch:nnnn {normal}{lower}{UPPER}{Title}
============================================================
============================================================
TEST 31: Case change replacements
More information about the latex3-commits
mailing list.