Margini e textheight

  • Creatore
    Topic
  • #69230
    Up
    0
    Down
    ::


    Buongiorno a tutti.

    Sto lavorando con un documento memoir che non ho iniziato io, quindi il documento contiene numerosi package, impostazioni ecc. che non posso rimuovere perché non so dove effettivamente servano.

    Per questo, non riesco nemmeno a riprodurre un esempio minimale (che sia davvero minimale) da riportare nel forum.

    Il problema riguarda i margini, si tratta di una FAQ a cui però ho spesso trovato una risposta: “usare geometry”. A parte che il suddetto pacchetto mi ritorna un errore, ma non è il topic di questo post, vorrei evitare l’uso di altri package, non essendo sicuro del comportamento che potrebbero avere sul resto del documento, che è piuttosto lungo (circa 400 pagine).

    All’interno dell’ambiente abstract ho usato un ambiente da me definito per modificare i margini.

    \newenvironment{changemarginSummary}{%
    \begin{list}{}{%
    \setlength{\textheight}{29.7cm}%
    \setlength{\headheight}{0pt}%
    \setlength{\headsep}{0pt}%
    \setlength{\footskip}{0pt}%
    \setlength{\topmargin}{-65pt}%
    \setlength{\leftmargin}{0pt}%
    \setlength{\rightmargin}{0pt}%
    \setlength{\listparindent}{\parindent}%
    \setlength{\itemindent}{\parindent}%
    \setlength{\parsep}{\parskip}%
    }%
    \item[]
    }
    {\end{list}}

    Il codice di cui sopra, sposta il margine superiore, come richiesta, ma non aumenta lo spazio del testo, che va a capo dove andava precedentemente; nonostante l’ampio spazio bianco in fondo al documento che il cambiamento del margine superiore provoca.

    Qualcuno ha suggerimenti da darmi?

    Grazie mille per l’aiuto.

    Ciao,
    Nicola

Visualizzazione 7 filoni di risposte
  • Autore
    Risposte
    • #69231
      Up
      0
      Down
      ::

      nsturaro” post=68358Buongiorno a tutti.

      Sto lavorando con un documento memoir che non ho iniziato io, quindi il documento contiene numerosi package, impostazioni ecc. che non posso rimuovere perché non so dove effettivamente servano.

      Per questo, non riesco nemmeno a riprodurre un esempio minimale (che sia davvero minimale) da riportare nel forum.

      Il problema riguarda i margini, si tratta di una FAQ a cui però ho spesso trovato una risposta: “usare geometry”. A parte che il suddetto pacchetto mi ritorna un errore, ma non è il topic di questo post, vorrei evitare l’uso di altri package, non essendo sicuro del comportamento che potrebbero avere sul resto del documento, che è piuttosto lungo (circa 400 pagine).

      All’interno dell’ambiente abstract ho usato un ambiente da me definito per modificare i margini.

      \newenvironment{changemarginSummary}{%
      \begin{list}{}{%
      \setlength{\textheight}{29.7cm}%
      \setlength{\headheight}{0pt}%
      \setlength{\headsep}{0pt}%
      \setlength{\footskip}{0pt}%
      \setlength{\topmargin}{-65pt}%
      \setlength{\leftmargin}{0pt}%
      \setlength{\rightmargin}{0pt}%
      \setlength{\listparindent}{\parindent}%
      \setlength{\itemindent}{\parindent}%
      \setlength{\parsep}{\parskip}%
      }%
      \item[]
      }
      {\end{list}}

      Il codice di cui sopra, sposta il margine superiore, come richiesta, ma non aumenta lo spazio del testo, che va a capo dove andava precedentemente; nonostante l’ampio spazio bianco in fondo al documento che il cambiamento del margine superiore provoca.

      Qualcuno ha suggerimenti da darmi?

      Grazie mille per l’aiuto.

      Ciao,
      Nicola

      Forse se dici qual è il problema che tenti di risolvere definendo quell’ambiente potremmo capire meglio e proporre una soluzione

      Ciao
      Enrico

    • #69232
      Up
      0
      Down
      ::

      egreg9″ post=68361

      Buongiorno a tutti.

      Forse se dici qual è il problema che tenti di risolvere definendo quell’ambiente potremmo capire meglio e proporre una soluzione

      Ciao
      Enrico

      Ops, scusate.

      Lo scopo ultimo è far stare il summary in una sola pagina. A dire il vero questo scopo l’ho raggiunto, seppur in modo non molto elegante con \enlargethispage{80pt}
      Dico in modo non molto elegante perché così facendo il margine superiore non si modifica, ma aggiungo abbastanza spazio alla fine della pagina perché ci stia tutto il testo. Esteticamente non è il massimo, perché c’è un ampio margine superiore e un margine inferiore molto molto piccolo.

      Lo scopo di questo post, tuttavia, vorrebbe non solo trovare il modo di arrivare al risultato che desidero ma, se possibile, anche quello di capire cosa sbaglio nelle mie impostazioni, che non raggiungono il risultato che immaginavo.

      Grazie per l’aiuto.

      Ciao,
      Nicola

    • #69233
      Up
      0
      Down
      ::

      nsturaro” post=68365

      [quote=”nsturaro” post=68358]Buongiorno a tutti.

      Forse se dici qual è il problema che tenti di risolvere definendo quell’ambiente potremmo capire meglio e proporre una soluzione

      Ciao
      Enrico

      Ops, scusate.

      Lo scopo ultimo è far stare il summary in una sola pagina. A dire il vero questo scopo l’ho raggiunto, seppur in modo non molto elegante con \enlargethispage{80pt}
      Dico in modo non molto elegante perché così facendo il margine superiore non si modifica, ma aggiungo abbastanza spazio alla fine della pagina perché ci stia tutto il testo. Esteticamente non è il massimo, perché c’è un ampio margine superiore e un margine inferiore molto molto piccolo.

      Lo scopo di questo post, tuttavia, vorrebbe non solo trovare il modo di arrivare al risultato che desidero ma, se possibile, anche quello di capire cosa sbaglio nelle mie impostazioni, che non raggiungono il risultato che immaginavo.

      Non ha senso cambiare \textheight in un ambiente list.

      Ora, non so come inserisci il tuo sommario, ma è possibile che

      `\clearpage\vspace*{-4\baselineskip}\enlargethispage{4\baselineskip}
      `

      risolva il tuo problema.

      Ciao
      Enrico

    • #69234
      Up
      0
      Down
      ::

      egreg9″ post=68368

      Ora, non so come inserisci il tuo sommario, ma è possibile che

      `\clearpage\vspace*{-4\baselineskip}\enlargethispage{4\baselineskip}
      `

      risolva il tuo problema.

      Ciao
      Enrico

      Ciao e grazie per la spiegazione e per il suggerimento.

      Ho risolto, in maniera non molto elegante dal punto di vista del codice ma accettabile dal punto di vista del risultato, facendo così:
      `
      \clearpage
      \thispagestyle{empty} % Per togliere il numero di pagina
      \renewcommand{\abstractname}{} % Per togliere il titolo su cui il vspace negativo non ha effetto
      \begin{abstract} % Inizio ambiente per il summary
      \vspace{-5\baselineskip}
      \enlargethispage{5\baselineskip}
      \begin{center}\textbf{Summary}\end{center} %Sostituisce il titolo che ho rimosso
      … TESTO …
      \end{abstract}
      `

      Grazie mille.

      Ciao,
      Nicola

    • #69235
      Up
      0
      Down
      ::

      egreg9″ post=68368
      Non ha senso cambiare \textheight in un ambiente list.

      Grazie.

      Questo spiega perché la soluzione da me adottata non funziona.

      Come detto nel mio post precedente, il problema, ai fini pratici, l’ho risolto, quindi si tratta più che altro di capire meglio il funzionamento dei margini, e magari trovare una soluzione più elegante anche dal punto di vista del codice. Esiste un’alternativa analoga per modificare i margini che non faccia uso di un ambiente list?

      Grazie ancora.

      Ciao,
      Nicola

    • #69236
      Up
      0
      Down
      ::

      nsturaro” post=68371

      Non ha senso cambiare \textheight in un ambiente list.

      Grazie.

      Questo spiega perché la soluzione da me adottata non funziona.

      Come detto nel mio post precedente, il problema, ai fini pratici, l’ho risolto, quindi si tratta più che altro di capire meglio il funzionamento dei margini, e magari trovare una soluzione più elegante anche dal punto di vista del codice. Esiste un’alternativa analoga per modificare i margini che non faccia uso di un ambiente list?

      Grazie ancora.

      Ciao,
      Nicola

      Esistono molti modi. Ma senza una riga di codice è davvero impossibile aiutarti. Bastano la classe e i pacchetti (forse nessuno) indispensabili per comporre quel sommario; oltre al codice che usi ora per il sommario. Il testo non è importante.

      Ciao
      Enrico

    • #69237
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        In ogni caso se il sommario non ti sta in una pagina e ti scappa fuori di 10 righe, vuol dire che il sommario è troppo lungo per stare in una pagina; si trattasse di un paio di righe, la soluzione di enrico andrebbe più che bene; e risolvi il problema allungando lo spazio per il testo di di 80 pt, sembrerebbe che componendo in corpo 10pt e con un avanzamento di riga 12pt, ti basti uno spazio di 6 righe, quindi anche le 4 righe di Enrico sembrerebbero più che sufficienti (\enlargethispage andrebbe sempre caricato in multipli dell’avanzamento di riga \baselineskip, non di un numero assoluto di unti o di millimetri: 80pt corrispndono a 6 righe e due terzi; i due terzi sono sprecati).

        Un’altra soluzione che non cambia l’equilibrio delle pagine sarebbe quello di scrivere in carattere \small; se il copo normale è di 10pt il copro \small corrisponde a 9pt e l’avanzamento di riga dovrebbe essere di 11pt; sebbene queste cose procedano per numeri interi e sillabe intere, riducendo del 10% il corpo dovresti impegnare il 10% in meno di righe, le quali occuperebbero il 20% in meno di spazio verticale; con due conti sulle dita se il tuo testo effettivo del sommario impegna 30 righe a 10 pt, esso ne impegna 27 a 9pt; ma essendo queste righe più accostate, è come lo spazio verticale di 30 righe per 12pt/riga = 360pt si riduce a 27 righe per 11pt/riga = 297pt. Questo vuol dire che nello stesso spazio verticale ci fai stare 5 righe in più. Non bastano? usa il comando \linespread(0.95)\small e guadangi un altro 5% di spazio.

        Non ti asta ancora? bè allora l’unica soluzione è ridurre il testo del sommario che non è abbastanza succinto, oppure lasciare che il sommario prosegua nella pagina successiva. Sempre meglio che cambiare la geometri dalla pagina.

      • #69238
        Up
        0
        Down
        ::

        OldClaudio” post=68375In ogni caso se il sommario non ti sta in una pagina e ti scappa fuori di 10 righe, vuol dire che il sommario è troppo lungo per stare in una pagina; si trattasse di un paio di righe, la soluzione di enrico andrebbe più che bene; e risolvi il problema allungando lo spazio per il testo di di 80 pt, sembrerebbe che componendo in corpo 10pt e con un avanzamento di riga 12pt, ti basti uno spazio di 6 righe, quindi anche le 4 righe di Enrico sembrerebbero più che sufficienti (\enlargethispage andrebbe sempre caricato in multipli dell’avanzamento di riga \baselineskip, non di un numero assoluto di unti o di millimetri: 80pt corrispndono a 6 righe e due terzi; i due terzi sono sprecati).

        Un’altra soluzione che non cambia l’equilibrio delle pagine sarebbe quello di scrivere in carattere \small; se il copo normale è di 10pt il copro \small corrisponde a 9pt e l’avanzamento di riga dovrebbe essere di 11pt; sebbene queste cose procedano per numeri interi e sillabe intere, riducendo del 10% il corpo dovresti impegnare il 10% in meno di righe, le quali occuperebbero il 20% in meno di spazio verticale; con due conti sulle dita se il tuo testo effettivo del sommario impegna 30 righe a 10 pt, esso ne impegna 27 a 9pt; ma essendo queste righe più accostate, è come lo spazio verticale di 30 righe per 12pt/riga = 360pt si riduce a 27 righe per 11pt/riga = 297pt. Questo vuol dire che nello stesso spazio verticale ci fai stare 5 righe in più. Non bastano? usa il comando \linespread(0.95)\small e guadangi un altro 5% di spazio.

        Non ti asta ancora? bè allora l’unica soluzione è ridurre il testo del sommario che non è abbastanza succinto, oppure lasciare che il sommario prosegua nella pagina successiva. Sempre meglio che cambiare la geometri dalla pagina.

        Grazie anche a te per le osservazioni.

        Come già detto, la soluzione di Enrico ha funzionato. In realtà ero più interessato, a questo punto, a capire il perché non funzionasse la diminuzione del margine, domanda a cui Enrico ha risposto.

        Per le altre richieste di Enrico: ho utilizzato \begin{abstract}…\end{abstract} che non credo richieda particolari package. Il documento è memoir.

        Grazie a tutti per l’aiuto.

        Ciao,
        Nicola

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

    Go to top