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?
- 576 megtekintés
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.
- A hozzászóláshoz be kell jelentkezni
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
- A hozzászóláshoz be kell jelentkezni
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.
- A hozzászóláshoz be kell jelentkezni