2

I am getting this error and i do not know why, i need to know what it is to be able to work around it.

i have this latex document which has a place holder to take a month and when i am feeding it a month from the terminal it is screaming at me with this error:

c_sys_month_int

also saying ! Missing number, treated as zero.

the field is just a normal renewcommand{\month}{\Month}

in summary what is c_sys_month_int and does it expect a certain formate.

PS when i hardcore the month name into the tex file before compiling, ie renewcommand{\month}{March} or renewcommand{\month}{5} i get no error in compiling. so why if i feed it the value from terminal it does not work, moreover the document has about 7 other input values being taken from the terminal with no problem.

i have also noticed that i can use batchmode but it will only accept digits for the month and not the word like march may or june. i am also having this error from time to time: Package inputenc Warning: inputenc package ignored with utf8 based engines.

  • You should post an MWE, so we can see the errant code. Otherwise, it'll be hard to help you. – A Gold Man Oct 14 '17 at 19:23
  • unfortunately, the code is not with me, i can only send the request to the server to print me a pdf, i just want to know what is c_sys_month_int, and ill try to give it the input it is expecting, since it saturday, if i want the code ill have to wait till monday – Hazo Oct 14 '17 at 19:27
  • Have you tried using a number to represent the month? The _int part implies that it expects a number. As does the error message – A Gold Man Oct 14 '17 at 19:28
  • yes i tried it says: ! You can't use `the character 5' after \the. \month – Hazo Oct 14 '17 at 19:29
  • If you put \global\errorcontextlines\maxdimen in your document and post the full error message, it may help us. – A Gold Man Oct 14 '17 at 19:42
5

One can trigger the error with for example

\documentclass{article}
\newcommand{\Month}{October}
\renewcommand{\month}{\Month}
\usepackage{expl3}
\begin{document}
\end{document}

The error arises as \c_sys_month_int is where expl3 (the LaTeX3 programming layer) stores a copy of the month from the \month primitive. As this is a primitive (part of TeX itself), expl3 (and many other packages) expect it take be a particular form: an integer in the range [1,12]. Redefining it is not a good idea: if you want to localise the output for e.g. \today, look at appropriate packages.

| improve this answer | |
  • so in other words, \month is a reserved variable to that pacakge and if i want to feed it from terminal with custom values that i want it should have another name so that it does not use its package ?> – Hazo Oct 14 '17 at 19:54
  • @Hazo you could write a wrapper, which takes the month's name you want and returns its number. – Skillmon likes topanswers.xyz Oct 14 '17 at 19:56
  • @Hazo Well nothing in TeX is 'reserved' but it's a bad idea to alter such things. – Joseph Wright Oct 14 '17 at 19:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.