* Use date of the tex file in the document @ 2011-03-24 9:26 Cecil Westerhof 2011-03-24 10:22 ` Philipp Gesang 0 siblings, 1 reply; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 9:26 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 198 bytes --] I would like to use the date of the document in the generated PDF. (It is not interesting when the PDF is generated, but when the source was last changed.) How would I do this? -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 224 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 9:26 Use date of the tex file in the document Cecil Westerhof @ 2011-03-24 10:22 ` Philipp Gesang 2011-03-24 10:56 ` Cecil Westerhof 2011-03-24 11:00 ` Marco 0 siblings, 2 replies; 23+ messages in thread From: Philipp Gesang @ 2011-03-24 10:22 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1.1: Type: text/plain, Size: 1041 bytes --] On 2011-03-24 <10:26:00>, Cecil Westerhof wrote: > I would like to use the date of the document in the generated PDF. (It is > not interesting when the PDF is generated, but when the source was last > changed.) How would I do this? Hi Cecil, this solution checks only the main file, you’d have to extend it if you want it to respect included parts as well. Regards, Philipp PS: Could be optimized but this way the main function allows for lazily adjusting the output … > > -- > Cecil Westerhof > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ [-- Attachment #1.1.2: changed.tex --] [-- Type: text/x-tex, Size: 1547 bytes --] \startluacode documentdata = documentdata or { } documentdata.changed = documentdata.changed or { } local p = io.popen("ls -l --time-style=long-iso \jobname.tex", "r") local time = p:read("*all") p:close() local P, R, V = lpeg.P, lpeg.R, lpeg.V local C, Ct = lpeg.C, lpeg.Ct local p_lsout = P{ [1] = "lsout", lsout = V"before" * V"date", before = (1 - V"date")^1, date = Ct(C(V"four") * V"hyphen" * C(V"two") * V"hyphen" * C(V"two") * V"space" * Ct(C(V"two") * P":" * C(V"two"))), hyphen = P"-", space = P" ", four = V"digit" * V"digit" * V"digit" * V"digit", two = V"digit" * V"digit", digit = R"09", } local changed = p_lsout:match(time) function documentdata.changed.get_changed () if documentdata.changed.__last_changed then return documentdata.changed.__last_changed end local dateform = { changed[3], ".", changed[2], ".", changed[1], "\\space ", changed[4][1], ":", changed[4][2], } local datestr = table.concat(dateform) documentdata.changed.__last_changed = datestr return datestr end \stopluacode \unexpanded\def\getdate{% \ctxlua{context(documentdata.changed.get_changed())}% } \starttext The source of this file was last modified {\os\getdate}. \stoptext [-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 10:22 ` Philipp Gesang @ 2011-03-24 10:56 ` Cecil Westerhof 2011-03-24 11:00 ` Marco 1 sibling, 0 replies; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 10:56 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 578 bytes --] 2011/3/24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> > On 2011-03-24 <10:26:00>, Cecil Westerhof wrote: > > I would like to use the date of the document in the generated PDF. (It is > > not interesting when the PDF is generated, but when the source was last > > changed.) How would I do this? > > this solution checks only the main file, you’d have to extend it > if you want it to respect included parts as well. > For this moment it is good enough. In the future I'll change it to generate different formats. (I'll post it here.) -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 888 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 10:22 ` Philipp Gesang 2011-03-24 10:56 ` Cecil Westerhof @ 2011-03-24 11:00 ` Marco 2011-03-24 16:09 ` Cecil Westerhof 1 sibling, 1 reply; 23+ messages in thread From: Marco @ 2011-03-24 11:00 UTC (permalink / raw) To: ntg-context On 2011-03-24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> wrote: This should also work: \starttext \startluacode function modification_date (file) local f = file local attr = lfs.attributes (f) assert (type(attr) == "table") if attr.mode ~= "directory" then return os.date("%Y-%m-%d %H:%M",attr.modification) end end \stopluacode \unexpanded\def\getdate{% \ctxlua{context(modification_date ("\jobname.tex"))}% } \getdate \stoptext Marco ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 11:00 ` Marco @ 2011-03-24 16:09 ` Cecil Westerhof 2011-03-24 16:12 ` Aditya Mahajan 0 siblings, 1 reply; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 16:09 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 844 bytes --] 2011/3/24 Marco <netuse@lavabit.com> > On 2011-03-24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> wrote: > > This should also work: > > \starttext > > \startluacode > function modification_date (file) > local f = file > local attr = lfs.attributes (f) > assert (type(attr) == "table") > if attr.mode ~= "directory" then > return os.date("%Y-%m-%d %H:%M",attr.modification) > end > end > \stopluacode > > \unexpanded\def\getdate{% > \ctxlua{context(modification_date ("\jobname.tex"))}% > } > > \getdate > > \stoptext > I would like to do something like the following: \getdate would return os.date("%Y-%m-%d",attr.modification) and \getdate{"long"} would return os.date("%Y-%m-%d %H:%M",attr.modification) I have looked at lua, but do not see how to do it. (Something else to learn.) -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1332 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 16:09 ` Cecil Westerhof @ 2011-03-24 16:12 ` Aditya Mahajan 2011-03-24 16:29 ` Cecil Westerhof 0 siblings, 1 reply; 23+ messages in thread From: Aditya Mahajan @ 2011-03-24 16:12 UTC (permalink / raw) To: mailing list for ConTeXt users On Thu, 24 Mar 2011, Cecil Westerhof wrote: > 2011/3/24 Marco <netuse@lavabit.com> > >> On 2011-03-24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> wrote: >> >> This should also work: >> >> \starttext >> >> \startluacode >> function modification_date (file) >> local f = file >> local attr = lfs.attributes (f) >> assert (type(attr) == "table") >> if attr.mode ~= "directory" then >> return os.date("%Y-%m-%d %H:%M",attr.modification) >> end >> end >> \stopluacode >> >> \unexpanded\def\getdate{% >> \ctxlua{context(modification_date ("\jobname.tex"))}% >> } >> >> \getdate >> >> \stoptext >> > > I would like to do something like the following: > \getdate would return os.date("%Y-%m-%d",attr.modification) > and > \getdate{"long"} would return os.date("%Y-%m-%d > %H:%M",attr.modification) > > I have looked at lua, but do not see how to do it. (Something else to > learn.) Untested: \def\getdate% {\dosinglegroupempty\dogetdate} \def\dogetdate#1% {context{modification_date("\jobname.tex", "#1")}} and then in the lua code function modification_date(file, format) .... if format == "long" then .... else ... end end Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 16:12 ` Aditya Mahajan @ 2011-03-24 16:29 ` Cecil Westerhof 2011-03-24 16:33 ` Wolfgang Schuster 0 siblings, 1 reply; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 16:29 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1225 bytes --] 2011/3/24 Aditya Mahajan <adityam@umich.edu> > \getdate would return os.date("%Y-%m-%d",attr.modification) >> and >> \getdate{"long"} would return os.date("%Y-%m-%d >> %H:%M",attr.modification) >> >> I have looked at lua, but do not see how to do it. (Something else to >> learn.) >> > I would like to do something like the following: > > Untested: > > \def\getdate% > {\dosinglegroupempty\dogetdate} > > \def\dogetdate#1% > {context{modification_date("\jobname.tex", "#1")}} > > and then in the lua code > > function modification_date(file, format) > .... > if format == "long" then > .... > else > ... > end > > end > I have: \startluacode function modification_date(file, format) local f = file local attr = lfs.attributes(f) assert (type(attr) == "table") if attr.mode ~= "directory" then if format == "long" then return os.date("%Y-%m-%d %H:%M",attr.modification) else return os.date("%Y-%m-%d",attr.modification) end end end \stopluacode \def\getdate% {\dosinglegroupempty\dogetdate} \def\dogetdate#1% {context{modification_date("\jobname.tex", "#1")}} This results in: contextmodification_date("subversion.tex", "") -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1933 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 16:29 ` Cecil Westerhof @ 2011-03-24 16:33 ` Wolfgang Schuster 2011-03-24 17:15 ` Cecil Westerhof 2011-03-24 17:42 ` Florian Wobbe 0 siblings, 2 replies; 23+ messages in thread From: Wolfgang Schuster @ 2011-03-24 16:33 UTC (permalink / raw) To: mailing list for ConTeXt users Am 24.03.2011 um 17:29 schrieb Cecil Westerhof: > \def\getdate% > {\dosinglegroupempty\dogetdate} > > \def\dogetdate#1% > {context{modification_date("\jobname.tex", "#1")}} \def\getdate {\dosingleempty\dogetdate} \def\dogetdate[#1]% {\ctalua{context(modification_date("\jobname.tex", "#1"))}} Wolfgang ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 16:33 ` Wolfgang Schuster @ 2011-03-24 17:15 ` Cecil Westerhof 2011-03-24 17:29 ` Philipp Gesang 2011-03-24 17:30 ` Marco 2011-03-24 17:42 ` Florian Wobbe 1 sibling, 2 replies; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 17:15 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1226 bytes --] 2011/3/24 Wolfgang Schuster <schuster.wolfgang@googlemail.com> > > Am 24.03.2011 um 17:29 schrieb Cecil Westerhof: > > > \def\getdate% > > {\dosinglegroupempty\dogetdate} > > > > \def\dogetdate#1% > > {context{modification_date("\jobname.tex", "#1")}} > > \def\getdate > {\dosingleempty\dogetdate} > > \def\dogetdate[#1]% > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > I have: \startluacode function modification_date(file, format) local f = file local attr = lfs.attributes(f) assert (type(attr) == "table") if attr.mode ~= "directory" then if format == "long" then return os.date("%Y-%m-%d %H:%M",attr.modification) else return os.date("%Y-%m-%d",attr.modification) end end end \stopluacode \def\getdate {\dosingleempty\dogetdate} \def\dogetdate[#1]% {\ctalua{context(modification_date("\jobname.tex", "#1"))}} \starttext \getdate \stoptext This gives: \dogetdate [#1]->\ctalua {context(modification_date("\jobname .tex", "#1"))} l.29 \getdate[] ? I tried with \getdate, \getdate{} and \getdate[]. -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1835 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:15 ` Cecil Westerhof @ 2011-03-24 17:29 ` Philipp Gesang 2011-03-24 17:42 ` Cecil Westerhof 2011-03-24 17:30 ` Marco 1 sibling, 1 reply; 23+ messages in thread From: Philipp Gesang @ 2011-03-24 17:29 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 2020 bytes --] On 2011-03-24 <18:15:31>, Cecil Westerhof wrote: > 2011/3/24 Wolfgang Schuster <schuster.wolfgang@googlemail.com> > > > > > Am 24.03.2011 um 17:29 schrieb Cecil Westerhof: > > > > > \def\getdate% > > > {\dosinglegroupempty\dogetdate} > > > > > > \def\dogetdate#1% > > > {context{modification_date("\jobname.tex", "#1")}} > > > > \def\getdate > > {\dosingleempty\dogetdate} > > > > \def\dogetdate[#1]% > > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > > > > I have: > \startluacode > function modification_date(file, format) > local f = file > local attr = lfs.attributes(f) > > assert (type(attr) == "table") > if attr.mode ~= "directory" then > if format == "long" then > return os.date("%Y-%m-%d %H:%M",attr.modification) > else > return os.date("%Y-%m-%d",attr.modification) > end > end > end > \stopluacode > > \def\getdate > {\dosingleempty\dogetdate} > > \def\dogetdate[#1]% > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} ^ s/\\ctalua/\\ctxlua/ Regards, Philipp > > \starttext > > \getdate > > \stoptext > > This gives: > \dogetdate [#1]->\ctalua > {context(modification_date("\jobname .tex", "#1"))} > l.29 \getdate[] > > ? > > I tried with \getdate, \getdate{} and \getdate[]. > > -- > Cecil Westerhof > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ [-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:29 ` Philipp Gesang @ 2011-03-24 17:42 ` Cecil Westerhof 2011-03-24 17:50 ` Philipp Gesang 2011-03-24 23:08 ` Cecil Westerhof 0 siblings, 2 replies; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 17:42 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 831 bytes --] 2011/3/24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> > > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > ^ > s/\\ctalua/\\ctxlua/ > I have: \startluacode function modification_date(file, format) local f = file local attr = lfs.attributes(f) assert (type(attr) == "table") if attr.mode ~= "directory" then if format == "long" then return os.date("%Y-%m-%d %H:%M",attr.modification) else return os.date("%Y-%m-%d",attr.modification) end end end \stopluacode \def\getdate {\dosingleempty\dogetdate} \def\dogetdate[#1]% {\ctxlua{context(modification_date("\jobname.tex", "#1"))}} \starttext \getdate \getdate{"short"} \getdate{"long"} \stoptext This gives: 2011-03-24 2011-03-24"short" 2011-03-24"long" -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1383 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:42 ` Cecil Westerhof @ 2011-03-24 17:50 ` Philipp Gesang 2011-03-24 20:41 ` Cecil Westerhof 2011-03-24 23:08 ` Cecil Westerhof 1 sibling, 1 reply; 23+ messages in thread From: Philipp Gesang @ 2011-03-24 17:50 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1763 bytes --] On 2011-03-24 <18:42:12>, Cecil Westerhof wrote: > 2011/3/24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> > > > > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > > ^ > > s/\\ctalua/\\ctxlua/ > > > > I have: > \startluacode > function modification_date(file, format) > local f = file > local attr = lfs.attributes(f) > > assert (type(attr) == "table") > if attr.mode ~= "directory" then > if format == "long" then > return os.date("%Y-%m-%d %H:%M",attr.modification) > else > return os.date("%Y-%m-%d",attr.modification) > end > end > end > \stopluacode > > \def\getdate > {\dosingleempty\dogetdate} > > \def\dogetdate[#1]% > {\ctxlua{context(modification_date("\jobname.tex", "#1"))}} > > \starttext > > \getdate > > \getdate{"short"} \getdate[long] \getdate[nil] \getdate[false] In context optional args are specified in brackets. It’s all documented on the wiki: http://wiki.contextgarden.net/Commands_with_optional_arguments Regards, phg > > \getdate{"long"} > > \stoptext > > This gives: > 2011-03-24 > 2011-03-24"short" > 2011-03-24"long" > > -- > Cecil Westerhof > ___________________________________________________________________________________ > If your question is of interest to others as well, please add an entry to the Wiki! > > maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ [-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:50 ` Philipp Gesang @ 2011-03-24 20:41 ` Cecil Westerhof 0 siblings, 0 replies; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 20:41 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 455 bytes --] 2011/3/24 Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de> > > \getdate > > > > \getdate{"short"} > > \getdate[long] > \getdate[nil] > \getdate[false] > > In context optional args are specified in brackets. I had tried \getdate["long"], but the quotes where wrong. > It’s all > documented on the wiki: > http://wiki.contextgarden.net/Commands_with_optional_arguments > I'll look into it. Thanks. -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1064 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:42 ` Cecil Westerhof 2011-03-24 17:50 ` Philipp Gesang @ 2011-03-24 23:08 ` Cecil Westerhof 2011-03-24 23:30 ` Hans Hagen 1 sibling, 1 reply; 23+ messages in thread From: Cecil Westerhof @ 2011-03-24 23:08 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1: Type: text/plain, Size: 1005 bytes --] 2011/3/24 Cecil Westerhof <cldwesterhof@gmail.com> > \startluacode > function modification_date(file, format) > local f = file > local attr = lfs.attributes(f) > > assert (type(attr) == "table") > if attr.mode ~= "directory" then > if format == "long" then > return os.date("%Y-%m-%d %H:%M",attr.modification) > else > return os.date("%Y-%m-%d",attr.modification) > end > end > end > \stopluacode > I made the code a little better: \startluacode os.setlocale("nl_NL") function modification_date(file, format) local f = file local attr = lfs.attributes(f) local fmt = "%d %B %Y" assert (type(attr) == "table") if attr.mode ~= "directory" then if format == "long" then fmt = fmt .. " %H:%M" end return os.date(fmt,attr.modification) end end \stopluacode There is only one problem. I get: 25 March 2011 instead of: 25 maart 2011 What am I doing wrong? -- Cecil Westerhof [-- Attachment #1.2: Type: text/html, Size: 1532 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 23:08 ` Cecil Westerhof @ 2011-03-24 23:30 ` Hans Hagen 2011-03-25 0:33 ` Philipp Gesang 0 siblings, 1 reply; 23+ messages in thread From: Hans Hagen @ 2011-03-24 23:30 UTC (permalink / raw) To: mailing list for ConTeXt users On 25-3-2011 12:08, Cecil Westerhof wrote: > I made the code a little better: > \startluacode > os.setlocale("nl_NL") blocked in mkiv to prevent unwanted side effects and that will stay > function modification_date(file, format) > local f = file > local attr = lfs.attributes(f) why the f? function modification_date(filename,format) local attr = lfs.attributes(filename) if type(attr) == "table" and attr.mode ~= "directory" then if format == "nice" then return os.date("%Y-%m-%dT%X",attr.modification) .. os.timezone(true) elseif format == "long" then return os.date("%d %B %Y %H:%M",attr.modification) else return os.date("%d %B %Y",attr.modification) end end return "<unset>" end print(modification_date("oeps.lua","nice")) print(modification_date("oeps.lua","long")) ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 23:30 ` Hans Hagen @ 2011-03-25 0:33 ` Philipp Gesang 0 siblings, 0 replies; 23+ messages in thread From: Philipp Gesang @ 2011-03-25 0:33 UTC (permalink / raw) To: mailing list for ConTeXt users [-- Attachment #1.1.1: Type: text/plain, Size: 2245 bytes --] On 2011-03-25 <00:30:40>, Hans Hagen wrote: > On 25-3-2011 12:08, Cecil Westerhof wrote: > > >I made the code a little better: > >\startluacode > > os.setlocale("nl_NL") > > blocked in mkiv to prevent unwanted side effects and that will stay Still, one can access context’s language substitution tables to achieve a quasilocale effect (concerning the month, that is). (-> attachments.) Good night all, Philipp > > > function modification_date(file, format) > > local f = file > > local attr = lfs.attributes(f) > > why the f? > > function modification_date(filename,format) > local attr = lfs.attributes(filename) > if type(attr) == "table" and attr.mode ~= "directory" then > if format == "nice" then > return os.date("%Y-%m-%dT%X",attr.modification) .. > os.timezone(true) > elseif format == "long" then > return os.date("%d %B %Y %H:%M",attr.modification) > else > return os.date("%d %B %Y",attr.modification) > end > end > return "<unset>" > end > > > print(modification_date("oeps.lua","nice")) > print(modification_date("oeps.lua","long")) > > ----------------------------------------------------------------- > Hans Hagen | PRAGMA ADE > Ridderstraat 27 | 8061 GH Hasselt | The Netherlands > tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com > | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context > webpage : http://www.pragma-ade.nl / http://tex.aanhet.net > archive : http://foundry.supelec.fr/projects/contextrev/ > wiki : http://contextgarden.net > ___________________________________________________________________________________ -- () ascii ribbon campaign - against html e-mail /\ www.asciiribbon.org - against proprietary attachments [-- Attachment #1.1.2: somefile.tex --] [-- Type: text/x-tex, Size: 527 bytes --] \ctxloadluafile{getdate} \def\getdate {\dosingleempty\dogetdate} \def\dogetdate[#1]% {\ctxlua{context(documentdata.modification_date("\jobname.tex", "#1"))}} \def\Testall{% \starttabulate[|r|l|] \NC nice \NC {\os\getdate[nice]} \AR \NC long \NC {\os\getdate[long]} \AR \NC plain \NC {\os\getdate} \AR \stoptabulate \hairline% } \starttext \Testall \language[de] \Testall \language[nl] \Testall \language[it] \Testall \language[no] \Testall \stoptext [-- Attachment #1.1.3: getdate.lua --] [-- Type: text/plain, Size: 1125 bytes --] #!/usr/bin/env texlua local ldl_texts = languages.data.labels.texts local u = utf local function localize_it (str, lang) local current_language = lang or languages.current(tex.language) return ldl_texts[u.lower(str)].labels[current_language] end local function modification_date (filename, format) local attr = lfs.attributes(filename) if type(attr) == "table" and attr.mode ~= "directory" then if format == "nice" then return os.date("%Y-%m-%dT%X",attr.modification) .. os.timezone(true) elseif format == "long" then local tmp = string.explode(os.date("%d %B %Y %H:%M",attr.modification), " ") local day, month, year, time = table.unpack(tmp) return day .. ". " .. localize_it(month) .. " " .. year .. " " .. time else local tmp = string.explode(os.date("%d %B %Y",attr.modification), " ") local day, month, year = table.unpack(tmp) return day .. ". " .. localize_it(month) .. " " .. year end end return "<unset>" end documentdata.modification_date = modification_date [-- Attachment #1.2: Type: application/pgp-signature, Size: 198 bytes --] [-- Attachment #2: Type: text/plain, Size: 486 bytes --] ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:15 ` Cecil Westerhof 2011-03-24 17:29 ` Philipp Gesang @ 2011-03-24 17:30 ` Marco 2011-03-24 18:35 ` Hans Hagen 1 sibling, 1 reply; 23+ messages in thread From: Marco @ 2011-03-24 17:30 UTC (permalink / raw) To: ntg-context On 2011-03-24 Cecil Westerhof <cldwesterhof@gmail.com> wrote: > \def\dogetdate[#1]% > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} ^^^^^^^ Try \ctxlua … Marco ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:30 ` Marco @ 2011-03-24 18:35 ` Hans Hagen 0 siblings, 0 replies; 23+ messages in thread From: Hans Hagen @ 2011-03-24 18:35 UTC (permalink / raw) To: mailing list for ConTeXt users; +Cc: Marco On 24-3-2011 6:30, Marco wrote: > On 2011-03-24 Cecil Westerhof<cldwesterhof@gmail.com> wrote: > >> \def\dogetdate[#1]% >> {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > ^^^^^^^ > Try \ctxlua … or \cldcontext{modification_date("\jobname.tex", "#1")} but ... is it clever to define modification_date in the global lua table? just calling lfs.attributes is just as efficient Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 16:33 ` Wolfgang Schuster 2011-03-24 17:15 ` Cecil Westerhof @ 2011-03-24 17:42 ` Florian Wobbe 2011-03-24 17:47 ` Aditya Mahajan 1 sibling, 1 reply; 23+ messages in thread From: Florian Wobbe @ 2011-03-24 17:42 UTC (permalink / raw) To: mailing list for ConTeXt users > \def\getdate > {\dosingleempty\dogetdate} > > \def\dogetdate[#1]% > {\ctalua{context(modification_date("\jobname.tex", "#1"))}} How would you automatically find out the filename which the macro is called from? For instance if the file with the macro is included in a master document. Florian ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:42 ` Florian Wobbe @ 2011-03-24 17:47 ` Aditya Mahajan 2011-03-24 17:59 ` Florian Wobbe 0 siblings, 1 reply; 23+ messages in thread From: Aditya Mahajan @ 2011-03-24 17:47 UTC (permalink / raw) To: mailing list for ConTeXt users On Thu, 24 Mar 2011, Florian Wobbe wrote: >> \def\getdate >> {\dosingleempty\dogetdate} >> >> \def\dogetdate[#1]% >> {\ctalua{context(modification_date("\jobname.tex", "#1"))}} > > How would you automatically find out the filename which the macro is called from? For instance if the file with the macro is included in a master document. \inputfilename So, if you want the name of the file in which this macro is defined in, then something like this should work: \edef\thisfilename{\inputfilename} \def.....{...."\thisfilename.tex", ...} Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:47 ` Aditya Mahajan @ 2011-03-24 17:59 ` Florian Wobbe 2011-03-24 20:49 ` Aditya Mahajan 0 siblings, 1 reply; 23+ messages in thread From: Florian Wobbe @ 2011-03-24 17:59 UTC (permalink / raw) To: mailing list for ConTeXt users >> How would you automatically find out the filename which the macro is called from? For instance if the file with the macro is included in a master document. > > \inputfilename > > So, if you want the name of the file in which this macro is defined in, then something like this should work: > > \edef\thisfilename{\inputfilename} > > \def.....{...."\thisfilename.tex", ...} Thanks, nice! I suppose the filename is also directly reachable from inside \startluacode ... \stopluacode. How? Florian ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 17:59 ` Florian Wobbe @ 2011-03-24 20:49 ` Aditya Mahajan 2011-03-24 21:43 ` Florian Wobbe 0 siblings, 1 reply; 23+ messages in thread From: Aditya Mahajan @ 2011-03-24 20:49 UTC (permalink / raw) To: mailing list for ConTeXt users On Thu, 24 Mar 2011, Florian Wobbe wrote: >>> How would you automatically find out the filename which the macro is called from? For instance if the file with the macro is included in a master document. >> >> \inputfilename >> >> So, if you want the name of the file in which this macro is defined in, then something like this should work: >> >> \edef\thisfilename{\inputfilename} >> >> \def.....{...."\thisfilename.tex", ...} > > Thanks, nice! I suppose the filename is also directly reachable from > inside \startluacode ... \stopluacode. How? \start-stop luacode expands its contents. So, the following should work (untested) \startluacode thisfilename = "\thisfilename.tex" \stopluacode Aditya ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: Use date of the tex file in the document 2011-03-24 20:49 ` Aditya Mahajan @ 2011-03-24 21:43 ` Florian Wobbe 0 siblings, 0 replies; 23+ messages in thread From: Florian Wobbe @ 2011-03-24 21:43 UTC (permalink / raw) To: mailing list for ConTeXt users >> Thanks, nice! I suppose the filename is also directly reachable from inside \startluacode ... \stopluacode. How? > > \start-stop luacode expands its contents. So, the following should work (untested) > > \startluacode > thisfilename = "\thisfilename.tex" > \stopluacode No, that is not what I meant. I thought why do the detour when the filename is available from the environment of the lua core. I just found it: \inputfilename is defined as \ctxsprint{environment.inputfilename} Florian ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://tex.aanhet.net archive : http://foundry.supelec.fr/projects/contextrev/ wiki : http://contextgarden.net ___________________________________________________________________________________ ^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2011-03-25 0:33 UTC | newest] Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-03-24 9:26 Use date of the tex file in the document Cecil Westerhof 2011-03-24 10:22 ` Philipp Gesang 2011-03-24 10:56 ` Cecil Westerhof 2011-03-24 11:00 ` Marco 2011-03-24 16:09 ` Cecil Westerhof 2011-03-24 16:12 ` Aditya Mahajan 2011-03-24 16:29 ` Cecil Westerhof 2011-03-24 16:33 ` Wolfgang Schuster 2011-03-24 17:15 ` Cecil Westerhof 2011-03-24 17:29 ` Philipp Gesang 2011-03-24 17:42 ` Cecil Westerhof 2011-03-24 17:50 ` Philipp Gesang 2011-03-24 20:41 ` Cecil Westerhof 2011-03-24 23:08 ` Cecil Westerhof 2011-03-24 23:30 ` Hans Hagen 2011-03-25 0:33 ` Philipp Gesang 2011-03-24 17:30 ` Marco 2011-03-24 18:35 ` Hans Hagen 2011-03-24 17:42 ` Florian Wobbe 2011-03-24 17:47 ` Aditya Mahajan 2011-03-24 17:59 ` Florian Wobbe 2011-03-24 20:49 ` Aditya Mahajan 2011-03-24 21:43 ` Florian Wobbe
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).