Conversation
dginev
left a comment
There was a problem hiding this comment.
I have completed an initial read of the PR and am very encouraged. Congratulations on a much cleaner framework! I left some minor comments and will now proceed to testing out the branch on various examples.
If you want to rebase it on the latest master and pass CI, that would be helpful too.
| ### return ($marks ? map { CleanLabel($_, $prefix); } split(',', $marks) : ()); } | ||
| my @marks = (); | ||
| foreach my $mark (split(',', $marks)) { | ||
| $mark = ToString($mark); |
There was a problem hiding this comment.
Doesn't split(',' above already assume that $marks is a string? So this ToString call is unnecessary.
| my ($stomach, $kv, $content) = @_; | ||
| my $frontmatter = LookupValue('frontmatter'); | ||
| my %options = ($kv ? $kv->beDigested($stomach)->getHash : ()); | ||
| my $role = ToString($options{role}) || ''; |
There was a problem hiding this comment.
Early quit, or Error, if $role isn't set?
Reading the body, we can get some strange behaviors using an empty string $role.
There was a problem hiding this comment.
Not sure it should be disallowed, or error, but certainly should protect from nonsense! (kinda messy though)
| '\lx@add@creator[role=author]{#2\lx@aas@checkorchid{#1}}'); | ||
| DefMacro('\lx@aas@checkorchid{}', '\lx@aas@checkorchid@#1,\done'); | ||
| # In later aas, $junk make be keywords? (gname,sname,suffix,...?) | ||
| DefMacro('\lx@aas@checkorchid@ Until:, Until:\done', sub { |
There was a problem hiding this comment.
Mildly concerned that the PR uses both Until:\done and Until:\\done. Should we standardize to single backslash for Until: and Match: ?
| DefMacro('\lx@aas@checkorchid@ Until:, Until:\done', sub { | ||
| my ($gullet, $possibleid, $junk) = @_; | ||
| if (ToString($possibleid) =~ /^\s*\d\d\d\d-\d\d\d\d-\d\d\d\d-\d\d\d\d\s*$/) { | ||
| return Invocation('\lx@add@contact[role=orcid]{#1}', $possibleid); } |
…s and email when either a sequence mark or labels are used to link them; use role=affiliation consistently, instead of institute; more consistent internal macro naming
…content) for better CSS control of appearance
…y multiple \emailAdd attach to authors (sequentially)
…hen being processed WITHIN stored (previously deferred) frontmatter
…f it is a string containing parameter tokens
…text, and converting role=orcid into an orcid link
…ect a comma within)
…ort for marks to connect contacts to creators
…(\city{...}\state{...}...}
…een author/affiliation work via marks; improve trailing \\ removal from frontmatter
e5120f7 to
8784919
Compare
… new \lx@add@to@frontmatter; begin more shorthands
…atter entries, since there can be multiple dates with different roles
Revised infrastructure for managing frontmatter, especially navigating the maze of strategies used in different classes to associate a document creator (author, editor, ...) with various contact information (affiliation, address, email, ...).
Classic LaTeX uses only
\authorwith multiple authors separated by\and, and affiliations (presumably) separated from each author by\\. Others use\authorfor single authors, followed by commands for\affiliation, etc. Another scheme uses\inst{marks}within the author, and the marks refer to marks in the affiliation, or the sequence, Or, or, or.Will need to flesh out the description here. But while it's too early for a full review, it's a good time to start scoping out the scheme; There's undoubtedly lots of not-quite-right about. Probably easiest approach is to pick a class you're fond of and see how the binding has changed, whether it's readable, sensible, even intuitive?