\emitdate

Fórumok

Sziasztok.

Meggyűlt a bajom a magyar babelben lévő \emitdate csomagkával'.
Ez dátumokat ír ki oly módon, hogy meghatározhatom, miként tegye azt. Speciálisan a magyar csomagba került be, ha jól olvastam.

Számokkal indítva csodálatos, de ha a számokat másképp adom meg neki, borzalmat generál, le sem fordítódik' vala.
A dolog lényege az, hogy nálam a dátumot a fájlnév adja meg, mivel több száz hasonló fájlom van, amiben fontos a dátum. Ha ezt betolom az \emitdate mögé, a fordítás leáll, én meg a hajamat tépem. Nem értem az okot -- de még van hajam. Ez már mély víz, de élvezetes.


# cat 2018-11-15.tex 
\documentclass{book}
\usepackage[russian,serbian,greek,english,magyar]{babel} %az emitdate a magyar csomagban van
\usepackage{currfile}
\usepackage{xparse}
\usepackage{xstring}

\ExplSyntaxOn
\NewDocumentCommand{\shortcut}{O{,}m} % ez érdekes a vesszővel, nemtommiezitt
 {
  \ailurus_make:nn {#1} {#2}
 }

\cs_new_protected:Npn \ailurus_make:nn #1 #2
 {
  \seq_set_split:Nnn \l_ailurus_args_seq { #1 } { #2 }
  \seq_pop_left:NN \l_ailurus_args_seq \l_ailurus_temp_tl
  \textbf { \l_ailurus_temp_tl }
  \seq_map_inline:Nn \l_ailurus_args_seq { { ##1 } } % itt tortenik a levagas
 }

\seq_new:N \l_ailurus_args_seq
\tl_new:N \l_ailurus_temp_tl
\ExplSyntaxOff{}

\newcommand\ev{\StrLeft{\currfilename}{4}}  % első 4 karakter
\newcommand\ho{\StrMid{\currfilename}{6}{7}}  % 2 karakter
\newcommand\nap{\StrMid{\currfilename}{9}{10}}  % 2 karakter
\newcommand\datum{\StrGobbleRight{\currfilename}{4}}  % utolso 4 karakter levágása
\newcommand\fejleckep{\StrGobbleRight{\currfilename}{4}.eps}  % utolso 4 karakter levágása


\begin{document}

%filename: \currfilename

%teszt: \shortcut[-4]{\currfilename}

%ev: \ev

%ho: \ho

%nap: \nap

\datum   %% ez ok

%\emitdate{b}{\ev}{\ho}{\nap}  %% EZ NEM MEGY, ennek kéne mennie, denemmegy

Ez símán lefut: \emitdate{b}{1848}{03}{15}

\fejleckep   %% ez is ok, ez beránt majd egy képet, melynek neve értelemszerű

\end{document}

Szóval a kérdés:
mi rakná helyre az \emitdate{b}{\ev}{\ho}{\nap} sort?

Hozzászólások

Érdekes módon az \includegraphics sem eszi meg, ha a képfájl nevét makróval adom meg, amiben szerepel a \currfilename makró.

Előfordulhat, hogy más makrók sem paraméterezhetők makróval? Eddig nem nagyon tűnt fel, hogy vannak ilyenek, de a jelek szerint vannak.

Debugképpen írasd ki a \ev \ho \nap értékét, hogy jól nyeri-e ki egyáltalán. Esetleg arra tudok még gondolni, hogy bár a TeX nem típusos, de mégis bezavar neki, hogy az adott makró számértéket vár (pl. \ho), de te egy string-gel eteted, amiben ugyan szám van, de nem numerikus értékként veszi be, hanem karakterhalmazként.

No keyboard detected... Press F1 to run the SETUP

Az a rengeteg % jel a sorok elején mind debugos sorok. Az \ev \ho \nap rendesen kiíródik, azzal nincs bajom. Csak nem lehet megetetni az \emitdate-val.

Egyébként én is erre gyanaxom, amit írsz, ez ellen nem tehetek semmit. Számot vár, de stringet kap. Mintha én dobostortát várnék, de spenótot kapnék.