summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mfirstuc/CHANGES
blob: d1cc1e183a1d29fdb07bddf7920d620116a05aac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
mfirstuc change log:

v2.08 (2022-10-14):

  * Reimplemented \makefirstuc in LaTeX3. This change supports
    UTF-8 with pdflatex.

    Rollback to v2.07 provided:

    \usepackage{mfirstuc}[=v2.07]

  * New command \MFUsentencecase

    This just uses \text_titlecase_first:n

    Principle features of \MFUsentencecase vs \makefirstuc are
    listed in Table 1 of the manual.

  * \makefirstuc has been rewritten to internally use
    \MFUsentencecase (via \glsmakefirstuc), but it still parses 
    its argument as in previous versions.

  * New command \MFUexcl{<cs>}

    This adds a command to the case-changing exclusion list. 
    Both \MFUsentencecase and \makefirstuc will skip the 
    identified command and its argument, and apply sentence-casing 
    to the content that follows.

    For example, glossaries.sty v4.50 implements \MFUexcl{\glsadd}

  * New command \MFUblocker{<cs>}

    This adds a command to the blocker list. This is used by
    \makefirstuc but not \MFUsentencecase. If the command is encountered 
    no case-change will be applied. This is designed for commands
    that automatically implement a case-change that may have been nested.

    For example, glossaries.sty v4.50 implements \MFUblocker{\Gls}

  * New command \MFUaddmap{<cs1>}{<cs2>}

    Adds a mapping. This is used by \makefirstuc but not
    \MFUsentencecase. If the first command <cs1> is encountered 
    it will be replaced with the second <cs2>. No case change 
    will be applied. (The case-change, if appropriate,
    should be dealt with by the replacement command.)

    For example, glossaries.sty v4.50 implements \MFUaddmap{\gls}{\Gls}

    Order of precedence: map, blocker, exclusion

  * New commands \MFUsaveatend and \MFUsave

v2.07 (2021-10-15):

  * new commands:

    - \MFUcapwordfirstuc
    - \MFUwordbreak
    - \MFUskippunc

v2.06 (2017-11-14):

  * \makefirstuc: added check for nested commands.

v2.05 (2017-11-10):

  * bug fix in \@mfu@applytofirst (#1 must be grouped)

v2.04 (2016-07-31):

  * bug fixes in \capitalisefmtwords and \@gls@split

  * added starred form of \capitalisefmtwords

v2.03 (2016-07-29):

  * Fixed test for \protect at the start of \makefirstuc

  * Add new conditional \ifMFUhyphen and new command
    \MFUcapword

  * New commands \capitalisefmtwords, \xcapitalisefmtwords
    and \ecapitalisefmtwords (like \capitalisewords etc
    but allows for text-block formatting commands within
    the argument).

v2.02 (2015-12-17):

  * Fixed bug in \capitalisewords
    http://www.dickimaw-books.com/cgi-bin/bugtracker.cgi?action=view&key=104

v2.01 (2015-12-08):

  * Added check for initial \protect in \makefirstuc

v2.0 (2015-09-09):

  * Split from glossaries bundle.

  * Fixed bug that occurred when the first two tokens of 
    \makefirstuc are both control sequences.

v1.10:

  * added \ecapitalisewords, \emakefirstuc

v1.09:

  * Added \MFUnocap

  * New package: mfirstuc-english.sty

v1.08:

  * Made \makefirstuc and \capitalisewords robust

v1.07:

  * Added \mfirstucMakeUppercase to allow the user to switch from
      \MakeUppercase to another case changing command.

v1.06:

  * added \capitalisewords, \xcapitalisewords

v1.05:

  * added \glsmakefirstuc (replaces \@gls@makefirstuc) to make
    it easier to customise.

v1.04: 

  * fixed bug occurring when initial control sequence
    in the argument of \makefirstuc has more than one 
    argument.

v1.02:

   * Fixed bug that transfered grouping, (e.g 
     \makefirstuc{\emph{abc}xyz} moved the xyz into the \emph)

   * If group following initial command is empty, \MakeUppercase
     is applied to the command, e.g. \makefirstuc{\ae{}bc} now
     produces \MakeUppercase\ae{}bc.

v1.01:

   * Added \xmakefirstuc (expands argument before applying \makefirstuc)

v1.0: 

   * Initial version