Newsgroup: it.comp.software.tex
Titolo: Posizione stabile in una riga

Approfitto della cortesia dei componenti il newsgroup: avevo posto questa
domanda in un newsgroup specializzato ma non ho avuto risposta.
Si tratta di questo. Usando il package ledmac, vorrei ottenere, anziché
questo tipo di output che normalmente ottiene ledmac (rappresento con '-'
gli spazi bianchi):
1 deus] dominus BA dixit] dicebat K
2 omnes] quidam G et] etiam A
1 deus] dominus BA dixit] dicebat K
2 omnes] quidam G et] etiam A
questo tipo di risultato:
5.----1 deus] dominus BA dixit] dicebat K
------2 omnes] quidam G et] etiam A
6.----1 deus] dominus BA dixit] dicebat K
------2 omnes] quidam G et] etiam A
ove '5' e '6' sono per esempio versetti biblici o di altri testi numerati
per capitoli; '1' e '2' sono i versetti (sempre per restare nel gergo
biblico). Intervenendo sul codice del package, riesco a ottenere il rientro
a destra in posizione fissa, inserendo una lunghezza fissa: il frammento di
codice da me modificato risulta:
\begingroup \hspace{5mm} \printlines#1|\endgroup
così ottengo perfettamente le righe di tipo:
------2 omnes] quidam G et] etiam A
Problema: come faccio a dire a LaTeX, quando c'è un contatore del tipo '5'
o '6' dell'esempio su, di posizionare l'inizio del testo in questo caso a
5mm *meno lo spazio occupato dal numero?* Oppure: dire a LaTeX di far
iniziare \printlines#1 sempre nella stessa posizione, come se fosse un
tabulatore: 
5.----1 deus] dominus BA dixit] dicebat K
------2 omnes] quidam G et] etiam A
come si vede l'inizio della note deve essere allo stesso posto nella riga,
che ci sia o no un numeratore di capitolo. Ho pensato a mettere il numero
di capitolo in tutte le righe con colore "bianco" dove voglio che non si
veda, ma mi pare una vera schifezza (lo feci 12 anni fa quando usavo
Ventura Publisher...).
Non posso usare un environment tipo tabular, perché le note generate da
ledmac sono piuttosto delicate.
Grazie per l'attenzione!
guido
-- 
http://docenti.unicatt.it/milanese_guido
 
http://www.arsantiqua.org

 scrive:

Dovresti mettere i numeri spostati all'indietro di 5mm:
\hbox to 0pt{\hskip-5mm\rlap{1.}\hskip5mm}
La hbox non occupa spazio, ma contiene uno spostamento all'indietro
di 5mm, il numero che non occupa spazio e lo spostamento in avanti per 
far quadrare i conti per la dimensione della \hbox.
Adesso devi solo mettere il tutto nella macro che gestisce la comparsa
del numero. Occhio che se \printlines non attiva il modo orizzontale,
devi aggiungere un \leavevmode davanti a \hbox.
Ciao
Enrico

 \hbox to 0pt{\hskip-5mm\rlap{1.}\hskip5mm}
Grazie per la gentilezza. Tuttavia (starò sicuramente sbagliando qualcosa)
il numero risulta fuori dal margine sinistro. Va tutto bene invece se
correggo in questo modo:
\hbox to 0pt{\hskip-5mm\hskip5mm\rlap{1.}}
Giusto per caso? Vedo che a un certo livello di complessità bisogna
studiarsi proprio il TeX, non basta LaTeX. Aspetto l'estate (ora ho troppi
corsi da preparare).
Chiederei alla competenza tua e degli altri colleghi un ulteriore aiuto.
Sempre in quel package che sto stressando (ledmac) si usa "rbracket"
(carattere ']') come separatore tra il testo e la variante in apparato. Per
ridefinirlo, annullandone l'effetto, basta \renewcommand{\rbracket}{}.
Tuttavia in un set di note questo non ha effetto. Ho anche usato
\newcommand{\nobrak}{}
\let\rbracket\nobrak
senza risultato. Dove può essere l'inghippo?
Grazie!


 Tuttavia in un set di note questo non ha effetto. 
[eccetera]
Risolto. Forse per una distrazione dell'autore del package in un frammento
anziché 'rbracket' era scritto direttamente ']', quindi ovviamente non
ridefinivo proprio niente. Corretto!


 corsi da preparare).
I pacchetti come ledmac sono assai complicati e certi trucchi di
programmazione TeX (a basso livello) a volte sono necessari.
Ciao
Enrico

 Qual è la definizione di \printinline?
Printlines è definito così (righe 1246 seguenti):
\def\printlines#1|#2|#3|#4|#5|#6|#7|{\begingroup
  \setprintlines{#1}{#2}{#3}{#4}{#5}{#6}%
  \ifl@d@pnum #1\fullstop\fi
  \ifledplinenum \linenumrep{#2}\else \symplinenum\fi
  \ifl@d@ssub \fullstop \sublinenumrep{#3}\fi
  \ifl@d@dash \endashchar\fi
  \ifl@d@pnum #4\fullstop\fi
  \ifl@d@elin \linenumrep{#5}\fi
  \ifl@d@esl \ifl@d@elin \fullstop\fi \sublinenumrep{#6}\fi
\endgroup}
Potrei intervenire direttamente qui per ridefinire tutto il comportamento di
printlines, inserendo un \rlap{numero} di default? Ho provato a ridefinire
questa sezione:
\renewcommand*{\normalfootfmt}[3]{%
  \ledsetnormalparstuff
  {\notenumfont\printlines#1|}\strut\enspace
      {\select@lemmafont#1|#2}\rbracket\enskip#3\strut\par}
ma non ci sono riuscito. Mi sembrava che inserire \rlap{numero} prima di
\printlines potesse andare bene, ma non accade assolutamente nulla.
Ovviamente se si riesce a toccare questo comando sono a cavallo, perché
aumento il numero di argomenti da 3 a 4 e passo come quarto argomento il
numero che deve usare \rlap. 
grazie e ciao,


 ma non ci sono riuscito. 
Mentre facendo una copia del file originale, ridenominandolo ovviamente, e
intervenendo direttamente funziona tutto:
\newcommand*{\normalfootfmt}[3]{%
  \ledsetnormalparstuff
  {\notenumfont\leavevmode\hbox to
0pt{\rlap{1.}}\hskip5mm\printlines#1|}\strut\enspace
      {\select@lemmafont#1|#2}\rbracket\enskip#3\strut\par}
Perché non riesco a ridefinirlo non lo capisco proprio!
g


 scrive:

Occorrerebbe anche un esempio d'uso, soprattutto in relazione allo 
spazio che aggiungi all'inizio. Altrimenti non posso fare prove.
Ciao
Enrico

 spazio che aggiungi all'inizio. Altrimenti non posso fare prove.
Grazie ancora. Hai visto il mio post che si è incrociato con il tuo? Ora va
tutto benissimo, mi resta solo il dubbio del perché io non riesca a
ridefinire ma solo a toccare il file sty originale.


 ridefinire ma solo a toccare il file sty originale.
Il problema è, credo, che i comandi \Afootfmt, \Bfootfmt e così via
(non so che facciano di preciso, ma immagino servano poi per i vari
apparati di note) sono definiti in termini di \normalfootfmt già in
ledmac.sty e quindi ti trovi a malpartito (vedi alla riga 1275 di
ledmac.sty).
Se ridefinisci \normalfootfmt devi anche ridare
\footnormal{A} \footnormal{B} ... \footnormal{E}
Ciao
Enrico

 \footnormal{A} \footnormal{B}
Esattamente. Ora debbo cercare di convincerlo a fare quello che voglio io,
cioè a differenziare secondo i casi. Il problema è che le note vengono
elaborate alla fine di tutti il lavoro della pagina, così settare variabili
non ha effetto (vince l'ultima, per dire così). Mi ci rompo un po' la testa
e poi informo.
