Skip to content

Commit ded84a3

Browse files
committed
Update several OpTeX macros
1 parent 4aeca01 commit ded84a3

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

pdfextra.tex

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
\_else \_resetnamespace{#1}\_fi
4242
}
4343
\_def\_resetnamespace #1{%
44+
\_unless \_ifx \_pkglabel\_empty \_endnamespace \_fi
4445
\_ea \_gdef \_csname namesp:#1\_endcsname {}%
4546
\_gdef \_pkglabel{_#1}%
4647
\_directlua{
@@ -156,13 +157,13 @@
156157

157158
\_private \string \newtoks \romannumeral ;
158159

160+
\_newtoks\_opt
159161
\_def\_optdef#1[#2]{%
160-
\_def#1{\_opt={#2}\_isnextchar[{\_cs{_oA:\_string#1}}{\_cs{_oB:\_string#1}}}%
161-
\_sdef{_oA:\_string#1}[##1]{\_opt={##1}\_cs{_oB:\_string#1\_nospaceafter}}%
162-
\_sdef{_oB:\_string#1\_nospaceafter}%
162+
\_def#1{\_opt={#2}\_isnextchar[{\_cs{_oA:\_csstring#1}}{\_cs{_oB:\_csstring#1}}}%
163+
\_sdef{_oA:\_csstring#1}[##1]{\_opt={##1}\_cs{_oB:\_csstring#1\_nospaceafter}}%
164+
\_sdef{_oB:\_csstring#1\_nospaceafter}%
163165
}
164-
\_def\_nospaceafter#1{\_ea#1\_romannumeral-`\.}
165-
\_newtoks\_opt
166+
\_def\_nospaceafter#1{\_ea#1\_romannumeral-`\.\_noexpand}
166167

167168
\_private \noexpand \catcode \toksapp ;
168169

@@ -172,7 +173,7 @@
172173
\_catcode`!=3 \_catcode`?=3
173174
\_def\_replstring #1#2#3{% \replstring #1{stringA}{stringB}
174175
\_long\_def\_replacestringsA##1#2{\_tmptoks{##1}\_replacestringsB}%
175-
\_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_toksapp\_tmptoks{#3##1}%
176+
\_long\_def\_replacestringsB##1#2{\_ifx!##1\_relax \_else \_tmptoks\_ea{\_the\_tmptoks#3##1}%
176177
\_ea\_replacestringsB\_fi}%
177178
\_ea\_replacestringsA #1?#2!#2%
178179
\_long\_def\_replacestringsA##1?{\_tmptoks{##1}\_edef#1{\_the\_tmptoks}}%
@@ -233,16 +234,23 @@
233234
\_immediate\_openout\_reffile={\_jobname.ref}\_relax
234235
\_gdef\_wref ##1##2{\_write\_reffile{\_bslash\_csstring##1##2}}%
235236
\_immediate\_write\_reffile {\_pcent\_pcent\_space pdfextra - REF file}%
237+
\_ifx\_refdecldata\_empty \_else \_refdeclwrite \_fi
236238
\_gdef\_openref{}%
237239
}
238240
\_def\_ewref #1#2{\_edef\_ewrefA{#2}\_ea\_wref\_ea#1\_ea{\_ewrefA}}
239241

240242
\_private \ifnum ;
241243

242-
\_def\_refdecl{\_bgroup \_catcode`\#=12 \_refdeclA}
243-
\_def\_refdeclA #1{\_egroup\_openref
244-
\_immediate\_write\_reffile {\_pcent\_space \_string \refdecl:}%
245-
\_immediate\_write\_reffile {\_detokenize{#1}}%
244+
\_def\_refdecldata{}
245+
\_def\_refdecl{\_bgroup \_catcode`\#=12 \_catcode`\\=12 \_catcode`\ =12 \_refdeclA}
246+
\_def\_refdeclA#1{\_egroup
247+
\_ifx\_refdecldata\_empty\_else \_global\_addto\_refdecldata{^^J}\_fi
248+
\_global\_addto\_refdecldata{#1}%
249+
\_ifx\_openref\_empty \_refdeclwrite \_fi
250+
}
251+
\_def\_refdeclwrite{%
252+
\_immediate\_write\_reffile{\_pcent\_space \_string\refdecl:^^J\_detokenize\_ea{\_refdecldata}}%
253+
\_gdef\_refdecldata{}%
246254
}
247255

248256
%

0 commit comments

Comments
 (0)