6:41 AM
ooooo lots of conversation since last day :-)

7:38 AM
7

@DavidCarlisle Oooh, also with the correct comma position!

@CarLaTeX @barbarabeeton taught me the importance of commas (although don't trust her for English spelling)

@DavidCarlisle could you please tell me those important notes as well?

8:12 AM
@EnthusiasticEngineer in English, place a comma, where ever you, see, fit.

@PauloCereda my browser doesn't like that link

@Skillmon sorry, I have uBlock and probably it blocked for me. Sorry, mr rabbit.

@PauloCereda uMatrix is to be used in addition to uBlock. uBlock blocks advertisements, uMatrix blocks cookies, scripts, XHR, media, frames, etc. on a url basis. It's main purpose is not ad-blocking.

@Skillmon ah

8:27 AM
@PauloCereda and additionally it blocks evil tracking sites from loading in the first place :)

@Skillmon I like commas, but one can have too much of them. Like anything else.

@Skillmon :)

@FaheemMitha I like German, it has deterministic rules for comma placement and there are very few occasions where you might or might not place one (and placing it might mean subtle interpretation differences).

@Skillmon quite the same for Portuguese.

@Skillmon Three cheers for German.

8:31 AM
@FaheemMitha often I find myself using commas in English like I would in German, which is most likely wrong looking for native speakers.

8:51 AM
@Skillmon Next, in English, you the verbs at the end of sentences to place will.

@Skillmon Probably.
@DavidCarlisle What are your views on periods?

@Skillmon Even after \textbf's? :))
I think LaTeX package here is not fair. We have \textbf and we don't have \textgf :((

9:13 AM
@FaheemMitha they appear at regular intervals
2
@HaraldHanche-Olsen as by yoda taught, that I can.

@DavidCarlisle LOL

@DavidCarlisle Recently, they are closer together than in times past:
A geological period is one of the several subdivisions of geologic time enabling cross-referencing of rocks and geologic events from place to place. These periods form elements of a hierarchy of divisions into which geologists have split the Earth's history. Eons and eras are larger subdivisions than periods while periods themselves may be divided into epochs and ages. The rocks formed during a period belong to a stratigraphic unit called a system. == Structure == The twelve currently recognised periods of the present eon – the Phanerozoic – are defined by the International Commission on ...

ooh rocks

9:47 AM
@EnthusiasticEngineer if you want a bold comma, why not?

@Skillmon oon an intrepid comma

@JosephWright @DavidCarlisle are there no kerns in expl3?

@Skillmon no (not yet)

i can not add a draft sign to margin of my papers :(

@EnthusiasticEngineer why not? Have you tried \usepackage{marginnote} and then \marginnote{DRAFT} (needs two runs)?

9:59 AM
@Skillmon That's one for the 'typesetting' module, for which we have no spec just yet
@Skillmon I've made suggestions in l3trial (see xbox)

@Skillmon does it add to all pages? I tried draftwatermark background packages, they did not result good...

@JosephWright I just wanted to be sure I didn't overlooked something, I guess \skip_horizontal:n will do the trick for the time being.

@Skillmon It's not quite the same, but yes, for many situations
@Skillmon Lobby the team ;)
@Skillmon In particular, lobby Chris (it took me years to get \text_..., which seemed entirely reasonable to me)

@JosephWright please please please pretty please with sugar on top
@JosephWright wow Christ :)

@PauloCereda Oops, fixed

10:03 AM
@JosephWright you should've leave it, it was more challenging. :)

@EnthusiasticEngineer oh, all pages... Did you try \usepackage{esopic} and \AddToShipoutPictureBG{\AtPageUpperLeft{\put(1cm,\LenToUnit{-0.5\paperheight}){DRAFT}}}?

How about the background package?

@Skillmon let me try
@PauloCereda I can not put the text in the margin... poor EE

@EnthusiasticEngineer I wonder if a draft text makes any difference? :)

@mickep isn't required?

10:13 AM
@EnthusiasticEngineer No, it is not in general required. The people who reads a draft usually knows it is a draft, and one seldom put it into public. Maybe I miss something, but I would focus on writing a good text instead of trying to put a "draft" text on the pages...

nah, lobbying Christ is easier: (John 14,14)

> If you ask me anything in my name, I will do it.

@mickep ok I won't put it... it is my first time writing journal papers and I am a little worried about these details...

@EnthusiasticEngineer OK. I suggest that you do not think too much about the formatting, but care more about the content.

@Skillmon ooh

@mickep I am finished with the content and writing... today I should email my professor... just a matter of perfection.

10:22 AM
@EnthusiasticEngineer Ohh, good luck!

@mickep Are researching on differential equations? most of the tags in your profile is about equations.

Yes, on spectral theory for differential equations. What are you doing?

I love this topic... mostly when differential equations are solved analytically and in a closed form solution.
I am civil engineer. Lots of our research topics needs solution to PDEs and ODEs

@EnthusiasticEngineer I see. Is it your Master thesis you are writing?

@mickep no... in 2014 i wrote my masters thesis with latex. now I am writing my research proposal for a PhD programme... if I find some funding on it, i may start my studies this year...

10:33 AM
@EnthusiasticEngineer Ah, that is great!

@mickep thank you :-)

10:56 AM

@JosephWright yay

@PauloCereda Yay

@DavidCarlisle yay

@PauloCereda that one's been done already, try YAY

@DavidCarlisle ooh
YAY

11:04 AM
@PauloCereda 2³=8, this could go on for a while.

11:31 AM
@DavidCarlisle YaY

11:46 AM
@PhelypeOleinik Nicely-phrased question-and-answer

@PhelypeOleinik egreg should have asked this.

@Skillmon :)

@JosephWright Thanks :)
@Skillmon I'm faster! I just took an entire day to do it :)

12:14 PM
Hi all!

@yo' Hi single person!

12:32 PM
finished my work! now I have some hours to enjoy LaTeX ^__^

@JosephWright in l3doc how do I control what ends up in the index and what doesn't?

12:49 PM
@JosephWright more specifically, is there an option to only include macros which are used in a macro or function environment's mandatory argument?

@Skillmon Someone should have already written the documentation for l3doc :-)
@Skillmon Don't these go to the index?
@Skillmon They should, if I understood your question

@PhelypeOleinik the problem is, that everything used inside macrocode does, so I have 64 occurrences of \def in my index...

@Skillmon Does \DoNotIndex{\def} work?

@PhelypeOleinik well, you can create big portions of the documentation (it doesn't look all finished up) by doing pdflatex l3doc.dtx.
@PhelypeOleinik I'll try (but that would be troublesome to do for every unwanted macro)

@Skillmon Yes, but it's missing a lot of things (the “someone” in that message is supposed to be me, but I still didn't finish it :)

12:54 PM
@PhelypeOleinik yes, putting that into the preamble works.
@PhelypeOleinik well, there was already a "documentation" before you joined the team.

@Skillmon That is a problem, because as well as you don't want \def you may want to index (say) the usages of \expanded (for whatever reason). That's where \DoNotIndex comes in
@Skillmon I guess I could add an option to index only macros defined in a package, if that'd be useful

@PhelypeOleinik I think it would (I never included an index in my packages using l3doc because I was too lazy to ask and search for this)

Anyone had an issue with Win10 not wanting to run the TeXLive .bat installer? I keep getting a "This app can't run on your PC" error on a students PC

@Skillmon Yes, the one labelled with Use at own risk! There should be one that doesn't discourage the user so quickly :-)
@Skillmon Want to open an issue?

Hmm, the bat from the net installer seems to work, my copy came from an rsynced copy. Will just use that then

1:11 PM
@PhelypeOleinik created a miniature issue :)

@Skillmon Does the length of the issue text match the time it takes to solve? ;-)

@PhelypeOleinik probably not :)

23 hours ago, by Paulo Cereda
@Skillmon oh no
23 hours ago, by Paulo Cereda
/quacks in despair

@PhelypeOleinik Not you too. Clearly it's infectious.

@PhelypeOleinik yay, found a bug (I think)
\DoNotIndex{\def}
\DoNotIndex{\edef}
\DoNotIndex{\,}
\DoNotIndex{\=}
\DoNotIndex{\begingroup}
\DoNotIndex{\catcode}
\DoNotIndex{\chardef}
\DoNotIndex{\csname}
\DoNotIndex{\else}
\DoNotIndex{\endgroup}
\DoNotIndex{\endcsname}
\DoNotIndex{\endinput}
\DoNotIndex{\errmessage}
\DoNotIndex{\expandafter}
\DoNotIndex{\fi}
\DoNotIndex{\ifcsname}
\DoNotIndex{\ifx}
\DoNotIndex{\input}
\DoNotIndex{\let}
\DoNotIndex{\long}
\DoNotIndex{\noexpand}
\DoNotIndex{\protected}
\DoNotIndex{\ProvidesFile}
\DoNotIndex{\ProvidesPackage}
! Too many }'s.
l.120 \DoNotIndex{\else}
@PhelypeOleinik seems like \DoNotIndex does expand some of the arguments :(

1:26 PM
@FaheemMitha I was just following the “all messages will be reused” philosophy
@Skillmon That's not a thing to “yay” (unless it's in TeX :)

@PhelypeOleinik sorry, it appears to be in l3doc.

@Skillmon \DoNotIndex does \catcode\\12 before grabbing the argument, and l3doc doesn't change \DoNotIndex (that I know of)
@Skillmon MWE please? I couldn't reproduce with just \documentclass{l3doc}...
@Skillmon Oh, and you also can \DoNotIndex{\comma,\separated,\list}

@PhelypeOleinik I wasn't aware there was such a philosophy.

1:41 PM
Aug 1 '19 at 16:49, by Harald Hanche-Olsen
22 mins ago, by Harald Hanche-Olsen
Jul 3 at 9:48, by David Carlisle
yesterday, by Alan Munn
@DavidCarlisle We're fast approaching the day in which all chat messages will be recycled.

Nov 15 '19 at 9:45, by David Carlisle
Oct 28 at 22:50, by Phelype Oleinik
Aug 1 at 16:26, by Phelype Oleinik
Jul 3 at 9:43, by CarLaTeX
yesterday, by David Carlisle
Dec 12 '17 at 20:26, by Alan Munn
20 mins ago, by CarLaTeX
Dec 26 '14 at 0:17, by Faheem Mitha
I've got a feeling we had this discussion in this channel before. I'm getting a sense of deja vu.

@DavidCarlisle I wonder what happens when \hsize<0pt for that message :)

It's not a philosophy, it's a disease.

2:15 PM
@DavidCarlisle Been looking at textcase; the only thing I need to think about is how to handle \cite's optional argument within \text_uppercase:n

@PhelypeOleinik I know, but that threw me an unexpected } error and others.
@PhelypeOleinik Found the issue. The problem was that I was ignoring \ifx and \ifcsname and then TeX didn't find the enough \fi.

2:31 PM
@JosephWright while being expandable... (actually similar issues in adding [] processing to \newcolumntype.. but for l3 code you have expandable optional argument detection don't you ?

@DavidCarlisle One way of course would be to use xparse, and that's more-or-less my plan for \text_purify:n (use a 'swap out' table to replace non-expandable by expandable commands); it's a little more complex for case changing as we have to retain the core \cite{key} part unexpanded
@DavidCarlisle We may have to think about where xparse sits: that's probably my next big agenda item, once 2020-02-02 ships

for cite, apart from the optional argument isn't the issue that you want to text process its expansion rather than just skip it like math or \begin

@DavidCarlisle Well yes, which is why I didn't try to handle it fully when re-working the code; I suspect we need a 'pure expansion' version to work here

@Skillmon Ah, that preamble :-) I lost count of how many times I got tricked by that.

@DavidCarlisle Probably one for the team list, but there are various options if we want to use the code to re-implement \MakeUppercase, etc.

2:59 PM
quack

@PauloCereda boo!

@yo' ooh
<3

@JosephWright \aa{}ngst\o{}m --> \aa{}ngstr\o{}m

@UlrikeFischer \\aa{}ngstr\"om? I'm pretty sure Ångström was Swedish. (@JosephWright)

@HaraldHanche-Olsen ooh a circle thingy

3:06 PM
@HaraldHanche-Olsen ah yes, I only saw the missing r.

@HaraldHanche-Olsen Oh, yes, oops

@PauloCereda the smallest Swede ever!

@HaraldHanche-Olsen ooh

@HaraldHanche-Olsen Sorted

How do one avoid that the code is typeset when running a dtx?

3:15 PM
@UlrikeFischer usual these days is to make latex typeset and tex extract, what do you want to happen?

@DavidCarlisle I meant I don't want the typesetted code at the end, but "only" the documentation.

@UlrikeFischer stopeventually (should be easy to remember for you, as it's German:-)

@DavidCarlisle ooh

@UlrikeFischer \OnlyDescription in the driver bit and \StopEventually before the code

@DavidCarlisle I wished the documentation would show in the margin that \StopEventually has an argument ;-(.

3:32 PM
@UlrikeFischer blame @UlrikeFischer

3:45 PM
@DavidCarlisle ooh

@DavidCarlisle "eventually" and "eventuell" have totally different meaning in German and English. In German \StopEventuell would mean "Maybe stop, maybe not".

@Skillmon I think Frank mentioned this somewhere, cannot remember where. :)

@Skillmon Yup, we know that now
@Skillmon Tell Frank in about 1989 ;)
@Skillmon It should be \StopConditionally or \StopPerhaps or \MaybeStop or something

@JosephWright I had a heated discussion with my brother once about this :)

@JosephWright ooh Smooth Criminal
@JosephWright \StahpPls

3:53 PM
@JosephWright what triggers me more is, that if you put <*pkg> into macrocode this screws up the line numbers of the index :)

@Skillmon I know, that's why I said it should be easy for Ulrike, Frank was young and his translation wasn't so good as it is now:-)

@DavidCarlisle well, the English meaning of "stop eventually" is quite funny.

@DavidCarlisle where were you?! :)
Being the awesome linguist. :)

@Skillmon for the first decade I used doc package I had to concentrate not to add \def\zz{\zz}\zz just before that
@PauloCereda well before I met Frank

@DavidCarlisle ooh

3:57 PM
@MarcelKrüger \documentclass{article}
\usepackage{fontawesome5}
\begin{document}
A simple icon: \faHandPointUp\\
\end{document}

! Undefined control sequence.
<argument> \LaTeX3 error:
'\lua_now_x:n' deprecated on 2020-01-01. Use '\lua_now:e '. For
l.69 ...lyze_font:nn{\c__fontawesome_kind_tl}{solid}

@PauloCereda doc and docstrip go back to Frank and Rainer's earliest experiments with 2.09, if not before

@Skillmon -- That sentence, obviously, would not escape my editing pencil.

@barbarabeeton Why, not?

@Skillmon -- After editing: "in English, place a comma wherever you see fit." Too many commas. Even @DavidCarlisle doesn't (usually) try to sneak in that many.

@barbarabeeton :) Strange, I, thought, this, was, fine.

4:04 PM
@barbarabeeton but I do put them in the centre of 6 digit palindromes

@DavidCarlisle ooh

@DavidCarlisle -- And that's appropriate, although in some contexts a thin space is equivalent.

@PhelypeOleinik You have an e-mail :)

4:22 PM
@Skillmon Yes, the biggest sign of a German speaker writing in English is the comma after a verb that has a subordinate clause. That's a place where a comma is absolutely forbidden in English. e.g. I think, that English comma placement is hard.

@AlanMunn is that in English or in English simplified? :)

@Skillmon No, that's in English. You never separate a verb and its clause with a comma.
@Skillmon But in German you always do, I think.

@AlanMunn Yes, almost always. If the subordinate clause contains a verb there is a comma, if it doesn't there is none.

@Skillmon Example of the latter case?

@AlanMunn I don't have any, maybe this just doesn't exist in German (I was thinking in English when I wrote that sentence, so I thought of constructs using gerunds but those don't work the same way in German). If I ever find an example I'll tell you about it.
@AlanMunn I have one where people say that the comma is optional (though I'd always set it): "Es ist nötig schnell zu schwimmen" ("It is necessary to swim fast")

4:38 PM
@JosephWright or \StopMark

@AlanMunn I'd always use "Es ist nötig, schnell zu schwimmen".

@yo' I was trying to build-in the eventuell part ...

@Skillmon Ah, ok. That makes some sense, since schwimmen is in the infinitive form.

@AlanMunn the rule is that if there is an infinitive with "zu" the comma is optional, but if the group containing that infinitive is started with one of "als", "um", "außer", "ohne", "statt", or "anstatt" or is announce by words like "dafür", "damit", "daran", "darauf", etc the comma is set. All in all there are only few cases where the comma is optional and in the rest it is mandatory, and since it gives more structure to the sentence and often helps disambiguate the meaning I always set it.
@AlanMunn actually, that case I just thought of ("Es ist nötig, zu schwimmen") would have to have a comma, since it describes the "Es", a better example would've been "Hast du daran gedacht das Auto aufzutanken?" (which I'd write "Hast du daran gedacht, das Auto aufzutanken?")

5:20 PM
@JosephWright how do I tell l3build to unpack the dtx before typesetting the doc?

@UlrikeFischer It should do anyway

@JosephWright well it doesn't for me, the style is not in build/doc.

@barbarabeeton I was wondering if you'd like a TUGboat on the case-chaging stuff? Would partly be about Unicode rules, but might be fun
@UlrikeFischer Can you send me an example?

@JosephWright -- Yes, please! I can't think of any really good, basic explanation of how a Unicode/OpenType approach really differs from the original font approach. There's a lot involved here, and the case-changing stuff is affected by and affects all of that. (A piece on HarfBuzz has been suggested; I'm not sure about the status of that, but that's another piece of the puzzle.) Let's discuss offline. Thanks.

5:36 PM
@JosephWright I invited you to the github, l3build install works as expected, but l3build doc fails as the two files from the dtx are not there.

5:51 PM
@UlrikeFischer I'll take a look later on
@barbarabeeton Sure, OK

@JosephWright thanks, I'm looking too. But the standard of "l3build doc" would be to copy the dtx and unpack it in build/doc?

@yo' -- The author of this question is using Overleaf, and doesn't know how to find out what \bibliographystyle is being used. Can you explain?

@UlrikeFischer build/local

@JosephWright hm. And what must one do to get the files to build/doc for the typesetting?

6:15 PM
> Microsoft today launched its new Edge browser based on Google's Chromium open source project.

7:06 PM
@PauloCereda Ohh, I hope it performs well.

@mickep I prefer to stick with FF. :)

7:29 PM
14

For complicated figures with graphics, I think there is some consensus that tikz is the way to go. It is probably worth learning. It is amazing, but can be intimidating for the beginner. For very simple pictures (lines, arrows, text, ovals) the picture environment has easy-to-learn tools. The \pu...

Wow... I love this picture environment. No need to call any packages. Draw pictures fast and perfect!

is there a way to retract a given approval on a suggested edit?

Yes but i think it needs moderation access or high scored users have access to it.

@EnthusiasticEngineer No, it's built into the LaTeX format (though you might want to use some package like pict2e to get better results)
@naphaneal I don't think so (perhaps if you have a ♦ after your name :-). Last time I needed that I just waited for someone else to approve and rolled back the edit

@EnthusiasticEngineer yes great works of art have been created with it tex.stackexchange.com/a/114847/2388

7:50 PM
@UlrikeFischer I've fixed the first issue: there's no specific var here, so I've used the generic hook. However, we seem to be lacking some picture files ...

8:03 PM
@JosephWright yes, I think I forgot one - and I need to find out, how to unpack the tex without a preamble. But why didn't it work directly? in build/local the sty were there but not the tex, only a yes file with lots of y.

@UlrikeFischer Files get unpacked in build/unpacked then copied to build/local only if they are meant to go into the 'live' part of the tree

@UlrikeFischer what files are they .sty or other extensions?
@UlrikeFischer @JosephWright in ho-tex/pdftexcmds/build.lua I have
function docinit_hook ()
return  cp("pdftexcmds.bib", "build/unpacked" ,"build/doc")
end
to force a docstrip extracted bib file to be in place to typeset the doc

8:18 PM
@DavidCarlisle Well yes, you should be using the variables

@DavidCarlisle a tex file. I was trying to include the documentation file into the dtx.

@DavidCarlisle We might need another variable, I guess, ...

@JosephWright which? I think I tried most of them:-)

@DavidCarlisle unpackdir,typesetdir

@DavidCarlisle that is what Joseph just suggested and it works. It was only surprising - I thought l3build would simply copy everything into the build/doc folder, but the sty is actually found in build/local/.

8:20 PM
@JosephWright the *dir variables were all OK it's the list of files to move to them that does not include the bib files. Oh you mean use variables in that cp, well yes but it's needing to use the hook at all that is unexpected.

@UlrikeFischer :)))) @DavidCarlisle's art!

@UlrikeFischer No, we wanted things to be controlled
@DavidCarlisle We wanted explicit copy to keep things 'known'

8:50 PM
@JosephWright the confusing part is that there is a simple variable to copy existing files for typesetting but that generated files need a "complicated" function.

@UlrikeFischer It's a question of what features people have asked for :)
@UlrikeFischer There are relatively few cases where people want to extract files for the documentation only

@JosephWright Actually I only thought I should for once try to put everything in the dtx and not write a parallel docu ;-) (and I had to create an external file as the tcblisting didn't like to be directly inside the dtx, I got spurious percent chars in the docu).

1 hour later…
10:11 PM
> In Finland, Ph.D. graduates are given a top hat and sword with their diploma.

@PauloCereda sword???

@PauloCereda Drat! I was born in the wrong country :|

@PhelypeOleinik yo same
Not even a fricking pat on the back

@PauloCereda A friend of mine got a "you just did your job" from his advisor

@PhelypeOleinik I believe you. :) I've seen some similar phrasing.

10:20 PM
Hello, fun part first: @Pau

@Speravir aloha :)

Sorry, too fast. Paulo, have you ever been pointe to the horror duck you can see in the definition of background-blend-mode (W3C Editor’s draft)? Should BTW quite easy with TikZ.
(I came to this, because there is a change with Firefox72.)

@Speravir HOLY COW

;-)
Serious part: @DavidCarlisle or @JosephWright: Is this worth investigating? I have an older document that I wanted to update (links). It contained two now deprecated packages from KOMA-Script which now throw warnings. I remembered the package silence i had used for other dcuments, but his lead to an endless loading. (cont.)

@Speravir What is 'this'?

10:39 PM
(cont.) After investigation I found out:
* The original document has hyperref and hyperxmp, and a \hypesetup after \begin{document}, and this works.
* Disabling hyperxmp works.
* Moving \hypersetup before the document beginning works.
The issue here is the endless loading without any error. An almost minimal working example:
Opps. wrong version, slightly shorter and in UTF-8:

:53239263 Take a look here: tex.stackexchange.com/a/507214/134574

\documentclass{article}
%\iffalse
\iftrue
\usepackage{silence}
\WarningFilter{scrpage2}{usage of obsolete package}
\WarningFilter{scrkbase}{pagehead' is only an alias of pageheadfoot'}
\fi

\usepackage{blindtext}

\usepackage[automark,headsepline,footsepline]{scrpage2}
\pagestyle{scrheadings}
\addtolength{\headheight}{0.5\baselineskip}
\ihead{
Test for package \texttt{silence}}
\chead{}
\ohead{\itshape\rightmark}
\ifoot[]{Anne O. Nymus}
\cfoot{}
\ofoot{\pagemark}

\usepackage[
@PhelypeOleinik Ah, interesting, but as said above it works for me moving the hypersetup before the document.

@Speravir Yes, the document hangs at the \begin{document}. If you move \hypersetup before that then hyperxmp detects that (I suppose) and doesn't try to look at \@author and \@title.
@Speravir As the guy in the answer said, "The correct solution is to not use the silence package" :-)

@PhelypeOleinik “The guy in the answer” … I wonder who that is ;-) BTW I just looked: My original document has \title and \author, but it did not work anyway.

@Speravir No idea ;-)
@Speravir Can you make an MWE?

10:53 PM
@PhelypeOleinik Look some messages above. (I just now notice that the UTF-8 thing does not matter, because I removed everything not being ASCII.)

@Speravir I added \author and \title there (before \begin{document}, that is) and it worked...
@JosephWright What's the official position about \__kernel... private macros? Are they allowed in packages outside the kernel?

@PhelypeOleinik I did not know that I can them before … So, this is the same like with \hypersetup. You could update your answer.

@PhelypeOleinik Er, no
@PhelypeOleinik They are private but necessary for some cross-kernel actions: even within the kernel, we want to keep them miniised

@JosephWright Then perhaps we shouldn't have a kernel option in l3doc to allow that, I think...
@JosephWright Perhaps keep it, but undocumented...

@PhelypeOleinik Can you think of another way? The option name was meant to be quite self-explanatory
@PhelypeOleinik Yeah, but that's not allowed either: options have to be documented ...

11:05 PM
@JosephWright Hm... That complicates :-)
@Speravir You can add them anywhere, actually. \author just defines \@author, and the same for \title and \date. It depends what other code does to \@author. LaTeX itself only uses \@author with \maketitle, so as long you use \author before that you're fine. hyperxmp uses it at \begin{document}`...

11:18 PM
@PhelypeOleinik Thx.

@Speravir You're welcome :-)