[NTG-context] Re: Working with layer sets with Metapost
Hi, not sure I get what you are missing. But you can try setbounds currentpicture to (fullsquare scaled 200) ; in base. And then do \dorecurse{5}{ \startTEXpage[offset=1DK] \useMPgraphic{layerset#1} \stopTEXpage } if that is the looping you are after. /Mikael On Fri, Feb 16, 2024 at 6:54 AM Emanuel Han via ntg-context wrote: > > Resp. the solution should be such that each generated PDF page has the same > dimension, the same background colour and a page number and the metapost > content on each page has the same scaling factor. > > On Feb. 15 2024, at 11:10 pm, Emanuel Han via ntg-context > wrote: > > Dear Mikael, > > I actually need to keep the \dorecurse mechanism of the mwe (from line 44 > on), because I need the "setbounds currentpicture to TheFrame" and also > because I need page numbering inside the MPpage, as done with draw > textext(decimal(currentime)). > > So, how can I use the \useMPgraphic{layerset1} etc. inside the \dorecurse, > assuming I name my layersets "layerset1", "layerset2", "layerset3" etc.? > > Emanuel > > On Feb. 15 2024, at 10:07 pm, Emanuel Han via ntg-context > wrote: > > Dear Mikael, > thanks a lot! > this seems to be the solution! And it looks beatiful enough to me > I'll try to port all my layers to this new method and see if I run into new > problems again > > Emanuel > > > On Feb. 15 2024, at 8:19 am, Mikael Sundqvist wrote: > > Hi > > On Thu, Feb 15, 2024 at 1:03 AM Emanuel Han via ntg-context > wrote: > > > > Dear list, > > > > the attached .tex file is the minimal working example we discussed today in > > the online meeting. > > > > I realized that the approach of looping through k of p[k] is not fitting my > > needs, because it's not flexible enough. > > > > I need another approach, one which works with layer sets. > > > > I would stop using p as an array, because with the layer sets approach we > > don't have a fixed order of the layers. > > > > So the definition of the layers would be something like > > > > picture layerA; > > layerA:=image( > > label("Word 1", z1); > > ); > > > > picture layerW; > > layerW:=image( > > label("Mot 2", z2); > > ); > > > > picture layerM; > > layerM:=image( > > label("Parola 3", z3); > > ); > > > > picture layerC; > > layerC:=image( > > label("Wort 4", z3+z1); > > ); > > > > picture layerY; > > layerY:=image( > > label("Nummer 5", z2+z3); > > ); > > > > picture layerU; > > layerU:=image( > > label("number 6", z2+z1); > > ); > > > > After that, I would define layer sets and layer subsets. This will be done > > manually for each layer set and each layer subset. > > I don't know the proper syntax to do that. Let's assume we could use a > > variable type called "myset". > > > > myset layersubsetGamma; > > layersubsetGamma:={layerU,layerM}; > > > > In my logic, the layers will be drawn in the order of their appearance > > within the {}. In the example, drawn content of layerM might cover drawn > > content of layerU. > > > > Contrary to a layer subset, each layer set will result in a PDF page, and > > thus the layer sets are related to each other by an inner order. That's why > > I would use an array variable here with []. > > > > I don't know how to append a set. In the following example, I assumed there > > would be a function myappend(, > set should be appended with>) > > > > myset layerset[]; > > layerset1 := {layerW,layerA}; > > layerset2 := myappend{layerset1, layerY}; > > layerset3 := myappend{layerset2, layersubsetGamma}; > > layerset4 := myappend{layerset2, layerU}; > > layerset5 := myappend{layerset4, layersubsetGamma}; > > > > Finally, I would need each layerset[k] typeset on its own pdf page. And of > > course on each page k, only the layers which appear in the definition of > > the layerset[k] should be drawn on top of each other in the order as they > > appear in that definition. > > > > I'm very curious to hear your suggestions. > > > > Not beautiful, perhaps, but maybe something like this could work? I > think there is no way out of doing some manual work to tell what you > want included on each page. > > \startuseMPgraphic{base} > z1 = origin ; > z2 = (10,50) ; > z3 = (40,30) ; > > picture layerA; > layerA:=image( > label("Word 1", z1); > ); > > picture layerW; > layerW:=image( > label("Mot 2", z2); > ); > > picture layerM; > layerM:=image( > label("Parola 3", z3); > ); > > picture layerC; > layerC:=image( > label("Wort 4", z3+z1); > ); > > picture layerY; > layerY:=image( > label("Nummer 5", z2+z3); > ); > > picture layerU; > layerU:=image( > label("number 6", z2+z1); > ); > \stopuseMPgraphic > > \startuseMPgraphic{Gamma} > draw layerU ; > draw layerM ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset1} > \includeMPgraphic{base} > draw layerW ; > draw layerA ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset2} > \includeMPgraphic{layerset1} ; > draw layerY ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset3} > \includeMPgraphic{layerset2} ; > \includeMPgraphic{Gamma} ; >
[NTG-context] Re: Working with layer sets with Metapost
Resp. the solution should be such that each generated PDF page has the same dimension, the same background colour and a page number and the metapost content on each page has the same scaling factor. On Feb. 15 2024, at 11:10 pm, Emanuel Han via ntg-context wrote: > Dear Mikael, > > I actually need to keep the \dorecurse mechanism of the mwe (from line 44 > on), because I need the "setbounds currentpicture to TheFrame" and also > because I need page numbering inside the MPpage, as done with draw > textext(decimal(currentime)). > So, how can I use the \useMPgraphic{layerset1} etc. inside the \dorecurse, > assuming I name my layersets "layerset1", "layerset2", "layerset3" etc.? > Emanuel > On Feb. 15 2024, at 10:07 pm, Emanuel Han via ntg-context > wrote: > > Dear Mikael, > > thanks a lot! > > this seems to be the solution! And it looks beatiful enough to me > > I'll try to port all my layers to this new method and see if I run into new > > problems again > > > > Emanuel > > > > On Feb. 15 2024, at 8:19 am, Mikael Sundqvist wrote: > > > Hi > > > > > > On Thu, Feb 15, 2024 at 1:03 AM Emanuel Han via ntg-context > > > wrote: > > > > > > > > Dear list, > > > > > > > > the attached .tex file is the minimal working example we discussed > > > > today in the online meeting. > > > > > > > > I realized that the approach of looping through k of p[k] is not > > > > fitting my needs, because it's not flexible enough. > > > > > > > > I need another approach, one which works with layer sets. > > > > > > > > I would stop using p as an array, because with the layer sets approach > > > > we don't have a fixed order of the layers. > > > > > > > > So the definition of the layers would be something like > > > > > > > > picture layerA; > > > > layerA:=image( > > > > label("Word 1", z1); > > > > ); > > > > > > > > picture layerW; > > > > layerW:=image( > > > > label("Mot 2", z2); > > > > ); > > > > > > > > picture layerM; > > > > layerM:=image( > > > > label("Parola 3", z3); > > > > ); > > > > > > > > picture layerC; > > > > layerC:=image( > > > > label("Wort 4", z3+z1); > > > > ); > > > > > > > > picture layerY; > > > > layerY:=image( > > > > label("Nummer 5", z2+z3); > > > > ); > > > > > > > > picture layerU; > > > > layerU:=image( > > > > label("number 6", z2+z1); > > > > ); > > > > > > > > After that, I would define layer sets and layer subsets. This will be > > > > done manually for each layer set and each layer subset. > > > > I don't know the proper syntax to do that. Let's assume we could use a > > > > variable type called "myset". > > > > > > > > myset layersubsetGamma; > > > > layersubsetGamma:={layerU,layerM}; > > > > > > > > In my logic, the layers will be drawn in the order of their appearance > > > > within the {}. In the example, drawn content of layerM might cover > > > > drawn content of layerU. > > > > > > > > Contrary to a layer subset, each layer set will result in a PDF page, > > > > and thus the layer sets are related to each other by an inner order. > > > > That's why I would use an array variable here with []. > > > > > > > > I don't know how to append a set. In the following example, I assumed > > > > there would be a function myappend(, > > > initial set should be appended with>) > > > > > > > > myset layerset[]; > > > > layerset1 := {layerW,layerA}; > > > > layerset2 := myappend{layerset1, layerY}; > > > > layerset3 := myappend{layerset2, layersubsetGamma}; > > > > layerset4 := myappend{layerset2, layerU}; > > > > layerset5 := myappend{layerset4, layersubsetGamma}; > > > > > > > > Finally, I would need each layerset[k] typeset on its own pdf page. And > > > > of course on each page k, only the layers which appear in the > > > > definition of the layerset[k] should be drawn on top of each other in > > > > the order as they appear in that definition. > > > > > > > > I'm very curious to hear your suggestions. > > > > > > > > > > Not beautiful, perhaps, but maybe something like this could work? I > > > think there is no way out of doing some manual work to tell what you > > > want included on each page. > > > > > > \startuseMPgraphic{base} > > > z1 = origin ; > > > z2 = (10,50) ; > > > z3 = (40,30) ; > > > > > > picture layerA; > > > layerA:=image( > > > label("Word 1", z1); > > > ); > > > > > > picture layerW; > > > layerW:=image( > > > label("Mot 2", z2); > > > ); > > > > > > picture layerM; > > > layerM:=image( > > > label("Parola 3", z3); > > > ); > > > > > > picture layerC; > > > layerC:=image( > > > label("Wort 4", z3+z1); > > > ); > > > > > > picture layerY; > > > layerY:=image( > > > label("Nummer 5", z2+z3); > > > ); > > > > > > picture layerU; > > > layerU:=image( > > > label("number 6", z2+z1); > > > ); > > > \stopuseMPgraphic > > > > > > \startuseMPgraphic{Gamma} > > > draw layerU ; > > > draw layerM ; > > > \stopuseMPgraphic > > > > > > \startuseMPgraphic{layerset1} > > > \includeMPgraphic{base} > > > draw layerW ; > > > draw layerA ; > > > \stopuseMPgraphic > >
[NTG-context] Re: XML processing, unwanted indentation/alignment
The extra space is because you have a space between {first_name} and {\xmlatt... on line 9 of xml.tex. > On 15 Feb 2024, at 20:28, Michael Guravage > wrote: > > Greetings, > > I'm typesetting an address book whose addresses are in XML. A typical entry > has this structure: > > > > >mobile="" /> > > > > > > initials and birthday are required, first_name can be left blank and email, > mobile and maiden_name are optional. > > I've written a macro (name) to compose the name, i.e. initials, first_name > (maiden_name), and another macro (nameemaillink) to make the name a link > associated with an email address. > > % Derive an individual's name > \def\name#1% > {\ifxmlattempty{#1}{first_name} {\xmlatt{#1}{initials}} \else > {\xmlatt{#1}{initials}, \xmlatt{#1}{first_name}} \fi Remove the space after {first_name} here >\ifxmlattempty{#1}{maiden_name} {} \else { > \tfxx(\xmlatt{#1}{maiden_name})} \fi} > > % Create a mailto:link that associates a individual's name with their email > address. > \def\nameemaillink#1% > {\ifxmlattempty{#1}{email} {\name{#1}} \else {\goto{\name{#1}} > [url(mailto:\xmlatt{#1}{email})]} \fi} > > I thought I was done when I noticed that a composed name with an empty first > name, with or without an email address, is slightly indented. In the mwe Moe > and Curly, without first names, are indented; while Shemp and Michael aren't. > > That the undesired indentation/alignment is dependent on the presence of a > first name is baffling. After this long description, if someone would look > at the code and tell me where I've gone wrong I would be very grateful. The > interesting bits begin on lines 8 and 12 in xml.tex. — Bruce Horrocks Hampshire, UK ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: Working with layer sets with Metapost
Dear Mikael, I actually need to keep the \dorecurse mechanism of the mwe (from line 44 on), because I need the "setbounds currentpicture to TheFrame" and also because I need page numbering inside the MPpage, as done with draw textext(decimal(currentime)). So, how can I use the \useMPgraphic{layerset1} etc. inside the \dorecurse, assuming I name my layersets "layerset1", "layerset2", "layerset3" etc.? Emanuel On Feb. 15 2024, at 10:07 pm, Emanuel Han via ntg-context wrote: > Dear Mikael, > thanks a lot! > this seems to be the solution! And it looks beatiful enough to me > I'll try to port all my layers to this new method and see if I run into new > problems again > > Emanuel > > On Feb. 15 2024, at 8:19 am, Mikael Sundqvist wrote: > > Hi > > > > On Thu, Feb 15, 2024 at 1:03 AM Emanuel Han via ntg-context > > wrote: > > > > > > Dear list, > > > > > > the attached .tex file is the minimal working example we discussed today > > > in the online meeting. > > > > > > I realized that the approach of looping through k of p[k] is not fitting > > > my needs, because it's not flexible enough. > > > > > > I need another approach, one which works with layer sets. > > > > > > I would stop using p as an array, because with the layer sets approach we > > > don't have a fixed order of the layers. > > > > > > So the definition of the layers would be something like > > > > > > picture layerA; > > > layerA:=image( > > > label("Word 1", z1); > > > ); > > > > > > picture layerW; > > > layerW:=image( > > > label("Mot 2", z2); > > > ); > > > > > > picture layerM; > > > layerM:=image( > > > label("Parola 3", z3); > > > ); > > > > > > picture layerC; > > > layerC:=image( > > > label("Wort 4", z3+z1); > > > ); > > > > > > picture layerY; > > > layerY:=image( > > > label("Nummer 5", z2+z3); > > > ); > > > > > > picture layerU; > > > layerU:=image( > > > label("number 6", z2+z1); > > > ); > > > > > > After that, I would define layer sets and layer subsets. This will be > > > done manually for each layer set and each layer subset. > > > I don't know the proper syntax to do that. Let's assume we could use a > > > variable type called "myset". > > > > > > myset layersubsetGamma; > > > layersubsetGamma:={layerU,layerM}; > > > > > > In my logic, the layers will be drawn in the order of their appearance > > > within the {}. In the example, drawn content of layerM might cover drawn > > > content of layerU. > > > > > > Contrary to a layer subset, each layer set will result in a PDF page, and > > > thus the layer sets are related to each other by an inner order. That's > > > why I would use an array variable here with []. > > > > > > I don't know how to append a set. In the following example, I assumed > > > there would be a function myappend(, > > initial set should be appended with>) > > > > > > myset layerset[]; > > > layerset1 := {layerW,layerA}; > > > layerset2 := myappend{layerset1, layerY}; > > > layerset3 := myappend{layerset2, layersubsetGamma}; > > > layerset4 := myappend{layerset2, layerU}; > > > layerset5 := myappend{layerset4, layersubsetGamma}; > > > > > > Finally, I would need each layerset[k] typeset on its own pdf page. And > > > of course on each page k, only the layers which appear in the definition > > > of the layerset[k] should be drawn on top of each other in the order as > > > they appear in that definition. > > > > > > I'm very curious to hear your suggestions. > > > > > > > Not beautiful, perhaps, but maybe something like this could work? I > > think there is no way out of doing some manual work to tell what you > > want included on each page. > > > > \startuseMPgraphic{base} > > z1 = origin ; > > z2 = (10,50) ; > > z3 = (40,30) ; > > > > picture layerA; > > layerA:=image( > > label("Word 1", z1); > > ); > > > > picture layerW; > > layerW:=image( > > label("Mot 2", z2); > > ); > > > > picture layerM; > > layerM:=image( > > label("Parola 3", z3); > > ); > > > > picture layerC; > > layerC:=image( > > label("Wort 4", z3+z1); > > ); > > > > picture layerY; > > layerY:=image( > > label("Nummer 5", z2+z3); > > ); > > > > picture layerU; > > layerU:=image( > > label("number 6", z2+z1); > > ); > > \stopuseMPgraphic > > > > \startuseMPgraphic{Gamma} > > draw layerU ; > > draw layerM ; > > \stopuseMPgraphic > > > > \startuseMPgraphic{layerset1} > > \includeMPgraphic{base} > > draw layerW ; > > draw layerA ; > > \stopuseMPgraphic > > > > \startuseMPgraphic{layerset2} > > \includeMPgraphic{layerset1} ; > > draw layerY ; > > \stopuseMPgraphic > > > > \startuseMPgraphic{layerset3} > > \includeMPgraphic{layerset2} ; > > \includeMPgraphic{Gamma} ; > > \stopuseMPgraphic > > > > > > \startuseMPgraphic{layerset4} > > \includeMPgraphic{layerset2} ; > > draw layerU ; > > \stopuseMPgraphic > > > > \startuseMPgraphic{layerset5} > > \includeMPgraphic{layerset4} ; > > \includeMPgraphic{Gamma} ; > > \stopuseMPgraphic > > > > \starttext > > \startTEXpage[offset=1DK] > > \useMPgraphic{layerset1} > > \stopTEXpage > > >
[NTG-context] Re: Working with layer sets with Metapost
Dear Mikael, thanks a lot! this seems to be the solution! And it looks beatiful enough to me I'll try to port all my layers to this new method and see if I run into new problems again Emanuel On Feb. 15 2024, at 8:19 am, Mikael Sundqvist wrote: > Hi > > On Thu, Feb 15, 2024 at 1:03 AM Emanuel Han via ntg-context > wrote: > > > > Dear list, > > > > the attached .tex file is the minimal working example we discussed today in > > the online meeting. > > > > I realized that the approach of looping through k of p[k] is not fitting my > > needs, because it's not flexible enough. > > > > I need another approach, one which works with layer sets. > > > > I would stop using p as an array, because with the layer sets approach we > > don't have a fixed order of the layers. > > > > So the definition of the layers would be something like > > > > picture layerA; > > layerA:=image( > > label("Word 1", z1); > > ); > > > > picture layerW; > > layerW:=image( > > label("Mot 2", z2); > > ); > > > > picture layerM; > > layerM:=image( > > label("Parola 3", z3); > > ); > > > > picture layerC; > > layerC:=image( > > label("Wort 4", z3+z1); > > ); > > > > picture layerY; > > layerY:=image( > > label("Nummer 5", z2+z3); > > ); > > > > picture layerU; > > layerU:=image( > > label("number 6", z2+z1); > > ); > > > > After that, I would define layer sets and layer subsets. This will be done > > manually for each layer set and each layer subset. > > I don't know the proper syntax to do that. Let's assume we could use a > > variable type called "myset". > > > > myset layersubsetGamma; > > layersubsetGamma:={layerU,layerM}; > > > > In my logic, the layers will be drawn in the order of their appearance > > within the {}. In the example, drawn content of layerM might cover drawn > > content of layerU. > > > > Contrary to a layer subset, each layer set will result in a PDF page, and > > thus the layer sets are related to each other by an inner order. That's why > > I would use an array variable here with []. > > > > I don't know how to append a set. In the following example, I assumed there > > would be a function myappend(, > set should be appended with>) > > > > myset layerset[]; > > layerset1 := {layerW,layerA}; > > layerset2 := myappend{layerset1, layerY}; > > layerset3 := myappend{layerset2, layersubsetGamma}; > > layerset4 := myappend{layerset2, layerU}; > > layerset5 := myappend{layerset4, layersubsetGamma}; > > > > Finally, I would need each layerset[k] typeset on its own pdf page. And of > > course on each page k, only the layers which appear in the definition of > > the layerset[k] should be drawn on top of each other in the order as they > > appear in that definition. > > > > I'm very curious to hear your suggestions. > > > > Not beautiful, perhaps, but maybe something like this could work? I > think there is no way out of doing some manual work to tell what you > want included on each page. > > \startuseMPgraphic{base} > z1 = origin ; > z2 = (10,50) ; > z3 = (40,30) ; > > picture layerA; > layerA:=image( > label("Word 1", z1); > ); > > picture layerW; > layerW:=image( > label("Mot 2", z2); > ); > > picture layerM; > layerM:=image( > label("Parola 3", z3); > ); > > picture layerC; > layerC:=image( > label("Wort 4", z3+z1); > ); > > picture layerY; > layerY:=image( > label("Nummer 5", z2+z3); > ); > > picture layerU; > layerU:=image( > label("number 6", z2+z1); > ); > \stopuseMPgraphic > > \startuseMPgraphic{Gamma} > draw layerU ; > draw layerM ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset1} > \includeMPgraphic{base} > draw layerW ; > draw layerA ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset2} > \includeMPgraphic{layerset1} ; > draw layerY ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset3} > \includeMPgraphic{layerset2} ; > \includeMPgraphic{Gamma} ; > \stopuseMPgraphic > > > \startuseMPgraphic{layerset4} > \includeMPgraphic{layerset2} ; > draw layerU ; > \stopuseMPgraphic > > \startuseMPgraphic{layerset5} > \includeMPgraphic{layerset4} ; > \includeMPgraphic{Gamma} ; > \stopuseMPgraphic > > \starttext > \startTEXpage[offset=1DK] > \useMPgraphic{layerset1} > \stopTEXpage > > \startTEXpage[offset=1DK] > \useMPgraphic{layerset2} > \stopTEXpage > > \startTEXpage[offset=1DK] > \useMPgraphic{layerset3} > \stopTEXpage > > \startTEXpage[offset=1DK] > \useMPgraphic{layerset4} > \stopTEXpage > > \startTEXpage[offset=1DK] > \useMPgraphic{layerset5} > \stopTEXpage > > \stoptext > /Mikael > ___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net >
[NTG-context] Re: XML processing, unwanted indentation/alignment
Michael Guravage schrieb am 15.02.2024 um 21:28: Greetings, I'm typesetting an address book whose addresses are in XML. A typical entry has this structure: email="" mobile="" /> initials and birthday are required, first_name can be left blank and email, mobile and maiden_name are optional. I've written a macro (name) to compose the name, i.e. initials, first_name (maiden_name), and another macro (nameemaillink) to make the name a link associated with an email address. % Derive an individual's name \def\name#1% {\ifxmlattempty{#1}{first_name} {\xmlatt{#1}{initials}} \else {\xmlatt{#1}{initials}, \xmlatt{#1}{first_name}} \fi \ifxmlattempty{#1}{maiden_name} {} \else { \tfxx(\xmlatt{#1}{maiden_name})} \fi} You have a few spaces in the definition of your command (e.g. the space after \else and another one after the following { in the main_name attribute) which end as multiple spaces in the output. While you can fix the problem by removing the spaces a better solution is to use the texdefinition environment to create your command, you can even use blank lines to structure the arguments. To avoid problems with existing commands it is good practice to use camelcase for your own commands. begin example \starttexdefinition Name #1 \ifxmlattempty{#1}{first_name} \xmlatt{#1}{initials} \else \xmlatt{#1}{initials}, \xmlatt{#1}{first_name} \fi \ifxmlattempty{#1}{maiden_name} % \else {\tfxx(\xmlatt{#1}{maiden_name})} \fi \stoptexdefinition end example Wolfgang ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] XML processing, unwanted indentation/alignment
Greetings, I'm typesetting an address book whose addresses are in XML. A typical entry has this structure: initials and birthday are required, first_name can be left blank and email, mobile and maiden_name are optional. I've written a macro (name) to compose the name, i.e. initials, first_name (maiden_name), and another macro (nameemaillink) to make the name a link associated with an email address. % Derive an individual's name \def\name#1% {\ifxmlattempty{#1}{first_name} {\xmlatt{#1}{initials}} \else {\xmlatt{#1}{initials}, \xmlatt{#1}{first_name}} \fi \ifxmlattempty{#1}{maiden_name} {} \else { \tfxx(\xmlatt{#1}{maiden_name})} \fi} % Create a mailto:link that associates a individual's name with their email address. \def\nameemaillink#1% {\ifxmlattempty{#1}{email} {\name{#1}} \else {\goto{\name{#1}} [url(mailto:\xmlatt{#1}{email})]} \fi} I thought I was done when I noticed that a composed name with an empty first name, with or without an email address, is slightly indented. In the mwe Moe and Curly, without first names, are indented; while Shemp and Michael aren't. That the undesired indentation/alignment is dependent on the presence of a first name is baffling. After this long description, if someone would look at the code and tell me where I've gone wrong I would be very grateful. The interesting bits begin on lines 8 and 12 in xml.tex. -- With kind regards, Michael % XML processing instructions % Turn a phone number into a tel:link - without spaces \def\phonelink#1% {\goto{#1} [url(tel:\cldcontext{string.nospaces("#1")})]} % Derive an individual's name \def\name#1% {\ifxmlattempty{#1}{first_name} {\xmlatt{#1}{initials}} \else {\xmlatt{#1}{initials}, \xmlatt{#1}{first_name}} \fi \ifxmlattempty{#1}{maiden_name} {} \else { \tfxx(\xmlatt{#1}{maiden_name})} \fi} % Create a mailto:link that associates a individual's name with their email address. \def\nameemaillink#1% {\ifxmlattempty{#1}{email} {\name{#1}} \else {\goto{\name{#1}} [url(mailto:\xmlatt{#1}{email})]} \fi} % Make an individual's mobile phone number a tel:link. \def\mobilelink#1% {\ifxmlattempty{#1}{mobile} {} \else {\phonelink{\xmlatt{#1}{mobile}}} \fi} % Track these several elements. \startxmlsetups xml:list:base \xmlsetsetup{#1}{addressBook|family|address|members|member}{xml:list:*} \stopxmlsetups \xmlregisterdocumentsetup{list}{xml:list:base} % When we encounter the root element merely flush the rest. \startxmlsetups xml:list:addressBook \xmlflush{#1} \stopxmlsetups % Place each family in a frametext box \startxmlsetups xml:list:family \startframedtext[width=\textwidth] {\tfb \bf \xmlatt{#1}{surname}\ifxmlattempty{#1}{prefix}{}\else{, \xmlatt{#1}{prefix}}\fi}\blank \xmlflush{#1} \stopframedtext \blank[big] \stopxmlsetups % Enumerate the address information \startxmlsetups xml:list:address \xmlatt{#1}{street} \xmlatt{#1}{housenumber}\crlf \xmlatt{#1}{postcode} \xmlatt{#1}{city}\crlf \ifxmlattempty{#1}{telephone}{\vskip -1em}\else{\phonelink{\xmlatt{#1}{telephone}}}\fi %\vskip -1em \xmlflush{#1} \blank[big] \stopxmlsetups % The only purpose of the element is to make a table of members. \startxmlsetups xml:list:members \starttabulate[|l|l|l|] \xmlflush{#1} \stoptabulate \stopxmlsetups % Each gets his own table row. \startxmlsetups xml:list:member \NC \nameemaillink{#1} \NC \xmlatt{#1}{birthday} \NC \mobilelink{#1} \NC\NR \stopxmlsetups % finis \environment xml.tex % XML processing instructions \setupframedtext[frame=off, width=\textwidth, align={flushleft,broad,nothyphenated}] \setupinteraction[state=start, color=darkblue] \starttext \xmlprocessfile{list}{mwe.xml}{} \stoptext % finis mwe.pdf Description: Adobe PDF document ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
Don’t forget the articles from the context journal: https://articles.contextgarden.net/ (2022 is still missing) Esp. Taco’s about MetaPost are very interesting and maybe that’s some low level stuff you’re missing. You don’t need to look at Hans’ contributions – everything that’s still valid is in the distribution. Hraban ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
On 2/15/2024 8:25 PM, Tommaso Gordini wrote: Thanks everyone for the suggestions on the manuals. I knew the resource reported by Alain and, of course, that of Joaquín, whose translation into Italian I have completed, but not yet refined. However, I didn't know the file reported by Mikael, which I found to be an excellent tutorial to get started with. The documentation on ConTeXt is copious, and we know it: just look at the manuals on Contextgarden. But it is decidedly fragmented, and this disorientates the user. I believe, therefore, that what the community misses is a tutorial/reference manual/complete guide that comes /directly/ from the ConTeXt team (Hans, Wolfgang, etc). And, above all, that it is up to date: on Contextgarden many ‘valid’ manuals date back to many years ago, and the obsolescence of the software guides could make people say something like «well, stuff from years ago, I don't trust it». A manual in a single file that has, in short, the seal of officiality: the various resources in circulation are just as many excellent efforts by individuals, who however have put their own approach to ConTeXt into their work. Perhaps there is a more correct approach than others, more essential, which is worth knowing. I am speaking to you as a LaTeX user, and therefore I may have written a lot of nonsense in my message. I conclude by saying that, in the end, the ConTeXt team may not be interested in all this, and therefore our discussions are pure academic. :) As with latex it's not dev who have to write documentation, manuals, books ... so any addition is okay. There are only 24 hours in my day (maybe a few more in wolfgangs), Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
Thanks everyone for the suggestions on the manuals. I knew the resource reported by Alain and, of course, that of Joaquín, whose translation into Italian I have completed, but not yet refined. However, I didn't know the file reported by Mikael, which I found to be an excellent tutorial to get started with. The documentation on ConTeXt is copious, and we know it: just look at the manuals on Contextgarden. But it is decidedly fragmented, and this disorientates the user. I believe, therefore, that what the community misses is a tutorial/reference manual/complete guide that comes *directly* from the ConTeXt team (Hans, Wolfgang, etc). And, above all, that it is up to date: on Contextgarden many ‘valid’ manuals date back to many years ago, and the obsolescence of the software guides could make people say something like «well, stuff from years ago, I don't trust it». A manual in a single file that has, in short, the seal of officiality: the various resources in circulation are just as many excellent efforts by individuals, who however have put their own approach to ConTeXt into their work. Perhaps there is a more correct approach than others, more essential, which is worth knowing. I am speaking to you as a LaTeX user, and therefore I may have written a lot of nonsense in my message. I conclude by saying that, in the end, the ConTeXt team may not be interested in all this, and therefore our discussions are pure academic. :) Ciao Tommaso Il giorno gio 15 feb 2024 alle ore 12:13 Aditya Mahajan ha scritto: > On Thu, 15 Feb 2024, Mikael Sundqvist wrote: > > > Hi, > > > > This small example from BachoTeX 2023 could perhaps be useful for > > someone: https://github.com/mpsmath/stepbystep > > For tutorials, I had played around with using a git repo as a tutorial: > > https://github.com/adityam/context-slides-example/commits > > The following page is generated automatically from the git commit log: > https://adityam.github.io/context-blog/post/presentation-40-commits-redux/ > > Aditya > > ___ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > > ___ > ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] /AFRelationship for attachments
Dear list, the new lpdf-wid.lmt contains in lines 302 and 377: local relation = specification.relation or "Unspecified" AFRelationship = pdfconstant(relation), The following sample compiled with current latest: \setupinteraction[state=start] \starttext attachment\attachment[method=hidden, relation=Data, file=xml-mkiv.pdf] \stoptext Gives the following object: 2 0 obj << /AFRelationship /Unspecified /EF << /F 1 0 R >> /F (xml-mkiv.pdf) /Type /Filespec /UF >> endobj Sorry, but which is the right way to specify the /AFRelationship for embedded documents? Many thanks for your help, Pablo ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: manuals
One could also have a look at https://www.lesfichesabebert.fr/TeX/TeX.html It is website introducing Context in French. The author was using LaTeX, but he switched to Context for his work maintaining a regular publication. Note: the site is now under reworking, but it is very interesting. Alain Le 14-02-24 à 23:25, Hans Hagen via ntg-context a écrit : There's also: https://github.com/contextgarden/not-so-short-introduction-to-context Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___ ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Installation of linux-32bits
Hi! I tried to install the linux 32 bits kindly provided by Hans. It went all right up to: mtxrun -generate First I had to change my PATH putting the path to lmtx before TeXlive, because it was always the files from TeXlive which were used. Then I got: alain@alain:~/context/tex/texmf-linux/bin$ mtxrun --generate resolvers | resolving | variable 'SELFAUTOLOC' set to '/home/alain/context/bin' resolvers | resolving | variable 'SELFAUTODIR' set to '/home/alain/context' resolvers | resolving | variable 'SELFAUTOPARENT' set to '/home/alain' resolvers | resolving | variable 'TEXMFCNF' set to '' resolvers | resolving | variable 'TEXMF' set to '' resolvers | resolving | variable 'TEXOS' set to 'context' [...] resolvers | resolving | resolvers | resolving | warning: no lua configuration files found resolvers | resolving | no texmf paths are defined (using TEXMF) resolvers | resolving | mtxrun | mtxrun | elapsed lua time: 0.113 seconds - so the binaries were not created. What did I wrong? How to solve the problem? Thanks, Alain ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: Seeindex with zie instead of see?
Hi Hraban, Thanks for your suggestion! I indeed hadn't included the \mainlangauge[nl] command, I only had the \language[nl] command incorporated. So I missed that; but now it works! Gerard ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
On Thu, 15 Feb 2024, Mikael Sundqvist wrote: > Hi, > > This small example from BachoTeX 2023 could perhaps be useful for > someone: https://github.com/mpsmath/stepbystep For tutorials, I had played around with using a git repo as a tutorial: https://github.com/adityam/context-slides-example/commits The following page is generated automatically from the git commit log: https://adityam.github.io/context-blog/post/presentation-40-commits-redux/ Aditya ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
Thank you, Mikael, excellent tutorial, for me. Ciao Tommaso Il giorno gio 15 feb 2024 alle ore 09:29 Mikael Sundqvist ha scritto: > Hi, > > This small example from BachoTeX 2023 could perhaps be useful for > someone: https://github.com/mpsmath/stepbystep > > /Mikael > > On Thu, Feb 15, 2024 at 8:31 AM Jan Ulrich Hasecke via ntg-context > wrote: > > > > Hi, > > > > Am 14.02.24 um 19:45 schrieb Sir Coleman via ntg-context: > > > > I wanted to create more of a reference, a complete reference, and one > that's of course not meant to be read from cover to cover. > > > > > > I think that setup-en.pdf is a good starting point for a complete > reference as it contains the commands and their options. With added > explanations and examples it would be a great reference to beginners. > > > > juh > > > > > ___ > > If your question is of interest to others as well, please add an entry > to the Wiki! > > > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > > webpage : https://www.pragma-ade.nl / https://context.aanhet.net > (mirror) > > archive : https://github.com/contextgarden/context > > wiki : https://wiki.contextgarden.net > > > ___ > > ___ > If your question is of interest to others as well, please add an entry to > the Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > > ___ > ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: upload
On 2/15/2024 10:02 AM, luigi scarso wrote: On Wed, 14 Feb 2024 at 13:47, Hans Hagen wrote: Hi, as we're around texlive code freeze time we're also in upload mode - i uploaded a new lmtx - i also added linux and windows 32 bin (as it seems to have users) - we're now using lua 5.5 which has one restriction (was already announced a while ago): hm, I don't see lua 5.5 around ... perhaps Lua 5.4.5 ? it's beta stuff but luametatex is an good test for it as it used a lot of lua so it's s way to pay back for using lua Hans - Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl - ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: upload
Hi, The 5.5 seems to come from https://github.com/lua/lua/blob/master/lua.h /Mikael On Thu, Feb 15, 2024 at 10:04 AM luigi scarso wrote: > > On Wed, 14 Feb 2024 at 13:47, Hans Hagen wrote: > > > > Hi, > > > > as we're around texlive code freeze time we're also in upload mode > > > > - i uploaded a new lmtx > > - i also added linux and windows 32 bin (as it seems to have users) > > > > - we're now using lua 5.5 which has one restriction (was already > > announced a while ago): > > hm, I don't see lua 5.5 around ... perhaps Lua 5.4.5 ? > > -- > luigi > ___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > ___ ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: upload
On Wed, 14 Feb 2024 at 13:47, Hans Hagen wrote: > > Hi, > > as we're around texlive code freeze time we're also in upload mode > > - i uploaded a new lmtx > - i also added linux and windows 32 bin (as it seems to have users) > > - we're now using lua 5.5 which has one restriction (was already > announced a while ago): hm, I don't see lua 5.5 around ... perhaps Lua 5.4.5 ? -- luigi ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___
[NTG-context] Re: An announcement of my new book.
Hi, This small example from BachoTeX 2023 could perhaps be useful for someone: https://github.com/mpsmath/stepbystep /Mikael On Thu, Feb 15, 2024 at 8:31 AM Jan Ulrich Hasecke via ntg-context wrote: > > Hi, > > Am 14.02.24 um 19:45 schrieb Sir Coleman via ntg-context: > > I wanted to create more of a reference, a complete reference, and one that's > of course not meant to be read from cover to cover. > > > I think that setup-en.pdf is a good starting point for a complete reference > as it contains the commands and their options. With added explanations and > examples it would be a great reference to beginners. > > juh > > ___ > If your question is of interest to others as well, please add an entry to the > Wiki! > > maillist : ntg-context@ntg.nl / > https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl > webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) > archive : https://github.com/contextgarden/context > wiki : https://wiki.contextgarden.net > ___ ___ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror) archive : https://github.com/contextgarden/context wiki : https://wiki.contextgarden.net ___