_Anna_” post=71823Buongiorno a tutti.
Sto preparando un’edizione critica con ledmac, e ora ho la necessità di numerare i paragrafi con \numberpstarttrue (e \numberpstartfalse).Ho copiato il codice che trovo nel manuale di Wilson (nella versione che ho io è alle righe 723-748) e ho dato il comando \numberpstarttrue dopo \beginnumbering, e \numberpstartfalse prima di \endnumbering. Nel mio testo critico, ogni paragrafo comincia regolarmente con \pstart e termina con \pend (non uso \autopar, mi trovo bene ad aprire e chiudere i paragrafi in modo più “evidente”).
Quando vado a compilare, però (io compilo con LaTeX in un file DVI, e uso come editor Kile), ricevo la segnalazione di errore “Command \pstart already defined”! Vi copio tutto il mio preambolo per maggior completezza:
`
\documentclass[a4paper,12pt]{book}
\usepackage{ulem}
\usepackage{ledmac}
\usepackage[utf8x]{inputenc}
\usepackage[polutonikogreek,latin,italian]{babel}
\usepackage{pxfonts}
\usepackage{marvosym}
\usepackage{lettrine}
\usepackage{fancyhdr}
\usepackage{rotating}
\usepackage{booktabs}
\usepackage{tipx}\pagestyle{fancy}
\addtolength{\headheight}{\baselineskip}% i comandi seguenti impediscono la scrittura in maiuscolo
% dei nomi dei capitoli e dei paragrafi nelle intestazioni
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}\renewcommand{\today}{\longdate}
\newcommand{\greek}[1]{{\greektext #1}}
\let\Anote=\Afootnote
\let\Bnote=\Bfootnote
\let\Cnote=\Cfootnote\footparagraph{A}
\footparagraph{B}
\footparagraph{C}% QUI È IL PROBLEMA: ecco il tentativo di numerare i paragrafi (con numeri romani)
\newcounter{pstart}
\renewcommand{\thepstart}{{\bfseries\@Roman\c@pstart}.}
\newif\ifnumberpstart
\numberpstartfalse
\newcommand*{\pstart}{
\managehangingsymbol
\if@nobreak
\let\@oldnobreak\@nobreaktrue
\else
\let\@oldnobreak\@nobreakfalse
\fi
\@nobreaktrue
\ifnumbering \else
\led@err@PstartNotNumbered
\beginnumbering
\fi
\ifnumberedpar@
\led@err@PstartInPstart
\pend
\fi
\list@clear{\inserts@list}%
\global\let\next@insert=\empty
\begingroup\normal@pars
\global\setbox\raw@text=\vbox\bgroup\ifautopar\else\ifnumberpstart\ifinstanza\else\thepstart\fi\fi\
\numberedpar@true}% quello che segue è per far sì che l'apparato di varianti non significative sia riportato solo con l'indicazione di riga e non di pagina.
\renewcommand{\notenumfont}{\bfseries}
\renewcommand*{\printnpnum}[1]{\relax}% quello che segue è per eliminare ] da Anote, Bnote e Cnote nel caso in cui segua \textit{om.}, \textit{add.}, \textit{del.}, \textit{exp.} o altre annotazioni “discorsive''.
\makeatletter
\renewcommand{\Afootfmt}[3]{%
\ledsetnormalparstuff
{\notenumfont\printlines#1|}\strut\enspace
{\select@lemmafont#1|#2\rbracket}\enskip#3\strut\par}\renewcommand{\Bfootfmt}[3]{%
\ledsetnormalparstuff
{\notenumfont\printlines#1|}\strut\enspace
{\select@lemmafont#1|#2\rbracket}\enskip#3\strut\par}\renewcommand{\Cfootfmt}[3]{%
\ledsetnormalparstuff
{\notenumfont\printlines#1|}\strut\enspace
{\select@lemmafont#1|#2\rbracket}\enskip#3\strut\par}\newcommand*{\nobrak}{}
\newcommand{\abb}[1]{#1\let\rbracket\nobrak\relax}\newcommand{\morenoexpands}{%
\let\abb=0%
}
\makeatother
`Cosa sto sbagliando? Un dubbio che ho è che vada inserito anche il codice che nel manuale di Wilson si trova alle righe 749-757, ovvero:
`
\newcommand*{\pend}{\ifnumbering \else
\led@err@PendNotNumbered
\fi
\ifnumberedpar@ \else
\led@err@PendNoPstart
\fi
\ifnumberpstart
\addtocounter{pstart}{1}
\fi
`Inserendo questo, però, ottengo un secondo errore (oltre a quello di prima): “File ended while scanning use of @argdef”.
Poiché il primo errore è relativo a un comando “already defined”, ho provato a modicare
`\newcommand*{\pstart}{ ` in `\renewcommand*{\pstart}{ `, con risultati disastrosi (non riconosce più le sequenze \pstart e \pend)…È evidente che mi sta sfuggendo qualcosa, ma da sola non ci arrivo… qualcuno può darmi un suggerimento? 💡
Vi ringrazio (e scusate la lunghezza),
Anna
Hai letto questo?
Ciao.
R.