\setuphead e \textrule

  • Creatore
    Topic
  • #48488
    Up
    0
    Down
    ::


    Ciao a tutti. Ho provato il seguente codice

    `
    \setuphead[section]
    [number=no,style=\tfb,
    textcommand=\MySectionCommand]

    \def\MySectionCommand#1%
    {\textrule[top]{#1}}`

    ma quando compilo..

    `! Use of \docomplexdoblank doesn't match its definition.
    \doifnextoptionalelse …\nextoptionalcommandyes {
    #1}\def \nextoptionalcomma…
    … {\@@sectie }{\v!section }\pagetype
    [\@@koppeling ]\rawreferen…

    \doifnothing #1->\edef \!!stringa {#1
    }\ifx \!!stringa \empty \expandafter \f…

    \docomplextextrule …dth \relax \doifnothing {#1}
    \firstargumentfalse \iffir…

    \next …nce ] \@@tlbefore \docomplextextrule {#1}
    \nowhitespace \@@tlinbetwe…
    …foneargument {Problema 1}\endstrut }
    \xdef \localheadheight {\t…

    l.39 \section{Problema 1}`

    Qualcuno sa come fare o come ottenere un effetto grafico simile.
    Grazie e ciao

    ES

Visualizzazione 2 filoni di risposte
  • Autore
    Risposte
    • #48489
      Up
      0
      Down
      ::


      Ecco la mia, valida per mkii. Il tuo codice è ok in mkiv, comunque.
      `

      \def\MySectionCommand#1%
      {\bgroup\setbox0=\hbox{#1}%
      \textrule{\box0}%
      \egroup}

      \setuphead[section]
      [number=no,style=\tfb,
      textcommand=\MySectionCommand
      ]

      \starttext
      \chapter{foo}
      \section{goo}
      hello
      \stoptext

      `
      E’ una traccia: se hai un testo che va su più righe ci sono problemi
      (ma allora anche \textrule non va bene)

    • #48490
      Up
      0
      Down
      ::


      Perfetto! Praticamnete bisogna memorizzare una hbox con il titolo e poi metterlo come argomento di textrule.
      Purtroppo non ne capisco il motivo…
      a dire la verit\`a neanche la coppia \bgroup \egroup me la spiego tanto..

      Vabbè menomale che c’è gente come te con la risposta sempre pronta 😀

    • #48491
      Up
      0
      Down
      ::

      Perfetto! Praticamnete bisogna memorizzare una hbox con il titolo e poi metterlo come argomento di textrule.
      Purtroppo non ne capisco il motivo…

      Neppure io, nel senso che dovrei leggere il codice che implementa textrule. Ho visto il messaggio di errore
      sono andato un po’ a naso.

      a dire la verit\`a neanche la coppia \bgroup \egroup me la spiego tanto..

      Serve a proteggere il box0. Ci sono altri modi più puliti, e.g. usando \newbox
      e/o la coppia \unprotect … \protect

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

Go to top