Tabelle di simboli dalla Mica tanto breve intro

  • Creatore
    Topic
  • #18960
    lorenzo.pantieri
    Partecipante
      Up
      0
      Down
      ::


      Nella Mica tanto breve intro, le tabelle dei simboli matematici sono rese con questo codice:
      `\documentclass{article}

      \newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}}
      \newcommand{\SC}[1]{#1&\texttt{\string#1}\hspace*{1ex}}
      \newcommand{\W}[2]{$#1{#2}$&
      \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}}
      \newcommand{\Y}[1]{$\big#1$ &\texttt{\string#1}} %

      \newsavebox{\symbbox}
      \newenvironment{symbols}[1]%
      {\par\vspace*{2ex}
      \renewcommand{\arraystretch}{1.1}
      \begin{lrbox}{\symbbox}
      \hspace*{4ex}\begin{tabular}{@{}#1@{}}}%
      {\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip}

      \begin{document}
      \begin{table}[!h]
      \caption{Accenti in modalità matematica.} \label{mathacc}
      \begin{symbols}{*4{cl}}
      \W{\hat}{a} & \W{\check}{a} & \W{\tilde}{a} & \W{\acute}{a} \\
      \W{\grave}{a} & \W{\dot}{a} & \W{\ddot}{a} & \W{\breve}{a} \\
      \W{\bar}{a} &\W{\vec}{a} &\W{\widehat}{A}&\W{\widetilde}{A}\\
      \end{symbols}
      \end{table}

      \begin{table}[!h]
      \caption{Lettere greche maiuscole.}
      \begin{symbols}{*4{cl}}
      \X{\Gamma} & \X{\Lambda} & \X{\Sigma} & \X{\Psi} \\
      \X{\Delta} & \X{\Xi} & \X{\Upsilon} & \X{\Omega} \\
      \X{\Theta} & \X{\Pi} & \X{\Phi}
      \end{symbols}
      \end{table}

      \begin{table}[!h]
      \caption{Grandi delimitatori.}
      \begin{symbols}{*4{cl}}
      \Y{\lgroup} & \Y{\rgroup} & \Y{\lmoustache} & \Y{\rmoustache} \\
      \Y{\arrowvert} & \Y{\Arrowvert} & \Y{\bracevert}
      \end{symbols}
      \end{table}

      \begin{table}[!h]
      \caption{Simboli non matematici.}
      \bigskip
      Questi simboli possono venire utilizzati anche in modo testo.
      \begin{symbols}{*3{cl}}
      \SC{\dag} & \SC{\S} & \SC{\copyright} \\
      \SC{\ddag} & \SC{\P} & \SC{\pounds} \\
      \end{symbols}
      \end{table}

      \end{document}
      `
      Funziona, naturalmente. Solo che io vorrei che i comandi LaTeX corrispondenti ai vari simboli venissero resi con \lstinline!…!, qualcosa come
      `\lstinline!\alpha!`
      del pacchetto listings (che uso, e che mi colora i comandi).

      Come vanno modificati quei comandi \X, \Y, \SC e \W?

      Ancora grazie,
      L.

    Visualizzazione 10 filoni di risposte
    • Autore
      Risposte
      • #18961
        Up
        0
        Down
        ::

        Nella Mica tanto breve intro, le tabelle dei simboli matematici sono rese con questo codice:
        `…
        \newcommand{\X}[1]{$#1$&\texttt{\string#1}\hspace*{1ex}}
        \newcommand{\SC}[1]{#1&\texttt{\string#1}\hspace*{1ex}}
        \newcommand{\W}[2]{$#1{#2}$&
        \texttt{\string#1}\texttt{\string{\string#2\string}}\hspace*{1ex}}
        \newcommand{\Y}[1]{$\big#1$ &\texttt{\string#1}}
        …`
        Funziona, naturalmente. Solo che io vorrei che i comandi LaTeX corrispondenti ai vari simboli venissero resi con \lstinline!…!, qualcosa come
        `\lstinline!\alpha!`
        del pacchetto listings (che uso, e che mi colora i comandi).

        Come vanno modificati quei comandi \X, \Y, \SC e \W?

        Non è perfetto, ma potresti provare
        `\newcommand\forlstinline[1]{\scantokens{\lstinline!#1!}\unskip}

        \newcommand{\X}[1]{$#1$&\forlstinline{#1}\hspace*{1ex}}
        \newcommand{\SC}[1]{#1&\forlstinline{#1}\hspace*{1ex}}
        \newcommand{\W}[2]{$#1{#2}$&
        \forlstinline{#1}\forlstinline{{#2}}\hspace*{1ex}}
        \newcommand{\Y}[1]{$\big#1$ &\forlstinline{#1}}`
        Ciao
        Enrico

      • #18962
        lorenzo.pantieri
        Partecipante
          Up
          0
          Down
          ::

          Non è perfetto, ma potresti provare
          `\newcommand\forlstinline[1]{\scantokens{\lstinline!#1!}\unskip}

          \newcommand{\X}[1]{$#1$&\forlstinline{#1}\hspace*{1ex}}
          \newcommand{\SC}[1]{#1&\forlstinline{#1}\hspace*{1ex}}
          \newcommand{\W}[2]{$#1{#2}$&
          \forlstinline{#1}\forlstinline{{#2}}\hspace*{1ex}}
          \newcommand{\Y}[1]{$\big#1$ &\forlstinline{#1}}`

          Provato, mi sembra funzionare egregiamente… perché dici che non è perfetto? Se ci sono possibili problemini piacerebbe saperlo…

          Grazie mille,
          L.

        • #18963
          Up
          0
          Down
          ::

          Non è perfetto, ma potresti provare
          `\newcommand\forlstinline[1]{\scantokens{\lstinline!#1!}\unskip}

          \newcommand{\X}[1]{$#1$&\forlstinline{#1}\hspace*{1ex}}
          \newcommand{\SC}[1]{#1&\forlstinline{#1}\hspace*{1ex}}
          \newcommand{\W}[2]{$#1{#2}$&
          \forlstinline{#1}\forlstinline{{#2}}\hspace*{1ex}}
          \newcommand{\Y}[1]{$\big#1$ &\forlstinline{#1}}`

          Provato, mi sembra funzionare egregiamente… perché dici che non è perfetto? Se ci sono possibili problemini piacerebbe saperlo…

          Usalo e vediamo; qualche piccola stortura c’è, ma non è il caso di preoccuparsi. Aspetto con ansia LuaTeX che dovrebbe correggerla. In termini TeXnici: e-TeX aggiunge sempre uno spazio alla fine della lista di token in uno \scantokens. Questo è il motivo di \unskip.

          Ciao
          Enrico

        • #18964
          lorenzo.pantieri
          Partecipante
            Up
            0
            Down
            ::


            Riprendo il topic per segnalare un altro problema. Non mi convince il codice
            `\newsavebox{\symbbox}
            \newenvironment{symbols}[1]%
            {\par\vspace*{2ex}
            \renewcommand{\arraystretch}{1.1}
            \begin{lrbox}{\symbbox}
            \hspace*{4ex}%
            \begin{tabular}{@{}#1@{}}}%
            {\end{tabular}\end{lrbox}\makebox[\textwidth]{\usebox{\symbbox}}\par\medskip}
            `
            Non mi pare che le tabelle vengano centrate (come vorrei). Inoltre quegli spazi manuali
            `\vspace*{2ex}

            \hspace*{4ex}
            `
            mi sembrano azzeccarci poco. Per finre, non riesco a piazzare i comandi \toprule e \bottomrule.

            Nel resto del mio documento, inserisco le tabelle come un bravo figliuolo, così:
            `\begin{table}[tb]
            \caption{…}
            \label{…}
            \centering
            \medskip
            \begin{tabular}{…}
            \toprule

            \bottomrule
            \end{tabular}
            \end{table}
            `
            C’è modo di modificare quell’ambiente symbols in modo che stampi una tabella con le stesse identiche impostazioni di quella che ho appena scritto?

            Gazie anticipate,
            L.

          • #18965
            DMW
              Up
              0
              Down
              ::


              Il vspace serve per distanziare la didascalia dalla tabella e hspace per centrarla.

              Poi a e bottomrule e toprule funzionano. Lo hai caricato booktabs? o tene sei dimenticato?

              Prova così:
              `
              \newsavebox{\symbbox}
              \newenvironment{symbols}[1]%
              {\medskip%
              \renewcommand{\arraystretch}{1.1}
              \begin{lrbox}{\symbbox}
              \begin{tabular}{@{}#1@{}}}%
              {\end{tabular}\end{lrbox}\makebox[\textwidth][c]{\usebox{\symbbox}}\par\medskip}`

              La tabella è perfettamente centrata.

              Un altro modo è di usare il pachetto caption e di modificare lo spazio prima e dopo la didascalia con aboveskip=dim, localmente, al posto di \medskip.

              Ciao

              Andrea

            • #18966
              lorenzo.pantieri
              Partecipante
                Up
                0
                Down
                ::


                Ciao Andrea, sì, avevo caricato il pacchetto booktabs, ma cercavo di piazzare \toprule e \bottomrule direttamente nel codice si symbols, e non nelle varie tabelle. Ora tutto funziona perfettamente.
                `\begin{table}[…]
                \caption{…}
                \label{…}
                %\centering % niente \centering
                %\medskip % niente \medskip
                \begin{symbols}{…}
                \toprule

                \bottomrule
                \end{symbols}
                \end{table}
                `
                Non metto \centering dal momento che mi hai detto che con il tuo codice la tabella viene centrata di suo.

                Non metto neppure \medskip perché, da quello che capisco, c’è già nel codice di symbols. Se sbaglio qualcosa ti prego di correggermi!

                Grazie mille,
                Lorenzo

              • #18967
                DMW
                  Up
                  0
                  Down
                  ::


                  \centring non ci va perché c’è già l’opzione [c] a makebox che è larga \textwidth.

                  Poi \medskip è già nella definizione e quindi non serve. Quindi
                  `
                  \begin{table}[…]
                  \caption{…}
                  \label{…}
                  \begin{symbols}{…}
                  \toprule

                  \bottomrule
                  \end{symbols}
                  \end{table}`

                  Va’ bene.

                  Scusa, ma a te non c’è uno spazio di troppo tra \hat e {a}?
                  E anche negli altri?

                  Ciao

                  Andrea

                • #18968
                  lorenzo.pantieri
                  Partecipante
                    Up
                    0
                    Down
                    ::

                    Scusa, ma a te non c’è uno spazio di troppo tra \hat e {a}?
                    E anche negli altri?

                    O mamma, hai ragione! Non me ne ero accorto! Per fortuna quella è l’unica tabella dove ai comandi segue un argomento (le altre sono di soli comandi).

                    Se ti viene in mente una soluzione, sono qui. Altrimenti, scrivo a mano quella tabella. Il problemino sarà eventualmente farla venire uguale alle altre (cioè con la stessa distanza tra comandi \LaTeX e typeset corrispondente).

                    Fammi sapere se ti viene in mente una cura.

                    Grazie,
                    L.

                  • #18969
                    DMW
                      Up
                      0
                      Down
                      ::

                      Scusa, ma a te non c’è uno spazio di troppo tra \hat e {a}?
                      E anche negli altri?

                      O mamma, hai ragione! Non me ne ero accorto! Per fortuna quella è l’unica tabella dove ai comandi segue un argomento (le altre sono di soli comandi).

                      Se ti viene in mente una soluzione, sono qui. Altrimenti, scrivo a mano quella tabella. Il problemino sarà eventualmente farla venire uguale alle altre (cioè con la stessa distanza tra comandi \LaTeX e typeset corrispondente).

                      Fammi sapere se ti viene in mente una cura.

                      Grazie,
                      L.

                      Ridefinisci \W in questo:
                      `
                      \newcommand{\W}[2]{$#1{#2}$&
                      \forlstinline{#1}\kern-.333em\forlstinline{{#2}}\hspace*{1ex}}`

                      -.333em è circa 2 volte \negthinspace.

                      Ciao

                      Andrea

                    • #18970
                      lorenzo.pantieri
                      Partecipante
                        Up
                        0
                        Down
                        ::

                        `
                        \newcommand{\W}[2]{$#1{#2}$&
                        \forlstinline{#1}\kern-.333em\forlstinline{{#2}}\hspace*{1ex}}`

                        Funziona perfettamente! 😀

                        Grazie mille,
                        Lorenzo

                      • #18971
                        Up
                        0
                        Down
                        ::

                        Scusa, ma a te non c’è uno spazio di troppo tra \hat e {a}?
                        E anche negli altri?

                        O mamma, hai ragione! Non me ne ero accorto! Per fortuna quella è l’unica tabella dove ai comandi segue un argomento (le altre sono di soli comandi).

                        Hai finalmente scoperto il piccolo inconveniente che ti dicevo.

                        Ciao
                        Enrico

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

                    Go to top