Newenvironment con argomenti nella chiusura

  • Creatore
    Topic
  • #6379
    Up
    0
    Down
    ::


    Devo creare un environment in cui sono utilizzati due parametri. Mi sono accorto che se metto uno dei due parametri nella parte di chiusura dell’environment ottengo errore. Un esempio è `\newenvironment{margins}[2]
    {
    \begin{list}{} {
    \setlength{\leftmargin}{#1} \setlength{\rightmargin}{#2} } \item }
    {#1\end{list}}`
    da usarsi come
    `\begin{margins}{0.5cm}{1cm}
    But please note that this paragraph has custom margins. But please
    note that this paragraph has custom margins.But please note that this
    paragraph has custom margins.But please note that this paragraph has
    custom margins.vBut please note that this paragraph has custom
    margins.But please note that this paragraph has custom margins.But
    please note that this paragraph has custom margins.But please note
    that this paragraph has custom margins.But please note that this
    paragraph has custom margins.
    \end{margins}`
    Non funziona ma se si toglie il parametro dalla chiusura, ovvero`\newenvironment{margins}[2]
    {
    \begin{list}{} {
    \setlength{\leftmargin}{#1} \setlength{\rightmargin}{#2} } \item }
    {\end{list}}`
    tutto funziona. Come posso fare?

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #6380
      Up
      0
      Down
      ::

      Devo creare un environment in cui sono utilizzati due parametri. Mi sono accorto che se metto uno dei due parametri nella parte di chiusura dell’environment ottengo errore. Un esempio è `\newenvironment{margins}[2]
      {
      \begin{list}{} {
      \setlength{\leftmargin}{#1} \setlength{\rightmargin}{#2} } \item }
      {#1\end{list}}`…
      Come posso fare?

      Problema ben noto 😀
      Soluzione anche: definisci una macro che contiene il parametro e la usi nel secondo argomento.
      `\newcommand{\marginsarg}{}
      \newenvironment{margins}[2]
      {\renewcommand{\marginsarg}{#1}%
      \begin{list}{} {
      \setlength{\leftmargin}{#1} \setlength{\rightmargin}{#2} } \item }
      {\marginsarg\end{list}}`
      Ciao
      Enrico

    • #6381
      Up
      0
      Down
      ::


      Funziona alla perfezione! Grazie.

Visualizzazione 1 filone di risposte
  • Devi essere connesso per rispondere a questo topic.

Go to top