Piccolo problemino con settowidth e makebox

  • Creatore
    Topic
  • #51129
    Up
    0
    Down
    ::


    Buongiorno a tutti,
    sono un niubbo di \LaTeX e ho un problemino:

    Mi piacerebbe fare un environment per le dimostrazioni che abbia un output come segue:

    `
    Dimostrazione:testo della dimostrazione blablabla
    seconda linea della dimostrazione.

    eventualmente anche con dei ritorni a capo.
    e pure qua mantiene l'indentazione iniziale

    `
    (spero si sia capito), tutto dovrebbe essere indentato tanto quanto la lunghezza di “Dimostrazione”. Per ora ho trovato questo modo:

    `\newenvironment{dimost}{\settowidth{\parindent}{Dimostrazione}\makebox[0pt][r]{\underline{Dimostrazione}:}}{}`

    Che però mi fa questo giochetto:

    `Dimostrazione: testo della dimostrazione blablabla
    seconda linea della dimostrazione.

    eventualmente anche con dei ritorni a capo.
    ma se anche il ritorno a capo non ci sta nella linea..`

    Insomma, all’inizio della riga va tutto bene, ma se il testo viene “spalmato” si più righe perché non ci sta nel margine destro, allora non obbedisce al comando.

    Come posso farea?

Visualizzazione 8 filoni di risposte
  • Autore
    Risposte
    • #51130
      Up
      0
      Down
      ::

      Buongiorno a tutti,
      sono un niubbo di \LaTeX e ho un problemino:

      Mi piacerebbe fare un environment per le dimostrazioni che fosse impaginato come segue:

      `
      Dimostrazione:testo della dimostrazione blablabla
      seconda linea della dimostrazione.

      eventualmente anche con dei ritorni a capo.
      e pure qua mantiene l'indentazione iniziale

      `
      (spero si sia capito), tutto dovrebbe essere indentato tanto quanto la lunghezza di “Dimostrazione”. Per ora ho trovato questo modo:

      `\newenvironment{dimost}{\settowidth{\parindent}{Dimostrazione}\makebox[0pt][r]{\underline{Dimostrazione}:}}{}`

      Che però mi fa questo giochetto:

      `Dimostrazione: testo della dimostrazione blablabla
      seconda linea della dimostrazione.

      eventualmente anche con dei ritorni a capo.
      ma se anche il ritorno a capo non ci sta nella linea..`

      Insomma, all’inizio della riga va tutto bene, ma se il testo viene “spalmato” si più righe perché non ci sta nel margine destro, allora non obbedisce al comando.

      Come posso farea?

      Prima di tutto devi evitare modi di presentazione palesemente sbagliati.

      Ciao
      Enrico

    • #51131
      Up
      0
      Down
      ::


      come puoi immaginare ho cercato di essere il più chiaro possibile.

      Purtroppo non c’è un ambiente verbatim su phpbb2 (anche se l’ambiente code è il suo corrispettivo), altrimenti avrei usato quello. come avresti scritto tu il tutto?

      Ps. a far così non è che si fa una gran figura con i nuovi arrivati (su wiki abbiamo una simpatica linea guida: http://it.wikipedia.org/wiki/Wikipedia:Non_mordete_i_nuovi_arrivati ) con un po’ di immaginazione il discorso si applica anche qua.

      saluti.

    • #51132
      Up
      0
      Down
      ::

      come puoi immaginare ho cercato di essere il più chiaro possibile.

      Purtroppo non c’è un ambiente verbatim su phpbb2 (anche se l’ambiente code è il suo corrispettivo), altrimenti avrei usato quello. come avresti scritto tu il tutto?

      Ps. a far così non è che si fa una gran figura con i nuovi arrivati (su wiki abbiamo una simpatica linea guida: http://it.wikipedia.org/wiki/Wikipedia:Non_mordete_i_nuovi_arrivati ) con un po’ di immaginazione il discorso si applica anche qua.

      Ho capito benissimo quello che vorresti: si tratta di una scelta tipograficamente inaccettabile. Siccome sei qui da maggio non sei un nuovo arrivato. 🙂

      Ciao
      Enrico

    • #51133
      Up
      0
      Down
      ::

      Ho capito benissimo quello che vorresti: si tratta di una scelta tipograficamente inaccettabile. Siccome sei qui da maggio non sei un nuovo arrivato. 🙂

      Ciao
      Enrico

      capisco il tuo POV, vorrei essere in grado tecnicamente di farlo…

    • #51134
      Up
      0
      Down
      ::

      Ho capito benissimo quello che vorresti: si tratta di una scelta tipograficamente inaccettabile. Siccome sei qui da maggio non sei un nuovo arrivato. 🙂

      Ciao
      Enrico

      capisco il tuo POV, vorrei essere in grado tecnicamente di farlo…

      `\newenvironment{dimo}
      {\settowidth{\leftmargini}{Dimostrazione: }%
      \begin{list}{}{}\item\relax
      \makebox[0pt][r]{\underline{Dimostrazione}: }\ignorespaces}
      {\end{list}}`
      Ora guarda il risultato, inorridisci e ricorri all’ambiente proof che mette a disposizione il pacchetto amsthm.

      Ciao
      Enrico

    • #51135
      Up
      0
      Down
      ::


      Grazie, a proposito, c’è una sorta di manuale di stile (ovvero non qualcosa di tecnico) che possa illuminarmi sull’arte tipografica, soprattutto per quel che riguarda testi matematici?

    • #51136
      Up
      0
      Down
      ::

      Grazie, a proposito, c’è una sorta di manuale di stile (ovvero non qualcosa di tecnico) che possa illuminarmi sull’arte tipografica, soprattutto per quel che riguarda testi matematici?

      Il TeXbook ha ottimi esempi per quanto riguarda la matematica; la realizzazione pratica con i comandi di LaTeX e amsmath è diversa, ma si impara molto.

      Ciao
      Enrico

    • #51137
      Up
      0
      Down
      ::


      perfetto.

      Ho un’altra domanda da farti: sbirciando come costruire le funzioni in maniera che fosse tipograficamente corretta, su questo forum ho notato che a qualcuno hai dato un consiglio con l’ambiente aligned. Io ho fatto con align*, qual’è la differenza sostanziale fra i due? Perché bisognerebbe usare uno piuttosto che l’altro?

      (per quanto ho capito align* riassume anche l’ambiente formula, mentre aligned non implica che si stia scrivendo roba matematica, right?)

    • #51138
      Up
      0
      Down
      ::

      perfetto.

      Ho un’altra domanda da farti: sbirciando come costruire le funzioni in maniera che fosse tipograficamente corretta, su questo forum ho notato che a qualcuno hai dato un consiglio con l’ambiente aligned. Io ho fatto con align*, qual’è la differenza sostanziale fra i due? Perché bisognerebbe usare uno piuttosto che l’altro?

      (per quanto ho capito align* riassume anche l’ambiente formula, mentre aligned non implica che si stia scrivendo roba matematica, right?)

      La differenza è che align (con o senza *) costruisce un intero “display” che occupa l’intera riga di stampa, anche se poi la formula in sé non la riempie; aligned serve invece per costruire un allineamento che va in qualche altro allineamento: costruisce una box delle sole dimensioni necessarie, una specie di minipage, se vuoi.

      Ciao
      Enrico

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

Go to top