Chi aggiunge un comando indesiderato ad una macro?

  • Creatore
    Topic
  • #76903
    OldClaudio
    Partecipante
      Up
      0
      Down
      ::


      Uso la classe scrbook, includo hyperref e diversi altri pavvhetti che sembrano tutti “innocenti>
      Ridefinico il comando \section per avere un tipo di titolo dei paragrafi che si imponga un po’ meno; ridefinisco quindi`\renewcommand\section{\@startsection{section}{1}{\z@}%
      {-\abovesectionskip}%
      {\belowsectionskip}%
      {\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
      \setlength{\parfillskip}{\z@ plus 1fil}\fi
      \raggedsection\normalfont\sectfont\nobreak\normalsize}%
      }`
      Eseguo una comilazione e noto comportamanti strano nel rapporto fra oggetti mobilii e sezionamenti. Inserico nel main file [tt]\show\section[/tt] dopo la chiamata del mio pacchetto che ridefinisce \section ma dentro il preambolo e otttengo`> \section=\long macro:
      ->\@startsection {section}{1}{\z@ }{-\abovesectionskip }{\belowsectionskip }{\i
      fnum \scr@compatibility >\@nameuse {scr@v@2.96}\relax \setlength {\parfillskip
      }{\z@ plus 1fil}\fi \raggedsection \normalfont \sectfont \nobreak \normalsize }
      .
      l.4 \show\section`
      cioè esattamante la mia deifnizione.

      Metto un altro [tt]\show\section[/tt] esattamante dopo [tt]\begin{document}[/tt] e mi viene:`> \section=\long macro:
      ->\@fb@secFB \@startsection {section}{1}{\z@ }{-\abovesectionskip }{\belowsecti
      onskip }{\ifnum \scr@compatibility >\@nameuse {scr@v@2.96}\relax \setlength {\p
      arfillskip }{\z@ plus 1fil}\fi \raggedsection \normalfont \sectfont \nobreak \n
      ormalsize }.
      l.28 \show\section`

      Come si vede all’inizio della definizione è spuntato un comando [tt]\@fb@secFB[/tt] che non ha la più vaga idea da dove arrivi, di chi ce l’abbia messo. esso inserisce una barriera per glo oggetti mobili, ma non sono riuscito a trovare la stringa @fb@secFB da nessuna aprte nel mio intero disco (se non, appunto, nel mio file .aux), nemmeno scorciando la stringa a secFB. Non risco a trovare il file maledetto che estende (almeno per la composizione in due colonne) il signficato delle macro introducendo una \FloatBarrier.

      :a mia soluzione artigianale è di rendere \@fb@secFB equivalente a \relax, ma evidentemente, sebbene questo tacon funzioni perfettamente, si tratta pur sempre di un tacon, Se riuscissi a sapere chie è il responsabile di questa agiunta, probabilmente riuscirei a comportarmi in modo più intelligente. Non vorrei che fosse uno degli inecifrabile file l3… che ora vengono caricati in automatico e che sono in grado di fare questi scherzetti, senonché non ho trovato nell’intero disco nessun file che contenga qquella stringa o frazioni di quella stringa.

    Visualizzazione 5 filoni di risposte
    • Autore
      Risposte
      • #76904
        Up
        0
        Down
        ::


        Questo è l’inizio di [tt]placeins.sty[/tt]
        `\@ifundefined{DeclareOption}{}%
        {\DeclareOption{below}{\def\@fb@botlist{}}
        \DeclareOption{above}{\def\@fb@topbarrier{}}
        \DeclareOption{section}{\AtBeginDocument{%
        \expandafter\renewcommand\expandafter\section\expandafter
        {\expandafter\@fb@secFB\section}%
        \newcommand\@fb@secFB{\FloatBarrier
        \gdef\@fb@afterHHook{\@fb@topbarrier \gdef\@fb@afterHHook{}}}
        \g@addto@macro\@afterheading{\@fb@afterHHook}
        \gdef\@fb@afterHHook{}
        }}
        \DeclareOption{verbose}{\catcode`\V=9 }% Activate things after `V'
        \ProvidesPackage{placeins}[2005/04/18 \space v 2.2]
        \ProcessOptions
        } % end of \@ifundefined`
        Quindi la ridefinizione è opera di [tt]\usepackage[section]{placeins}[/tt]

        Ciao
        Enrico

      • #76905
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Grazie Enrico, ero sicuro che tu saresti riuscito a trovare chi è che fa che cosa. In effetti la classe da cui sono partito già caricava placeins. ma visto che non vi avevo mai fatto affidamento, me ne ero completamente scordato.

          Per altro perché Finder non permette di ritrovare la stringa @fb@secFB, nemmeno la stringa ridotta secFB, da nessuna parte?
          Capisco che sia una domanda inutile, eppure l’applicativo del MAc che esegue queste ricerche sembra trovare tutto, anche dentro le cartelle di TeX Live. Oppure sono io che ho creduto che questo fosse vero, mentre invece quelle cartelle sono escluse dall’indicizzazione dei loro contenuti?

        • #76906
          Up
          0
          Down
          ::

          OldClaudio” post=76082Grazie Enrico, ero sicuro che tu saresti riuscito a trovare chi è che fa che cosa. In effetti la classe da cui sono partito già caricava placeins. ma visto che non vi avevo mai fatto affidamento, me ne ero completamente scordato.

          Per altro perché Finder non permette di ritrovare la stringa @fb@secFB, nemmeno la stringa ridotta secFB, da nessuna parte?
          Capisco che sia una domanda inutile, eppure l’applicativo del MAc che esegue queste ricerche sembra trovare tutto, anche dentro le cartelle di TeX Live. Oppure sono io che ho creduto che questo fosse vero, mentre invece quelle cartelle sono escluse dall’indicizzazione dei loro contenuti?

          Spotlight non indicizza tutto. In particolare non indicizza ciò che c’è sotto [tt]/usr[/tt], che io sappia.

          Meglio fare dalla linea di comando con [tt]grep[/tt] o simili.

          Ciao
          Enrico

        • #76907
          OldClaudio
          Partecipante
            Up
            0
            Down
            ::


            È quello che temevo. Finora o usato poco grep da sentirmi in grado di usarlo al meglio. Mi impratichirò.
            Grazie
            Claudio

          • #76908
            Up
            0
            Down
            ::

            OldClaudio” post=76087È quello che temevo. Finora o usato poco grep da sentirmi in grado di usarlo al meglio. Mi impratichirò.
            Grazie
            Claudio

            Non è certo una guida completa a grep ma per l’uso essenziale va più che bene: http://www.pluto.it/files/ildp/guide/abs/textproc.html#GREPREF

          • #76909
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Grazie anche a te, @Elrond, è molto gentile da parte tua darmi questo aiuto.

          Visualizzazione 5 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.

          Go to top