Problemi impaginazione indice

  • Creatore
    Topic
  • #120033
    Up
    0
    Down
    ::


    Salve,
    sto realizzando il mio primo documento in latex e sto trovando dei problemi con l’impaginazione dell’indice: come si può vedere dalla foto la seconda pagina inizia senza lasciare spazi e non compare il numero della pagina che dovrebbe essere ii. Come posso risolvere questo problema?
    Vi ringrazio in anticipo
    Ecco l’indice:

    [attachment=2629]Indice.jpg[/attachment]

    Ecco il codice che sto utilizzando, preso da overleaf:

    `\definecolor{myred}{RGB}{40,40,40}
    \definecolor{myyellow}{RGB}{116,116,116}
    \newcommand\Circle[1]{\tikz[overlay,remember picture]
    \node[draw=myyellow,circle, text width=18pt,line width=1pt,align=center] {#1};}
    \renewcommand\printtoctitle[1]{\HUGE\rmfamily\bfseries\color{myred}#1}
    \makeatletter
    \renewcommand\cftpartfont{\Huge\rmfamily\bfseries}
    \renewcommand\partnumberline[1]{%
    \hbox to \textwidth{\hss\Circle{\textcolor{myyellow}{#1}}\hss}%
    \vskip3.5ex\color{myred}}
    \renewcommand*{\l@part}[2]{%
    \ifnum \c@tocdepth >-2\relax
    \cftpartbreak
    \begingroup
    {\interlinepenalty\@M
    \leavevmode
    \settowidth{\@tempdima}{\cftpartfont\cftpartname}%
    \addtolength{\@tempdima}{\cftpartnumwidth}%
    \let\@cftbsnum \cftpartpresnum
    \let\@cftasnum \cftpartaftersnum
    \let\@cftasnumb \cftpartaftersnumb
    \advance\memRTLleftskip\@tempdima \null\nobreak\hskip -\memRTLleftskip
    \centering{\cftpartfont#1}\par%
    }
    \nobreak
    \global\@nobreaktrue
    \everypar{\global\@nobreakfalse\everypar{}}%
    \endgroup
    \fi}

    \renewcommand\chapternumberline[1]{\mbox{\Large\@chapapp~#1}\par\noindent}
    \renewcommand\cftchapterfont{\Large\rmfamily}
    \cftsetindents{chapter}{0pt}{0pt}
    \renewcommand\cftchapterpagefont{\HUGE\rmfamily\bfseries\color{myred}}

    \newcommand*{\l@mychap}[3]{%
    \def\@chapapp{#3}\vskip1ex%
    \par\noindent\begin{minipage}{\textwidth}%
    \parbox{4.7em}{%
    \hfill{\cftchapterpagefont#2}%
    }\hspace*{1.5em}%
    \parbox{\dimexpr\textwidth-4.7em-15pt\relax}{%
    \cftchapterfont#1%
    }%
    \end{minipage}\par\vspace{2ex}%
    }

    \renewcommand*{\l@chapter}[2]{%
    \l@mychap{#1}{#2}{\chaptername}%
    }

    \renewcommand*{\l@appendix}[2]{%
    \l@mychap{#1}{#2}{\appendixname}%
    }

    \renewcommand\cftsectionfont{\rmfamily}
    \renewcommand\cftsectionpagefont{\rmfamily\itshape\color{myred}}
    \renewcommand{\cftsectionleader}{\nobreak}
    \renewcommand{\cftsectionafterpnum}{\cftparfillskip}
    \cftsetindents{section}{7.5em}{3em}
    \renewcommand\cftsectionformatpnum[1]{%
    \hskip1em\hbox to 4em{{\cftsectionpagefont #1\hfill}}}

    \renewcommand\cftsubsectionfont{\rmfamily}
    \renewcommand\cftsubsectionpagefont{\rmfamily\itshape\color{myred}}
    \renewcommand\cftsubsectionleader{\nobreak}
    \renewcommand{\cftsubsectionafterpnum}{\cftparfillskip}
    \renewcommand\cftsubsectiondotsep{\cftnodots}
    \cftsetindents{subsection}{10.5em}{3em}
    \renewcommand\cftsubsectionformatpnum[1]{%
    \hskip1em\hbox to 4em{{\cftsubsectionpagefont #1\hfill}}}
    \makeatother

    \renewcommand\cftsubsubsectionfont{\rmfamily}
    \renewcommand\cftsubsubsectionpagefont{\rmfamily\itshape\color{myred}}
    \renewcommand\cftsubsubsectionleader{\nobreak}
    \renewcommand{\cftsubsubsectionafterpnum}{\cftparfillskip}
    \renewcommand\cftsubsubsectiondotsep{\cftnodots}
    \cftsetindents{subsubsection}{11.5em}{4em}
    \renewcommand\cftsubsubsectionformatpnum[1]{%
    \hskip1em\hbox to 4em{{\cftsubsubsectionpagefont #1\hfill}}}
    \makeatother

    \settocdepth{subsubsection}
    \setsecnumdepth{subsubsection}

    \newlength\Myhead
    \setlength\Myhead{\dimexpr\headheight+\headsep+1in+\voffset+5ex\relax}

    \newlength\Myfoot
    \setlength\Myfoot{\dimexpr\paperheight-\Myhead-\textheight-\footskip+5ex\relax}

    \newcounter{chapmark}

    \newcommand\StartMark{%
    \addtocontents{toc}{\protect\label{st\thechapmark}%
    \protect\begin{tikzpicture}[overlay,remember picture,baseline]
    \protect\node [anchor=base] (s\thechapmark) {};%
    \ifnum\getpagerefnumber{st\thechapmark}=\getpagerefnumber{en\thechapmark} \else
    \protect\draw[myyellow,line width=3pt] let \protect\p3= (s\thechapmark),%
    \protect\p4 = (current page.south) in %
    ($ (4em,\protect\y3) + (0,-1ex) $) — ($ (4em,\protect\y4) + (0,\protect\the\Myfoot)$);\fi
    \protect\end{tikzpicture}\par}%
    }

    \newcommand\EndMark{
    \addtocontents{toc}{\protect\label{en\thechapmark}%
    \protect\begin{tikzpicture}[overlay,remember picture,baseline]
    \protect\node [anchor=base] (e\thechapmark) {};
    \ifnum\getpagerefnumber{st\thechapmark}=\getpagerefnumber{en\thechapmark}
    \protect\draw[myyellow,line width=3pt] let \protect\p1= (s\thechapmark), \protect\p2=(e\thechapmark) in ($ (4em,\protect\y1) + (0,-1ex) $) — ($ (4em,\protect\y2) + (0,2ex) $);
    \else%
    \protect\draw[myyellow,line width=3pt] let \protect\p1= (e\thechapmark), \protect\p2=(current page.north) in ($(4em,\protect\y2) + (0,-\protect\the\Myhead)$) — ($ (4em,\protect\y1) + (0,1.5ex) $);
    \fi
    \protect\end{tikzpicture}\par}\stepcounter{chapmark}%

    }`

    Attachments:
    You must be logged in to view attached files.
Visualizzazione 11 filoni di risposte
  • Autore
    Risposte
    • #120034
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Benvenuto nel forum.

        @Damiano77
        , da quello che mostri hai evidentemente un problema; da cosa dipenda non è possibile dirlo.
        Qui in calce al mio messaggio c’è una parte scritta in rosso; segui quell’indicazione, altrimenti nessuno può darti una mano.

        Il fatto che tu lavori su Overleaf complica le cose, perché virtualmente nessuno di noi lo fa; tutti noi preferiamo avere il sistema TeX completo, aggiornato e aggiornabile ogni volta che lo vogliamo fare; io lo aggiorno ogni settimana, giorno più giorno meno; ogni volta trovo diverse decine di pacchetti aggiornati e almeno una mezza dozzina di pacchetti nuovi; i system manager di Overleaf non sono così attenti agli aggiornamenti, ma offrono agli utenti diversi template che talvolta sono ridondanti e talvolta contengono cose che lasciano perplessi; per esempio le definizioni dei colori myred e myyellow, all’inizio del tuo codice, non li ho provati, ma secondo me sono due diverse tonalità di grigio, più scuro myred e più chiaro myyellow, altro che rosso e giallo.

        Lesempiominimo richiesto, auinci deve partire da \documentclass e finire con \end{document}; fra \documentclass[…]{…} e \begin{document}[/b] devi metterci il minimo di chiamate a pacchetti; e fra \begin{document} e \end{document} devi metterci il minimo di dichiarazioni, di comandi e di testo che permetta di replicare il problema. Senza questo è difficile verificare quello che ti succede e trovare come correggerlo.

        A spanne, tirando a indovinare, direi che stai componendo su due colonne ma non hai impostato correttamente il formato della carta virtuale. Ovviamonte, tirando ad indovinare, posso avere indovinato male.

      • #120035
        Up
        0
        Down
        ::


        Purtroppo non sono riuscito a risolvere il problema, la ringrazio lo stesso. 🙂

      • #120036
        OldClaudio
        Partecipante
          Up
          0
          Down
          ::


          Nessuno può darti nessun suggerimento, se non mostri almeno il preambolo. Come facciamo ad indovinare perché ti si presenta quell’errore di impaginazione? La sfera di critallo non funziona in questi casi, ci voglono fatti; tra l’altro non ho mai visto un indice generale composto come quello; probabilmente hai una classe che io non homai usato, o delle impostazioni nel preambolo che io non ho mai usato. e quandodico “io”, non intendome stesso ma qualunque frequentatore del forum che possa aiutarti.

        • #120037
          Up
          0
          Down
          ::


          Ricordo di aver incontrato un problema simile (ma chissà quando) e anche di averlo visto trattato in rete. Per esempio, qui:
          https://tex.stackexchange.com/q/78864/231952 e qui: https://latex.org/forum/viewtopic.php?t=11312. Dubito che ti possano essere di aiuto, tuttavia, visto che non contengono EMC (esempi minimi compilabili).
          Nel link rosso qui sotto trovi le indicazioni su come creare un EMC. Sono poche pagine.

          Ciao
          Ivan

        • #120038
          Up
          0
          Down
          ::


          Ha perfettamente ragione, ecco il preambolo, la ringrazio per la pazienza.

          `\documentclass{memoir}
          \captionnamefont{\small}
          \captiontitlefont{\small}
          \captionnamefont{\bfseries}
          %\usepackage{epsdice}
          \usepackage{randomwalk}
          \usepackage[many]{tcolorbox}
          \usepackage[polutonikogreek,italian]{babel}
          \usepackage{refcount}
          \usepackage{fontspec}
          \usepackage{amsmath}
          \usepackage[colorinlistoftodos]{todonotes}
          \usepackage{pifont}
          \usepackage{amsthm}
          \usepackage{amssymb}
          \usepackage{amscd}
          \usepackage{geometry}
          \usepackage{float}
          \usepackage{tikz}
          \usepackage[colorlinks,linkcolor=black]{hyperref}
          %\usepackage{adforn}
          \usepackage{exercise}
          \usepackage[framemethod=tikz]{mdframed}
          \usepackage{enumitem}
          \setitemize{noitemsep,topsep=2pt,parsep=0pt,partopsep=0pt}
          \input{page_style}

          \usetikzlibrary{calc}

          \newtheorem{defi}{Definizione}
          \newtheorem{teo}{Teorema}

          \addto\captionsdutch{%
          \renewcommand{\appendixname}%
          {Appendice}%
          }

          \renewcommand{\appendixpagename}{Appendici}%

          \renewcommand\appendixtocname{Appendici}
          \renewcommand*\cftappendixname{\appendixname}

          \newcounter{tip}
          \input{indice}
          \input{title3}

          \input{boxes1}

          \begin{document}

          \titleTMB

          \pagebreak
          \pagenumbering{roman}

          \newgeometry{top=0cm}

          \tableofcontents*

          \newpage
          %\StartMark
          \restoregeometry

          \pagenumbering{arabic}
          %bibliografia
          \include{contenuti}
          \include{bibliografia}
          \end{document}`

        • #120039
          claudio
          Partecipante
            Up
            0
            Down
            ::


            ciao
            ma
            `
            \newgeometry{top=0cm}
            `
            è sospetto
            ciao
            claudio

          • #120040
            OldClaudio
            Partecipante
              Up
              0
              Down
              ::


              Adesso va meglio. non è un esempio minimo compilabile, perché hai conservato gli \imput dei vari file che immetti nel main file, ma ovviamante non gli hai allegati.
              Tuttavia si vedono un certo numero di cose che mostrano un discreto livello di confusione; intanto usi la classe memoir, della quale dubito che tu abbia letto la voluminosa documentazione, in quanto questa classe fa di tutto e di più da sola, senza bisogno di caricare altri pacchetti; certo se ne possono caricare, ma spesso li si carica inutilmente, e talvolta in modo da rovinare le impostazioni di memoir.

              Carichi babel con l’opzione per il greco sbagliata, a meno che davvero to volgia scrivere in greco moderno politonico. Per scrivre in greco anitco bisogna specificare greek.ancient. È vero che babel sta evolvendo rapidamente verso una completa compatibilità con XeLaTeX e LuaLaTeX, ma per questi programmi, secondo me, è preferibile gestire le lingue con polyglossia. Parere personale di cui non è necessario tenere conto, ma su cui conviene domandarsi perché altri preferiscono una gestione diversa da quella di babel. Secondo me, polyglossia ha un approccio generale migliore di babel, perché gestisce ogni lingua per coto suo, e non come opzioni alla chiamata del pacchetto; tuttavia alri la pensano diversamente, perché preferiscono usare lo stesso pacchetto di gestione delle lingue quando usano indifferentemente pdfLaTeX, XeLaTeX o LuaLaTeX; polyglossia non è usabile con pdfLaTeX.

              Non ho capito perché rinomini il nome olandese (dutch) delle appendici con un nome italiano 😯

              Ora, visto che non c’è niente per simulare con testo di riempimento i vari file che immetti con \input, devo lavoraci su un pochino (alcune ore…); ma ti chiedo: che cosa contiene il file indice.tex? Non allegare il file, descrivimi solo il suo contenuto; visto i problemi che hai con la composizione dell’indice, potrebbe proprio essere quel file che contiene roba strana.

              Un’altra cosa che osservo, non c’è nessuna impostazione né per il formato della carta “virtuale” sulla quale componi il tuo testo, né sul corpo con il quale componi il tuo testo. Vedo che carichi fontspec, pacchetto per gestire i font con XeLaTeX e LuaLaTeX, ma incompatibile con pdfLaTeX; quindi presumo che tu componga con uno dei due programmi XeLaTeX o LuaLaTeX; ma non specifichi nessun font; fontspec di default uas i font Latin Modern OenType, che non servono per comporre in greco, ma, come dice il nome, servono solo per comporre in caratteri latini sia pure con tutti gli accenti usati nelle lingue occidentali. Sei sicuro di voler mantenere questa impostazone di default?

              Se hai preso questo preambolo da un template di Overleaf, ti rendi conto del danno che ti potresti essere fatto da solo ricorrendo a Overleaf?

              Se riesco a metterti a posto il tuo problema, ricorda che la mia soluzione sarà ottenuta lavorando con una instalalzione completa e aggiornata sul mio elaboratore, e non ricorrerà a nulla di esterno.

              A presto, spero, se ci riesco, con l’aggiustamento del tuo indice.

            • #120041
              Up
              0
              Down
              ::


              Grazie mille Claudio problema risolto!!!!

            • #120042
              Up
              0
              Down
              ::


              Grazie mille Claudio, problema risolto!!!

            • #120043
              Up
              0
              Down
              ::


              Ciao OldClaudio, ho risolto il problema dell’indice con il suggerimento di claudio. Purtroppo non ho avuto l’opportunità di informarmi meglio sul sistema La Tex ed ho optato per il programma che mi sembrava più veloce, quale programmi mi consigli di utilizzare per i prossimi documenti?

              Ti ringrazio per i preziosi consigli
              Damiano77

            • #120044
              OldClaudio
              Partecipante
                Up
                0
                Down
                ::


                Sì, l’occhio attento dell’altro Claudio ha individuato l’errore più velocemente di me.

                Purtroppo non ho avuto l’opportunità di informarmi meglio sul sistema LaTex ed ho optato per il programma che mi sembrava più veloce, quale programmi mi consigli di utilizzare per i prossimi documenti?

                Stai confondendo il sistema TeX con il sito internet Overleaf; Overleaf mette a disposizioni dei suoi frequentatori il sistema TeX, che contiene diversi programmi di composizione tre dei quali si chiamano pdfLaTeX, XeLaTeX e LuaLaTeX, tutti tre basati sul linguaggio di mark up del testo da comporre che si chiama LaTeX.
                Il vantaggio di Overleaf è che l’utente non deve installare niente sul suo elaboratore e vi può accedere in rete con qualunque dispositivo che sia capace di farlo, persino, credo, con uno smartphone. Ovviamente visto che il sistema TeX si basa su una compilazione distinta dall’editor, Overleaf mette a disposizione anche un editor. Quando usi questo servizio in rete, devi accontentarti di quel che passa il convento.
                Se invece ti installi tutto quanto sul tuo PC, che sia WIndows, Mac o Linux, hai un sistema completo che di solito puoi aggiornare anche una volta al giorno; io aggiorno lamia installazione ogni 7 o 10 giorni, e ogni volta ci trovo alcune decine di pacchetti aggiornati e una mezza dozzina di pacchetti nuovi. Lo svantaggio di installare sulla propria macchina è che si occupano circa 5 gigabyte di disco. Il resto sono solo vantaggi, perché puoi scegliere a piacere le cose che ti servono davvero per ciascun particolare documento che vuoi comporre.

                Stampando il file su carta formata a4 mi sono accorto che lascia parecchio spazio ai lati e non viene riempito l’intero foglio, come si potrebbe risolvere questo problema?

                Questo è il tormentone deimargini; abituati come siamo a usare i word processor, abbiamo perso il gusto della buona tipografia; Rimepre la pagina come vorresti tu non è una buona idea, infatti hai cercato di riempiral definendo una geometria con un margine superiore di 0cm (top-0cm) che ovviamente non ti piace. I margini laterali sono quelli che devono essere, ampi, perché la riga di testo non può contenere più di 66 ± 6 caratteri; altrimenti la lettura diventa faticosa a seconda del font che usi quei 66 ± 6 caratteri possono formare una riga più lunga o più corta, quindi i margini possono ridursi o ingrandirsi un poco, ma con un foglio di 210mm per 297mm, come un foglio A4, margini di un centimetro sono inimmaginabili, nel senso che puoi benissimo comporre una simile porcheria, ma non riusciresti nemmeno a leggerla tanto è lunga la riga. Anche memoir consente di definire geometrie diverse,ma ha anche impostazioni per crare un gabbia di stampa basato sulla particolare lunghezza dell’alfabeto in un dato font; cambi font e memoir cambia automaticamente la grandezza della gabbia.

                No so se Overleaf lo consenta,ma sun impostazione locale dai da un teminale il comando, per esempio, texdoc memoir e ti si apre tutte la documentazione di quel pacchetto o di quella classe, e puoi vedere come gestori la gabbia di stampa nel modo che più ti aggrada; ma, attento; senza una preparazione tipografica adeguata (il che non vuol dire essere un tipografo, ma semplicemente amare i libri ben composti) si possono creare ottime impaginazioni, ma anche porcherie tremende. Di solito il neofita farebbe meglio a non toccare la gabbia di stampa accontentandosi di quanto è già stato predisposto dai programmatori del sistema TeX. Ti garantisco che non sono dei novellini.

              • #120045
                Up
                0
                Down
                ::


                Grazie OldClaudio dei chiarimenti, hai ragione la lettura diventerebbe faticosa.

                Damiano

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

            Go to top