franen” post=71365Ciao, nei ritagli di tempo sto provando a scrivere il codice del pacchetto. Con \@namedef e \@nameuse si riesce a importare il testo, strutturando adeguatamente il file sorgente. Ho però un problema con delle spaziature eccessive che nascono se uso il comando più volte, in serie, e non capisco da dove vengano. Riporto emc.
File da compilare:
`\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[italian]{babel}
\newcount\versetto
\newcount\vermax
\makeatletter
\newcommand{\branobibbia}[4]{%4 argomenti: libro, capitolo, versetto iniziale e versetto finale.
\makeatletter
\input{#1#2.tex}%
\makeatother
\versetto=#3
\vermax=#4\advance\vermax\@ne
\@whilenum\versetto<\vermax\do{% \@nameuse{\the\versetto}% \advance\versetto\@ne}% } \makeatother \begin{document} \branobibbia{Gn}{1}{1}{3} \branobibbia{Gn}{1}{1}{1}\branobibbia{Gn}{1}{2}{2}\branobibbia{Gn}{1}{3}{3} \end{document}` File Gn1.tex: `\@namedef{1}{Lorem ipsum dolor sit amet, consectetur adipiscing elit. }\@namedef{2}{Ut ut neque purus, ut ornare augue. Cras vitae ipsum enim, vitae venenatis justo. }\@namedef{3}{Donec condimentum est a metus iaculis tincidunt. Nullam felis augue, ultricies in auctor sed, euismod ut eros. Cras vel purus sit amet elit luctus blandit eget eget tellus. Donec ultricies risus a sapien lacinia dignissim nec sit amet massa. }` (ho scelto di creare un comando con 4 argomenti perché non sapevo come manipolare una stringa tipo "Gn1,1-10" per separare nome del libro, capitolo, versetto iniziale e finale). Avete suggerimenti? Grazie. Francesco
Il problema è che viene letto uno spazio alla fine di Gn1.tex (dopo la graffa). Scrivi:
`\@namedef{1}{Lorem … elit. }%
\@namedef{2}{Ut … justo. }%
\@namedef{3}{Donec … massa.
}%`
(nota il % alla fine, che è quello che conta; gli altri possono aiutare la leggibilità).
Domanda agli esperti: perché avviene ciò?
Edit: più ci penso e più è strano! Dopo la parentesi graffa non c’è alcun carattere nel file (né newline né niente). Mi vien da pensare che viene “letto” anche l’EOF come fosse un carattere e ingurgitato da TeX… 😯 😕
Ciao,
Antonio