Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

The only thing necessary for the triumph of evil is for good men to do nothing. -- Edmund Burke


computers / comp.text.tex / Re: jobname with command line input

SubjectAuthor
* jobname with command line inputvincent.belaiche
`* Re: jobname with command line inputvincent.belaiche
 `* Re: jobname with command line inputvincent.belaiche
  `* Re: jobname with command line inputvincent.belaiche
   `* Re: jobname with command line inputJulius Dittmar
    `- Re: jobname with command line inputvincent.belaiche

1
jobname with command line input

<m2h7ft7517.fsf@biosency.com>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4009&group=comp.text.tex#4009

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!news.gegeweb.eu!gegeweb.org!.POSTED.127.78.9.109.rev.sfr.net!not-for-mail
From: vincent.belaiche@gmail.com
Newsgroups: comp.text.tex
Subject: jobname with command line input
Date: Fri, 13 Aug 2021 17:12:04 +0200
Organization: Gegeweb News Server
Message-ID: <m2h7ft7517.fsf@biosency.com>
Mime-Version: 1.0
Content-Type: text/plain
Injection-Info: news.gegeweb.eu; posting-account="vbelaiche@orange.local"; posting-host="127.78.9.109.rev.sfr.net:109.9.78.127";
logging-data="6238"; mail-complaints-to="abuse@gegeweb.eu"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin)
Cancel-Lock: sha1:kod2gd/N9b2r78/793K4YCM1aWY= sha256:BPU58HCCUjTIaD0xoG5QLTtEb7MkXn5sPtQa5tlX8Ck=
 by: vincent.belaiche@gmail.com - Fri, 13 Aug 2021 15:12 UTC

Hello,

Look at this command line:

pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo

where foo.tex contains:

\begin{document}
Bonjour \lipsum[1]
\end{document}

Depending on the version of LaTeX kernel (or engine ?) the jobname will
be:

1. article, for older versions
2. lipsum, for more recent versions
3. texput, for a current version

I could not get it to be foo.

OK, it is not a problem, because you can still pass the option --jobname
foo to explcitely set it too foo. I am just trying to know what the
official and deprecated behaviours are.

Is that correct to say that after \documentclass, \RequirePackage or
\usepackage the current jobname (be it texput) is frozen, and cannot be
changed by any subsequent \input.

Re: jobname with command line input

<m2czqh6z8j.fsf@biosency.com>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4011&group=comp.text.tex#4011

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!news.gegeweb.eu!gegeweb.org!.POSTED.127.78.9.109.rev.sfr.net!not-for-mail
From: vincent.belaiche@gmail.com
Newsgroups: comp.text.tex
Subject: Re: jobname with command line input
Date: Fri, 13 Aug 2021 19:17:16 +0200
Organization: Gegeweb News Server
Message-ID: <m2czqh6z8j.fsf@biosency.com>
References: <m2h7ft7517.fsf@biosency.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: news.gegeweb.eu; posting-account="vbelaiche@orange.local"; posting-host="127.78.9.109.rev.sfr.net:109.9.78.127";
logging-data="9469"; mail-complaints-to="abuse@gegeweb.eu"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin)
Cancel-Lock: sha1:YkxAN+htrp9tedk0u/q2IYSe9l4= sha256:RsfiZSEYOSs08qSqBimclINVyw2OKyEJ3CQ5U7Z+dX4=
 by: vincent.belaiche@gmail.com - Fri, 13 Aug 2021 17:17 UTC

vincent.belaiche@gmail.com writes:

> Hello,
>
> Look at this command line:
>
> pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo
>
> where foo.tex contains:
>
> \begin{document}
> Bonjour \lipsum[1]
> \end{document}
>
> Depending on the version of LaTeX kernel (or engine ?) the jobname will
> be:
>
> 1. article, for older versions
> 2. lipsum, for more recent versions
> 3. texput, for a current version
>
> I could not get it to be foo.
>
> OK, it is not a problem, because you can still pass the option --jobname
> foo to explcitely set it too foo. I am just trying to know what the
> official and deprecated behaviours are.
>
> Is that correct to say that after \documentclass, \RequirePackage or
> \usepackage the current jobname (be it texput) is frozen, and cannot be
> changed by any subsequent \input.
>

It seems that the \jobname is frozen after the first time it is
expanded, and has some special primitive behaviour up to that point,
that is to say that it is a primitive, not a macro, but which is similar
to a macro containing the token list « undefined » (w/o guillemets) with
all letters of catcode 12 (other). This means that if you do:

\show\jobname

you get (because it is a primitive)

\jobname=\jobname.

if you do:

\let\toto\jobanme\show\toto

you get:

\toto=undefined.

if now you do:

{\escapechar=-1 \edef\titi{\expandafter\string\csname undefined\endcsname}}
\let\toto\jobname
\ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi

you get:

undefined = string

if you do:

\ifx\jobname\undefined\message{jn undef}\else\message{jn not undef}\fi

you get:

jn not undef

if you do:

\edef\tata{\jobname}\show\tata

then, assuming that the jobname is helloworld, you get:

\tata=macro:
->hellworld.

if the jobname was « hello world » (w/o the guillemets, but with the
space inside, then you would get:

\tata=macro:
->"hell world".

So, I have one plain question, is there any such thing in \documentclass
or \RequirePackage as \edef\dummy{\jobname} in order to freeze the
jobname.

Re: jobname with command line input

<m25yw96y62.fsf@biosency.com>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4012&group=comp.text.tex#4012

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!news.nntp4.net!news.gegeweb.eu!gegeweb.org!.POSTED.127.78.9.109.rev.sfr.net!not-for-mail
From: vincent.belaiche@gmail.com
Newsgroups: comp.text.tex
Subject: Re: jobname with command line input
Date: Fri, 13 Aug 2021 19:40:21 +0200
Organization: Gegeweb News Server
Message-ID: <m25yw96y62.fsf@biosency.com>
References: <m2h7ft7517.fsf@biosency.com> <m2czqh6z8j.fsf@biosency.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: news.gegeweb.eu; posting-account="vbelaiche@orange.local"; posting-host="127.78.9.109.rev.sfr.net:109.9.78.127";
logging-data="9469"; mail-complaints-to="abuse@gegeweb.eu"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin)
Cancel-Lock: sha1:MBOHHGlo+P0GbR1yvigRYLA+1p8= sha256:j0Y40FyMHS4qSuGIGqxkayCHMruFKuWKUpgjp4kyCRg=
 by: vincent.belaiche@gmail.com - Fri, 13 Aug 2021 17:40 UTC

vincent.belaiche@gmail.com writes:

> vincent.belaiche@gmail.com writes:
>
>> Hello,
>>
>> Look at this command line:
>>
>> pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo
>>
>> where foo.tex contains:
>>
>> \begin{document}
>> Bonjour \lipsum[1]
>> \end{document}
>>
>> Depending on the version of LaTeX kernel (or engine ?) the jobname will
>> be:
>>
>> 1. article, for older versions
>> 2. lipsum, for more recent versions
>> 3. texput, for a current version
>>
>> I could not get it to be foo.
>>
>> OK, it is not a problem, because you can still pass the option --jobname
>> foo to explcitely set it too foo. I am just trying to know what the
>> official and deprecated behaviours are.
>>
>> Is that correct to say that after \documentclass, \RequirePackage or
>> \usepackage the current jobname (be it texput) is frozen, and cannot be
>> changed by any subsequent \input.
>>
>
> It seems that the \jobname is frozen after the first time it is
> expanded, and has some special primitive behaviour up to that point,
> that is to say that it is a primitive, not a macro, but which is similar
> to a macro containing the token list « undefined » (w/o guillemets) with
> all letters of catcode 12 (other). This means that if you do:
>
> \show\jobname
>
> you get (because it is a primitive)
>
> \jobname=\jobname.
>
> if you do:
>
> \let\toto\jobanme\show\toto
>
> you get:
>
> \toto=undefined.
>
> if now you do:
>
> {\escapechar=-1 \edef\titi{\expandafter\string\csname
> undefined\endcsname}} \let\toto\jobname
> \ifx\titi\toto\message{undefined = string}\else\message{undefined
> ???}\fi
>
> you get:
>
> undefined = string
>
> if you do:
>
> \ifx\jobname\undefined\message{jn undef}\else\message{jn not undef}\fi
>
> you get:
>
> jn not undef
>
> if you do:
>
> \edef\tata{\jobname}\show\tata
>
> then, assuming that the jobname is helloworld, you get:
>
> \tata=macro:
> ->hellworld.
>
> if the jobname was « hello world » (w/o the guillemets, but with the
> space inside, then you would get:
>
> \tata=macro:
> ->"hell world".
>
> So, I have one plain question, is there any such thing in \documentclass
> or \RequirePackage as \edef\dummy{\jobname} in order to freeze the
> jobname.
>
>
>

Sorry, I did a mistake with curly brackets

If you do:

\let\toto\jobname
{\escapechar=-1 \edef\titi{\expandafter\string\csname undefined\endcsname}
\ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi}

you get:

undefined ???

So the « undefined » initial value is not made of characters of catcode
12.

If you do:

\let\toto\jobname
\def\titi{undefined}
\ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi

You get the same message, so it is not either made of catcode=letter
tokens.

Re: jobname with command line input

<m2wnoo56va.fsf@biosency.com>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4014&group=comp.text.tex#4014

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.nntp4.net!news.gegeweb.eu!gegeweb.org!.POSTED.127.78.9.109.rev.sfr.net!not-for-mail
From: vincent.belaiche@gmail.com
Newsgroups: comp.text.tex
Subject: Re: jobname with command line input
Date: Sat, 14 Aug 2021 18:27:37 +0200
Organization: Gegeweb News Server
Message-ID: <m2wnoo56va.fsf@biosency.com>
References: <m2h7ft7517.fsf@biosency.com> <m2czqh6z8j.fsf@biosency.com>
<m25yw96y62.fsf@biosency.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: news.gegeweb.eu; posting-account="vbelaiche@orange.local"; posting-host="127.78.9.109.rev.sfr.net:109.9.78.127";
logging-data="64099"; mail-complaints-to="abuse@gegeweb.eu"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin)
Cancel-Lock: sha1:xDnIeNQUNZyhGoXg8BMKI5eafjo= sha256:iV4BBn9KfwFqmPA9dtKaEUsibe4PKA4c3lObqI7f/go=
 by: vincent.belaiche@gmail.com - Sat, 14 Aug 2021 16:27 UTC

vincent.belaiche@gmail.com writes:

> vincent.belaiche@gmail.com writes:
>
>> vincent.belaiche@gmail.com writes:
>>
>>> Hello,
>>>
>>> Look at this command line:
>>>
>>> pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo
>>>
>>> where foo.tex contains:
>>>
>>> \begin{document}
>>> Bonjour \lipsum[1]
>>> \end{document}
>>>
>>> Depending on the version of LaTeX kernel (or engine ?) the jobname will
>>> be:
>>>
>>> 1. article, for older versions
>>> 2. lipsum, for more recent versions
>>> 3. texput, for a current version
>>>
>>> I could not get it to be foo.
>>>
>>> OK, it is not a problem, because you can still pass the option --jobname
>>> foo to explcitely set it too foo. I am just trying to know what the
>>> official and deprecated behaviours are.
>>>
>>> Is that correct to say that after \documentclass, \RequirePackage or
>>> \usepackage the current jobname (be it texput) is frozen, and cannot be
>>> changed by any subsequent \input.
>>>
>>
>> It seems that the \jobname is frozen after the first time it is
>> expanded, and has some special primitive behaviour up to that point,
>> that is to say that it is a primitive, not a macro, but which is similar
>> to a macro containing the token list « undefined » (w/o guillemets) with
>> all letters of catcode 12 (other). This means that if you do:
>>
>> \show\jobname
>>
>> you get (because it is a primitive)
>>
>> \jobname=\jobname.
>>
>> if you do:
>>
>> \let\toto\jobanme\show\toto
>>
>> you get:
>>
>> \toto=undefined.
>>
>> if now you do:
>>
>> {\escapechar=-1 \edef\titi{\expandafter\string\csname
>> undefined\endcsname}} \let\toto\jobname
>> \ifx\titi\toto\message{undefined = string}\else\message{undefined
>> ???}\fi
>>
>> you get:
>>
>> undefined = string
>>
>> if you do:
>>
>> \ifx\jobname\undefined\message{jn undef}\else\message{jn not undef}\fi
>>
>> you get:
>>
>> jn not undef
>>
>> if you do:
>>
>> \edef\tata{\jobname}\show\tata
>>
>> then, assuming that the jobname is helloworld, you get:
>>
>> \tata=macro:
>> ->hellworld.
>>
>> if the jobname was « hello world » (w/o the guillemets, but with the
>> space inside, then you would get:
>>
>> \tata=macro:
>> ->"hell world".
>>
>> So, I have one plain question, is there any such thing in \documentclass
>> or \RequirePackage as \edef\dummy{\jobname} in order to freeze the
>> jobname.
>>
>>
>>
>
> Sorry, I did a mistake with curly brackets
>
>
> If you do:
>
> \let\toto\jobname
> {\escapechar=-1 \edef\titi{\expandafter\string\csname undefined\endcsname}
> \ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi}
>
> you get:
>
> undefined ???
>
> So the « undefined » initial value is not made of characters of catcode
> 12.
>
> If you do:
>
> \let\toto\jobname
> \def\titi{undefined}
> \ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi
>
> You get the same message, so it is not either made of catcode=letter
> tokens.
>

I did a very plain test. I did '\def\jobname{\errmessage{Something}} at
the beginning of some sample minimal hello world document, and I
realized that the first time that \jobname is expanded is in the
\begin{document} because of inputing the .aux file.

Now everything boils down to one simple question. My assumption that
\documentclass or \RequirePackage were expanding \jobname to freeze it
proves out erroneous, so what do they do to get the same result of
freezing it.

The context of the question is that with older version of LaTeX
the following command line

pdflatex '\documentclass{minimal}\begin{document}Hello!\end{document}

would produce a document named minimal.pdf, and now, with the latest
versions of LaTeX it produces a document named texput.pdf. What has been
done to get this change ?

Any kind of hint is welcome…

Re: jobname with command line input

<sf955c$1rek$1@news-cypress.fernuni-hagen.de>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4017&group=comp.text.tex#4017

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!news.enyo.de!news.uni-stuttgart.de!news-1.dfn.de!news.dfn.de!news-cypress.fernuni-hagen.de!news.fernuni-hagen.de!.POSTED.xdsl-89-0-82-23.nc.de!not-for-mail
From: Julius.Dittmar@gmx.de (Julius Dittmar)
Newsgroups: comp.text.tex
Subject: Re: jobname with command line input
Date: Sat, 14 Aug 2021 21:22:20 +0200
Organization: FernUni Hagen
Message-ID: <sf955c$1rek$1@news-cypress.fernuni-hagen.de>
References: <m2h7ft7517.fsf@biosency.com> <m2czqh6z8j.fsf@biosency.com>
<m25yw96y62.fsf@biosency.com> <m2wnoo56va.fsf@biosency.com>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 14 Aug 2021 19:22:20 +0000 (UTC)
Injection-Info: news-cypress.fernuni-hagen.de; posting-host="xdsl-89-0-82-23.nc.de:89.0.82.23";
logging-data="60884"; mail-complaints-to="newsadmin@fernuni-hagen.de"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
In-Reply-To: <m2wnoo56va.fsf@biosency.com>
Content-Language: en-US
 by: Julius Dittmar - Sat, 14 Aug 2021 19:22 UTC

Am 14.08.21 um 18:27 schrieb vincent.belaiche@gmail.com:
> vincent.belaiche@gmail.com writes:
>
>> vincent.belaiche@gmail.com writes:
>>
>>> vincent.belaiche@gmail.com writes:
>>>
>>>> Hello,
>>>>
>>>> Look at this command line:
>>>>
>>>> pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo
>>>>
>>>> where foo.tex contains:
>>>>
>>>> \begin{document}
>>>> Bonjour \lipsum[1]
>>>> \end{document}
>>>>
>>>> Depending on the version of LaTeX kernel (or engine ?) the jobname will
>>>> be:
>>>>
>>>> 1. article, for older versions
>>>> 2. lipsum, for more recent versions
>>>> 3. texput, for a current version
>>>>
>>>> I could not get it to be foo.
>>>>
>>>> OK, it is not a problem, because you can still pass the option --jobname
>>>> foo to explcitely set it too foo. I am just trying to know what the
>>>> official and deprecated behaviours are.
>>>>
>>>> Is that correct to say that after \documentclass, \RequirePackage or
>>>> \usepackage the current jobname (be it texput) is frozen, and cannot be
>>>> changed by any subsequent \input.
>>>>
>>>
>>> It seems that the \jobname is frozen after the first time it is
>>> expanded, and has some special primitive behaviour up to that point,
>>> that is to say that it is a primitive, not a macro, but which is similar
>>> to a macro containing the token list « undefined » (w/o guillemets) with
>>> all letters of catcode 12 (other). This means that if you do:
>>>
>>> \show\jobname
>>>
>>> you get (because it is a primitive)
>>>
>>> \jobname=\jobname.
>>>
>>> if you do:
>>>
>>> \let\toto\jobanme\show\toto
>>>
>>> you get:
>>>
>>> \toto=undefined.
>>>
>>> if now you do:
>>>
>>> {\escapechar=-1 \edef\titi{\expandafter\string\csname
>>> undefined\endcsname}} \let\toto\jobname
>>> \ifx\titi\toto\message{undefined = string}\else\message{undefined
>>> ???}\fi
>>>
>>> you get:
>>>
>>> undefined = string
>>>
>>> if you do:
>>>
>>> \ifx\jobname\undefined\message{jn undef}\else\message{jn not undef}\fi
>>>
>>> you get:
>>>
>>> jn not undef
>>>
>>> if you do:
>>>
>>> \edef\tata{\jobname}\show\tata
>>>
>>> then, assuming that the jobname is helloworld, you get:
>>>
>>> \tata=macro:
>>> ->hellworld.
>>>
>>> if the jobname was « hello world » (w/o the guillemets, but with the
>>> space inside, then you would get:
>>>
>>> \tata=macro:
>>> ->"hell world".
>>>
>>> So, I have one plain question, is there any such thing in \documentclass
>>> or \RequirePackage as \edef\dummy{\jobname} in order to freeze the
>>> jobname.
>>>
>>>
>>>
>>
>> Sorry, I did a mistake with curly brackets
>>
>>
>> If you do:
>>
>> \let\toto\jobname
>> {\escapechar=-1 \edef\titi{\expandafter\string\csname undefined\endcsname}
>> \ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi}
>>
>> you get:
>>
>> undefined ???
>>
>> So the « undefined » initial value is not made of characters of catcode
>> 12.
>>
>> If you do:
>>
>> \let\toto\jobname
>> \def\titi{undefined}
>> \ifx\titi\toto\message{undefined = string}\else\message{undefined ???}\fi
>>
>> You get the same message, so it is not either made of catcode=letter
>> tokens.
>>
>
> I did a very plain test. I did '\def\jobname{\errmessage{Something}} at
> the beginning of some sample minimal hello world document, and I
> realized that the first time that \jobname is expanded is in the
> \begin{document} because of inputing the .aux file.
>
> Now everything boils down to one simple question. My assumption that
> \documentclass or \RequirePackage were expanding \jobname to freeze it
> proves out erroneous, so what do they do to get the same result of
> freezing it.
>
> The context of the question is that with older version of LaTeX
> the following command line
>
> pdflatex '\documentclass{minimal}\begin{document}Hello!\end{document}
>
> would produce a document named minimal.pdf, and now, with the latest
> versions of LaTeX it produces a document named texput.pdf. What has been
> done to get this change ?

I can't give you any details, but the way \begin{document} is processed
has been overhauled. The idea was (as far as I can know) to allow
packages to suspend parts of their work until all packages have been
loaded, so they can test against the presence of conflicting packages
and deal with the consequences without the need to load packages in the
right order.

These changes were part of the latex3 work, so if you want to know more,
that's where you might want to start your search.

Hope that helps,
Julius Dittmar

Re: jobname with command line input

<m2sfzb69gm.fsf@biosency.com>

  copy mid

https://www.rocksolidbbs.com/computers/article-flat.php?id=4018&group=comp.text.tex#4018

  copy link   Newsgroups: comp.text.tex
Path: i2pn2.org!i2pn.org!paganini.bofh.team!news.nntp4.net!news.gegeweb.eu!gegeweb.org!.POSTED.127.78.9.109.rev.sfr.net!not-for-mail
From: vincent.belaiche@gmail.com
Newsgroups: comp.text.tex
Subject: Re: jobname with command line input
Date: Sat, 14 Aug 2021 22:46:17 +0200
Organization: Gegeweb News Server
Message-ID: <m2sfzb69gm.fsf@biosency.com>
References: <m2h7ft7517.fsf@biosency.com> <m2czqh6z8j.fsf@biosency.com>
<m25yw96y62.fsf@biosency.com> <m2wnoo56va.fsf@biosency.com>
<sf955c$1rek$1@news-cypress.fernuni-hagen.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Injection-Info: news.gegeweb.eu; posting-account="vbelaiche@orange.local"; posting-host="127.78.9.109.rev.sfr.net:109.9.78.127";
logging-data="70638"; mail-complaints-to="abuse@gegeweb.eu"
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (darwin)
Cancel-Lock: sha1:xZZknMdDm+XHtqM/cU7gcta9F0g= sha256:X4JKq1A6QPXlgCVLms49DxMAsPaIPPFf1ujvihWQ/go=
 by: vincent.belaiche@gmail.com - Sat, 14 Aug 2021 20:46 UTC

Julius Dittmar <Julius.Dittmar@gmx.de> writes:

> Am 14.08.21 um 18:27 schrieb vincent.belaiche@gmail.com:
>> vincent.belaiche@gmail.com writes:
>>
>>> vincent.belaiche@gmail.com writes:
>>>
>>>> vincent.belaiche@gmail.com writes:
>>>>
>>>>> Hello,
>>>>>
>>>>> Look at this command line:
>>>>>
>>>>> pdflatex '\documentclass{article}\usepackage{lipsum}\input' foo
>>>>>

[...]

>> \documentclass or \RequirePackage were expanding \jobname to freeze it
>> proves out erroneous, so what do they do to get the same result of
>> freezing it.
>> The context of the question is that with older version of LaTeX
>> the following command line
>> pdflatex
>> '\documentclass{minimal}\begin{document}Hello!\end{document}
>> would produce a document named minimal.pdf, and now, with the latest
>> versions of LaTeX it produces a document named texput.pdf. What has been
>> done to get this change ?
>
> I can't give you any details, but the way \begin{document} is
> processed has been overhauled. The idea was (as far as I can know) to
> allow packages to suspend parts of their work until all packages have
> been loaded, so they can test against the presence of conflicting
> packages and deal with the consequences without the need to load
> packages in the right order.
>
> These changes were part of the latex3 work, so if you want to know
> more, that's where you might want to start your search.
>
> Hope that helps,
> Julius Dittmar
>

Thank youn for your feedback. Maybe in the end the best way for me to
understand how they implemented this change of behaviour in
\documentclass and \RequestPackage would be to scan the changes in the
github repo of the latex3 project … I was hoping that somebody already
had the answer.

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor