LaTeX forum ⇒ Generalexpl3 for dummies Topic is solved

LaTeX specific issues not fitting into one of the other forums of this category.
User avatar
Stefan Kottwitz
Site Admin
Posts: 8733
Joined: Mon Mar 10, 2008 9:44 pm
Location: Hamburg, Germany
Contact:

expl3 for dummies

Postby Stefan Kottwitz » Fri Mar 16, 2018 2:23 am

That was a spammer. I checked it once he posted, it was not yet clear spam. He added a signature later with a spam. I deleted the post and that account.

Thanks!

Stefan
Site admin

Tags:

User avatar
cgnieder
Site Moderator
Posts: 1986
Joined: Sat Apr 16, 2011 7:27 pm
Location: Germany
Contact:

Postby cgnieder » Fri Mar 16, 2018 3:37 pm

erwann wrote:I would need, if possible, some clarification as to what the intended purposes of local public, local internal, global public, and public function are.


I take it the difference between function and variable is clear? (This is mostly a semantic difference here as in TeX everything is a macro in the end.)

internal means variables and functions only to be used in the package and by the package author; the code can be changed or deleted or whatever from release to release, it is not to be relied upon by others.

public means available for every user of the package, ideally with a documented meaning and stable from one release to the next so that users can rely upon them.

local/global means local/global with respect to TeX's groups – in traditional TeX (the concept is the same in expl3):
  1. % local:
  2. {\def\foo{bar}} \show\foo % \foo=undefined
  3. \bgroup\def\foo{bar}\egroup \show\foo % \foo=undefined
  4. \begingroup\def\foo{bar}\endgroup \show\foo % \foo=undefined
  5.  
  6. % global:
  7. {\gdef\foo{bar}} \show\foo % \foo=macro: ->bar
  8. \bgroup\def\foo{bar}\egroup \show\foo % \foo=macro: ->bar
  9. \begingroup\def\foo{bar}\endgroup \show\foo % \foo=macro: ->bar
Clemens
------------------------------
chemmacros · chemformula · leadsheets · xsim

erwann
Posts: 48
Joined: Thu Aug 25, 2016 2:24 am

Postby erwann » Mon Mar 19, 2018 11:46 pm

OK, thanks.

Maybe internal/public should be renamed private/public or internal/external or implementation/interface?
x_86 / Linux Mint 18.3 / texlive 2015.20160320-1ubuntu0.1 / TeXworks 0.5r1361 (Debian)


Return to “General”

Who is online

Users browsing this forum: No registered users and 3 guests