Re: [NTG-context] Date with three-letter month
I have consulted the manuals and even the source (core-con.tex) but I cannot find a way of getting a three-letter month using the \date command. For example, I would like to display today's date as 23-Apr-08. This gives a short display suitable for use in a margin, but avoids the confusion of American (04-23-08) vs English (23-04-08) ordering when using numbers. Can anyone help?
These are available (sort of)
\currentdate[day,--,{\monthshort\normalmonth},--,year] % lowercase
or
\currentdate[day,--,{\MONTHSHORT\normalmonth},--,year] % uppercase
Best wishes, Taco
Thanks Taco. This does the job. All I need now is a version (\Monthshort ??) which puts the first letter in uppercase, Jan , Feb, etc. Thanks, Richard ________________ www.converteam.com Converteam UK Ltd. Registration Number: 5571739 and Converteam Ltd. Registration Number: 2416188 Registered in England and Wales. Registered office: Boughton Road, Rugby, Warwickshire, CV21 1BU. CONFIDENTIALITY : This e-mail and any attachments are confidential and may be privileged. If you are not a named recipient, please notify the sender immediately and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium. Please consider the environment before printing this e-mail
On Thu, 24 Apr 2008, richard.stephens@converteam.com wrote:
I have consulted the manuals and even the source (core-con.tex) but I cannot find a way of getting a three-letter month using the \date command. For example, I would like to display today's date as 23-Apr-08. This gives a short display suitable for use in a margin, but avoids the confusion of American (04-23-08) vs English (23-04-08) ordering when using numbers. Can anyone help?
These are available (sort of)
\currentdate[day,--,{\monthshort\normalmonth},--,year] % lowercase
or
\currentdate[day,--,{\MONTHSHORT\normalmonth},--,year] % uppercase
Best wishes, Taco
Thanks Taco. This does the job. All I need now is a version (\Monthshort ??) which puts the first letter in uppercase, Jan , Feb, etc.
See if this works (untested) \unprotect \setuplabeltext [\s!en] [\v!january :\s!mnem=Jan.] \setuplabeltext [\s!en] [\v!february :\s!mnem=Feb.] \setuplabeltext [\s!en] [\v!march :\s!mnem=Mar.] \setuplabeltext [\s!en] [\v!april :\s!mnem=Apr.] \setuplabeltext [\s!en] [\v!may :\s!mnem=May] \setuplabeltext [\s!en] [\v!june :\s!mnem=Jun.] \setuplabeltext [\s!en] [\v!july :\s!mnem=Jul.] \setuplabeltext [\s!en] [\v!august :\s!mnem=Aug.] \setuplabeltext [\s!en] [\v!september:\s!mnem=Sep.] \setuplabeltext [\s!en] [\v!october :\s!mnem=Oct.] \setuplabeltext [\s!en] [\v!november :\s!mnem=Nov.] \setuplabeltext [\s!en] [\v!december :\s!mnem=Dec.] \protect
On Thu, Apr 24 2008, richard.stephens@converteam.com wrote:
Thanks Taco. This does the job. All I need now is a version (\Monthshort ??) which puts the first letter in uppercase, Jan , Feb, etc.
% engine=luatex \startluacode function Monthshort(m) -- os.setlocale("fr_FR.utf8") -- just for testing... tex.print(os.date("%b", os.time({day = 10, month = m, year = 2000}))) os.setlocale("C") end \stopluacode \starttext \ctxlua{Monthshort(\the\normalmonth)} \stoptext Cheers, Peter -- http://pmrb.free.fr/contact/
Peter Münster wrote:
% engine=luatex \startluacode function Monthshort(m) -- os.setlocale("fr_FR.utf8") -- just for testing... tex.print(os.date("%b", os.time({day = 10, month = m, year = 2000}))) os.setlocale("C") end \stopluacode \starttext \ctxlua{Monthshort(\the\normalmonth)} \stoptext
beware with locales ... mkiv assumes no locale (basecilly kills it) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
On Thu, Apr 24 2008, Hans Hagen wrote:
Peter Münster wrote:
% engine=luatex \startluacode function Monthshort(m) -- os.setlocale("fr_FR.utf8") -- just for testing... tex.print(os.date("%b", os.time({day = 10, month = m, year = 2000}))) os.setlocale("C") end \stopluacode \starttext \ctxlua{Monthshort(\the\normalmonth)} \stoptext
beware with locales ... mkiv assumes no locale (basecilly kills it)
Indeed, I've already seen that: when setting the locale to fr_FR.utf8, without resetting it to C just after the tex.print(), then I get this error: !luaTeX error (file /opt/TeX-live/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf): Parsing CFF DICT failed. (error=-1) ==> Fatal error occurred, no output PDF file produced! (That's why I wrote "just for testing"...) Cheers, Peter -- http://pmrb.free.fr/contact/
Indeed, I've already seen that: when setting the locale to fr_FR.utf8, without resetting it to C just after the tex.print(), then I get this error: !luaTeX error (file /opt/TeX-live/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf): Parsing CFF DICT failed. (error=-1) ==> Fatal error occurred, no output PDF file produced!
Interesting :-) I suppose some of the strings are localized (like, decimal points being replaced by decimal commas). I already had that when writing a small script to output PDF by hand. To be precise, on Mac OS 10.5 I need “fr_FR.UTF-8” to reproduce this behaviour, not “fr_FR.utf8” which looks a bit suspicious. I have already heard that the French version of some mainstream Linux distribution (Ubuntu, I think) set locales to the absurd value “français”, which was a problem not only because it was absolutely not standard, but also because the system couldn't guess what encoding the ‘ç’ was in! Arthur
Arthur Reutenauer wrote:
Indeed, I've already seen that: when setting the locale to fr_FR.utf8, without resetting it to C just after the tex.print(), then I get this error: !luaTeX error (file /opt/TeX-live/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf): Parsing CFF DICT failed. (error=-1) ==> Fatal error occurred, no output PDF file produced!
Interesting :-) I suppose some of the strings are localized (like, decimal points being replaced by decimal commas). I already had that when writing a small script to output PDF by hand.
Just about all string-to|from-float C functions (like strtod, scanf, atof, printf) and even the string-to|from-integer ones (strtol, scanf), are automatically influenced by the locale. The same is true for all tests like isspace() and isalpha(). It is intended to be helpful, but as a programmer I simply hate it. Cheers, Taco
Taco Hoekwater wrote:
Arthur Reutenauer wrote:
Indeed, I've already seen that: when setting the locale to fr_FR.utf8, without resetting it to C just after the tex.print(), then I get this error: !luaTeX error (file /opt/TeX-live/texmf-dist/fonts/opentype/public/lm/lmroman12-regular.otf): Parsing CFF DICT failed. (error=-1) ==> Fatal error occurred, no output PDF file produced! Interesting :-) I suppose some of the strings are localized (like, decimal points being replaced by decimal commas). I already had that when writing a small script to output PDF by hand.
Just about all string-to|from-float C functions (like strtod, scanf, atof, printf) and even the string-to|from-integer ones (strtol, scanf), are automatically influenced by the locale. The same is true for all tests like isspace() and isalpha(). It is intended to be helpful, but as a programmer I simply hate it.
why not completely remove locatel then ... probably also faster btw, nilling the locale is done in mkiv: os.setlocale(nil,nil) -- useless feature and even dangerous in luatex one of the first lines of lua i wrote -) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
why not completely remove locatel then ... probably also faster
There would certainly be many reasons to do so ... if anything, because ConTeXt has its own “localization” system.
btw, nilling the locale is done in mkiv:
os.setlocale(nil,nil) -- useless feature and even dangerous in luatex
one of the first lines of lua i wrote -)
I trust you did ;-) Arthur
participants (6)
-
Aditya Mahajan
-
Arthur Reutenauer
-
Hans Hagen
-
Peter Münster
-
richard.stephens@converteam.com
-
Taco Hoekwater