ambiente bookCover, centratura verticale di 2 testi

  • Creatore
    Topic
  • #122184
    benedetto batta
    Partecipante
      Up
      0
      Down
      ::


      Vi chiedo il favore di aiutarmi anche in questo caso.
      Sto realizzando la copertina del mio libro, e ho problemi nella centratura.
      Quello che sto cercando di centrare sono 2 testi di diverso carattere. Il primo lo ottengo correttamente, il secondo no.
      Per comodità o introdotti gli fbox, così da rendere più visibili le parti. La centratura dovrebbe avvenire nella spine.
      Questo è l’esempio minimo compilabile:
      `
      \documentclass[coverwidth=218mm, coverheight=305mm, spinewidth=38mm, trimmed=true]{bookcover}
      \usepackage[T1]{fontenc} % codifica dei font
      \usepackage[utf8]{inputenc} % lettere accentate da tastiera
      \usepackage[italian]{babel} % imposta Italiano come lingua del progetto

      \graphicspath{{Immagini/}{Immagini/sfondi/}}

      \usepackage{amsmath}
      \usepackage{amsfonts}
      \usepackage{amssymb}
      \usepackage{graphicx}

      \usepackage{rotating}

      \begin{document}
      \begin{bookcover}
      \pagestyle{empty}

      \bookcovercomponent{color}{spine}{orange}
      \bookcovercomponent{normal}{spine}{
      %\hspace{2cm}
      \centering
      \vspace*{\fill}
      \rotatebox[origin=c]{-90}{
      \fbox{\huge\bfseries {\fontfamily{pag}\fontsize{35}{30}\selectfont PROGETTO BORGOGNI}}
      \hspace{1cm}
      \fbox{{\huge\bfseries\color{blue} {\fontfamily{pbk}\fontsize{20}{23}\selectfont Edizione 2024}}}}
      %\fbox{\Huge\bfseries\color{blue} {\fontfamily{pbk}\fontsize{20}{23}\selectfont Edizione 2024}}
      \vspace*{\fill}
      }

      \bookcovercomponent{normal}{spine}{
      \vspace{27.5cm}
      \centering
      \includegraphics[width=2.2cm]{LOGO.png}}
      \end{bookcover}
      \end{document}
      `

      Non so proprio come comportarmi con il secondo testo: non si centra…
      Qualcuno ha una soluzione?

    Visualizzazione 6 filoni di risposte
    • Autore
      Risposte
      • #122185
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Non so perché metti le due scritte del dorso dentro due \fbox. Se le togli i due testi rimangono dove sono.
          Se li vui allineare devi metterle dentro due \parbox senza specificare nessuna opzione, perché l’allineamento di default è quello centrato; se vuoi essere più sicuro puoi mettere`\parbox[c]{\huge EDIZIONE 2024}`Se proprio ti piace la cornicetta attorno al testo puoi metttere \parbox nell’argomento di \fbox.
          Il \centering che hai messo dentro la scatola da ruotare mette tutta la scritta complessiva del dorso centrata verticalmente,

        • #122186
          benedetto batta
          Partecipante
            Up
            0
            Down
            ::


            Grazie, intanto.
            In effetti, la centratura funziona. Però, rispetto al tuo codice devo aggiungere obbligatoriamente la dimensione dei \parbox. Poco male.
            La cornice mi serve solo per vedere correttamente il posizionamento delle due scritte, quindi valutare con precisione la centratura. Poi, le toglierò.
            Questo è il codice modificato:
            `
            \bookcovercomponent{normal}{spine}{
            \centering
            \rotatebox[origin=c]{-90}{
            %\hspace{1.5cm}
            \fbox{\parbox[c]{14cm}{\huge\bfseries {\fontfamily{pag}\fontsize{35}{30}\selectfont PROGETTO BORGOGNI}}}
            \hspace{1cm}
            \fbox{\parbox[c]{8cm}{\Huge\bfseries\color{blue} {\fontfamily{pbk}\fontsize{20}{23}\selectfont Edizione 2024}}}
            }
            }`
            Il mio problema adesso, è distanziare il primo \parbox dal bordo superiore, perchè se decommento il primo \hspace mi risulta sfalsata la centratura (mentre il secondo non mi dà problemi).
            La sintassi del comando \parbox è la seguente: \parbox[position]{width}{text}.
            Come faccio ad impostare position per dirgli di modificare solo la distanza dal bordo superiore (tenendo conto che la scritta è ruotata)? Oppure, cosa posso aggiungere per ottenere la distanza da me voluta?

          • #122187
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Non te lo so dire, perché a me non gira ne il tuo primo esempio, né l’esempio modiificato, con un errore strano quando esegue \begin{document}.

              Però se a te compila, salvo il fatto che la scritta col titolo non è alla distanza verticale giusta, o inserisci \hspace*{1.5cm} prima del primo \parbox, oppure come prima cosa del tuo primo \parbox.

              Il tuo preambolo completo contiene un piccolo errore e un errore un po’ meno piccolo :

              1) Da qualche anno la codifica di default anche usando pdflatex, non solo xelatex o lualatex, è utf8; quindi non hai bisogno dello statement \usepackage[utf8]{inputenc}; non è sbagliato specificarlo, ma è inutile.

              2) Da sempre non è necessario caricare amsfonts, perché li carica amssymb. Caricare questo pacchetto prima o dopo di amssymb oltre ad essere concettualmente inutile, potrebbe produrre alcuni errori perché le definizioni di amssymb non sarebbero tutte efficaci; invece amssymb si carica da solo amsfonts al momento giusto.

              Domanda: Sei sicuro che in un libro di poesia ti servano i font estesi di matematica avanzata della American Mathematical Society?

              Se sì, bene; se no, prendi l’abitudine di non caricare roba che non usi, perché ti cresce il pericolo di option clash o di ridefinizioni di comandi che farebbero cose diverse da quelle volute.

            • #122188
              benedetto batta
              Partecipante
                Up
                0
                Down
                ::


                Grazie ancora della pazienza.
                Intanto, avevi ragione: la mia era solo una “stortura ottica”: tirando le linee, ho visto che i testi si centrano correttamente, e che il comando hspace agisce correttamente. Quindi, la mia risposta precedente non avrebbe avuto senso di esserci.

                Poi, riguardo ai pacchetti ams, ci sono perché nella copertina completa ho aggiunto grafiche matematiche complesse per un’immagine, e sono lì perché nella fretta di creare un codice compilabile mi sono dimenticato di toglierli.

                Ti ringrazio ancora per la soluzione e per i consigli.

              • #122189
                Up
                0
                Down
                ::

                BennyB” post=122747Vi chiedo il favore di aiutarmi anche in questo caso.
                Sto realizzando la copertina del mio libro, e ho problemi nella centratura.
                Quello che sto cercando di centrare sono 2 testi di diverso carattere. Il primo lo ottengo correttamente, il secondo no.
                Per comodità o introdotti gli fbox, così da rendere più visibili le parti. La centratura dovrebbe avvenire nella spine.
                Questo è l’esempio minimo compilabile:
                `
                \documentclass[coverwidth=218mm, coverheight=305mm, spinewidth=38mm, trimmed=true]{bookcover}
                \usepackage[T1]{fontenc} % codifica dei font
                \usepackage[utf8]{inputenc} % lettere accentate da tastiera
                \usepackage[italian]{babel} % imposta Italiano come lingua del progetto

                \graphicspath{{Immagini/}{Immagini/sfondi/}}

                \usepackage{amsmath}
                \usepackage{amsfonts}
                \usepackage{amssymb}
                \usepackage{graphicx}

                \usepackage{rotating}

                \begin{document}
                \begin{bookcover}
                \pagestyle{empty}

                \bookcovercomponent{color}{spine}{orange}
                \bookcovercomponent{normal}{spine}{
                %\hspace{2cm}
                \centering
                \vspace*{\fill}
                \rotatebox[origin=c]{-90}{
                \fbox{\huge\bfseries {\fontfamily{pag}\fontsize{35}{30}\selectfont PROGETTO BORGOGNI}}
                \hspace{1cm}
                \fbox{{\huge\bfseries\color{blue} {\fontfamily{pbk}\fontsize{20}{23}\selectfont Edizione 2024}}}}
                %\fbox{\Huge\bfseries\color{blue} {\fontfamily{pbk}\fontsize{20}{23}\selectfont Edizione 2024}}
                \vspace*{\fill}
                }

                \bookcovercomponent{normal}{spine}{
                \vspace{27.5cm}
                \centering
                \includegraphics[width=2.2cm]{LOGO.png}}
                \end{bookcover}
                \end{document}
                `

                Non so proprio come comportarmi con il secondo testo: non si centra…
                Qualcuno ha una soluzione?

                Usa [tt]tabular[/tt]

                Evita TAB. E attento agli spazi spuri. Nel secondo argomento di [tt]\fontsize[/tt] è molto più semplice usare 0 che inventarsi qualcos’altro: tanto hai solo una riga, no?

                `
                \documentclass[coverwidth=218mm, coverheight=305mm, spinewidth=38mm, trimmed=true]{bookcover}
                \usepackage[T1]{fontenc} % codifica dei font
                %\usepackage[utf8]{inputenc} % lettere accentate da tastiera
                \usepackage[italian]{babel} % imposta Italiano come lingua del progetto
                \usepackage{xcolor}
                \usepackage{rotating}

                \newcommand{\TITOLO}[2][.]{%
                \begin{tabular}{@{}c@{}}
                \color{#1}\fontfamily{pag}\fontsize{35}{0}\bfseries #2
                \end{tabular}%
                }
                \newcommand{\EDIZIONE}[2][.]{%
                \begin{tabular}{@{}c@{}}
                \color{#1}\fontfamily{pbk}\fontsize{23}{0}\bfseries #2
                \end{tabular}%
                }

                \begin{document}

                \begin{bookcover}

                \bookcovercomponent{color}{spine}{orange}
                \bookcovercomponent{normal}{spine}{%
                \centering\bfseries
                \vspace*{\fill}
                \rotatebox[origin=c]{-90}{%
                \TITOLO{PROGETTO BORGOGNI}%
                \hspace{1cm}%
                \EDIZIONE[blue!70]{Edizione 2024}%
                }%
                \vspace*{\fill}
                }

                \bookcovercomponent{normal}{spine}{%
                \vspace*{\fill}
                \centering
                \includegraphics[width=2.2cm]{example-image-1×1}%
                \vspace*{1cm}
                }
                \end{bookcover}

                \end{document}
                `

                Perché definirsi un comando che si usa una volta sola? Per vari motivi: hai un posto ben determinato dove fare modifiche ed esperimenti; rendi più leggibile il codice in [tt]document[/tt]. Puoi indovinarne altri.

                [attachment=2818]Screenshot2024-11-15at18.07.32.png[/attachment]

                Ciao
                Enrico

                Attachments:
                You must be logged in to view attached files.
              • #122190
                OldClaudio
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Il codice e i commenti di Enrico solo perfetti, assolutamente perfetti.

                  Mi permetto solo di aggiungere un dettaglio che vale non solo per il tuo dorsetto, ma in generale.

                  I programmi di composizione del sistema TeX basati su LaTeX hanno le proprietà di controllare se si caricano gli stessi pacchetti più di una volta; nel caso controllano la lista di opzioni con i quali vengono caricati ed eventualmente producono un messaggio di errore nel caso che nei successivi caricamenti si siano specificate opzioni contraddittorie: L’errore viene specificato con il messaggio “Option clash”. Se non esiste nessun problema con le opzioni, i caricamenti successivi al primo vengono ignorati.

                  Nel caso specifico della classe bookcover i pacchetti xcolor e rotating sono già caricati dalla classe, e non è necessario ricaricarli; il caricamento nel tuo caso è privo di opzioni per entrambi i pacchetti, quindi LaTeX non esegue il ricaricamento visto che il pacchetto è già caricato. Perciò il ricaricamennto è innocuo.

                  Infatti se commenti le due righe`\usepackage{xcolor}
                  \usepackage{rotating}` puoi constatare che le specifiche di colore e la rotazione del tuo dorsetto non cambiano di una virgola e il risultato finale è identico a quello mostrato da Enrico.

                  Siccome il ricaricamento è innocuo, non c’è nessun problema; probabilmente è utile per ricordarsi che le funzionalità di quei pacchetti sono disponibili. Ma come regola generale io consiglierei di evitare di ricaricare pacchetti già caricati.

                  Purtroppo la documentazione di bookcover, se non mi mi è sfuggito qualcosa, non documenta i pacchetti che questo carica già di suo. Ma la documentazione di graphicx dice espressamente quali pacchetti esso usa. Puoi leggerla dando da terminale il comando [tt]texdoc graphicx[/tt] oppure [tt]texdoc grfguide[/tt] (le due forme del comando aprono lo stesso file).

                • #122191
                  benedetto batta
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Ringrazio entrambi per le preziose informazioni e per le soluzioni.
                    Mi siete stati davvero utili.

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

                Go to top