\thetitle e fancydr

  • Creatore
    Topic
  • #50853
    samiel
    Partecipante
      Up
      0
      Down
      ::


      Come sempre spiazzato da codice trovato in rete che non funziona,
      chiedo se \thetitle si può usare nelle testatine per ottenere
      il titolo in una classe paper, perché il codice che ho trovato
      più alcune varianti (fantasiose) che ho applicato non funzionano.

      Grazie

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


        Osservando la definizione del comando “\maketitle” si nota che il titolo del documento è salvato nella variabile “\@title”.
        Pertanto puoi immaginare di definire:
        `\makeatletter
        \newcommand{\titolo}{\@title}
        \makeatother`ed usare nelle testatine il comando “\titolo”.

        😉
        LuCa

      • #50855
        samiel
        Partecipante
          Up
          0
          Down
          ::


          Vero, solo che mi produce un risultato strano.
          Questi i codici:

          retorica.tex
          `\documentclass[a4paper,12pt]{article}
          \usepackage{retorica}
          \title{\Huge{\textbf{Filosofia e retorica}}}
          \author{\Large{\textbf{Mauro Sacchetto}}}
          \date{}
          \begin{document}
          \maketitle
          \tableofcontents
          \vspace{1.5cm}
          \input{testo}
          \newpage
          \setcounter{footnote}{0}
          \input{antologia}
          \newpage
          \input{bibliografia}
          \end{document}
          `
          retorica.sty
          `\ProvidesPackage{retorica}
          \usepackage[T1]{fontenc}
          \usepackage{textcomp}
          \usepackage{ucs}
          \usepackage[utf8x]{inputenc}
          \usepackage[greek,italian]{babel}
          \usepackage{cfr-lm}
          \usepackage{microtype}
          \usepackage

          {geometry}
          \newcommand{\GR}[1]{\foreignlanguage{greek}{#1}}
          \usepackage{tabularx}
          \usepackage{booktabs}
          \usepackage{graphicx} % serve per \resizebox
          \usepackage{calc}
          \usepackage{enumitem}
          \setitemize{itemsep=.01em,leftmargin=*}
          \usepackage{emptypage}
          \makeatletter
          \newcommand{\titolo}{\@title}
          \makeatother
          \usepackage{fancyhdr}
          \setlength{\headheight}{18.0pt}
          \pagestyle{fancy}
          \lhead{}
          \chead{}
          \rhead{\titolo \hfill \thepage}
          \lfoot{}
          \cfoot{}
          \rfoot{}
          \usepackage{titletoc}
          \contentsmargin{1em}
          \dottedcontents{section}[2.5em]{}{2.3em}{0.8pc}
          \dottedcontents{subsection}[4.2em]{}{3.2em}{0.8pc}
          \renewcommand\footnoterule{%
          \kern-3\p@
          \kern2.6\p@
          \setlength{\skip\footins}{15pt}}
          \def\graffito@setup{%
          \itshape\footnotesize%
          \parindent=0pt \lineskip=0pt \lineskiplimit=0pt %
          \tolerance=2000 \hyphenpenalty=300 \exhyphenpenalty=300%
          \doublehyphendemerits=100000%
          \finalhyphendemerits=\doublehyphendemerits}
          \DeclareRobustCommand{\marginnote}{}
          \let\marginnote\marginpar
          \DeclareRobustCommand{\graffito}[1]{\marginnote%
          [\graffito@setup\raggedleft\hspace{0pt}{#1}]%
          {\graffito@setup\raggedright\hspace{0pt}{#1}}}
          \let\marginpar\graffito
          \setlength{\marginparwidth}{2cm} % x le note a margine
          \setlength{\marginparsep}{0.60cm} % x le note a margine
          \frenchspacing
          \usepackage[colorlinks,linkcolor=black,citecolor=black,urlcolor=black,
          bookmarks,bookmarksnumbered]{hyperref}`
          e infine l’inizio di testo.tex
          `\section{La retorica fra oratoria e scienza}
          \subsection*{Aristotele}
          La \textit{Retorica}\marginpar{La \emph{Retorica}} è molto probabilmente il
          risultato del lavoro editoriale di Andronico da Rodi, e fonde due libri (il
          \textsc{i} e la quasi totalità del \textsc{ii} redatti da Aristotele
          verosimilmente in gioventù (da cui la vicinanza delle sue tesi con
          l'atteggiamento del \textit{Grillo}), e la parte conclusiva (la fine del
          \textsc{ii} e tutto il \textsc{iii} Libro) redatta durante il secondo periodo
          ateniese (cioè a partire dal 335 a. C.). Questa seconda parte — giusta
          l'opinione di Hermann Diels — era in origine una serie di frammenti destinati
          a comporre un'opera autonoma, intitolata \GR{Per`i l'exewc} e dedicata allo
          stile e alla composizione.
          `
          E quando compilo:
          `(./testo.tex

          ! LaTeX Error: Not in outer par mode.

          See the LaTeX manual or LaTeX Companion for explanation.
          Type H for immediate help.

          l.3 …tit{Retorica}\marginpar{La \emph{Retorica}}
          è molto probabilmente il
          ?`
          mentre senza quel \newcommand tutto fila lliscio.
          Cos’è che dà fastidio a cosa?

          Grazie
          M.

        • #50856
          admin
          Amministratore del forum
            Up
            0
            Down
            ::


            Il fastidio è \marginpar. Togliendolo la compilazione va a buon fine, ma il titolo non esce.

            Ciao,
            ansys.

          • #50857
            samiel
            Partecipante
              Up
              0
              Down
              ::


              D’accordo, ma se io dovessi mantenere i titoletti laterali?

              E poi in effetti non si vede comunque alcun titolo nella testatina…

              M.

            • #50858
              Up
              0
              Down
              ::

              Vero, solo che mi produce un risultato strano.
              Questi i codici:

              retorica.tex
              `\documentclass[a4paper,12pt]{article}
              \usepackage{retorica}
              \title{\Huge{\textbf{Filosofia e retorica}}}
              \author{\Large{\textbf{Mauro Sacchetto}}}`

              Cos’è che dà fastidio a cosa?

              Non si devono usare MAI comandi espliciti di cambio di font in \title e in \author. Se proprio vuoi modificare come vengono composti, cambia la definizione di \maketitle e macro associate.

              Ciao
              Enrico

            • #50859
              samiel
              Partecipante
                Up
                0
                Down
                ::

                Non si devono usare MAI comandi espliciti di cambio di font in \title e in \author.

                Si fanno danni?

                E cmq resta il problema dell’utilizzo del titolo nelle testine,
                perché il codice suggeritomi da Bistek non funziona
                nemmeno se elimino la formattazione di \title e \author…

                M:

              • #50860
                Up
                0
                Down
                ::

                Non si devono usare MAI comandi espliciti di cambio di font in \title e in \author.

                Si fanno danni?

                E cmq resta il problema dell’utilizzo del titolo nelle testine,
                perché il codice suggeritomi da Bistek non funziona
                nemmeno se elimino la formattazione di \title e \author…

                Certo: il comando \maketitle, fra le altre cose, annulla la definizione di \@title e \@author.
                Puoi tenerlo dando nel documento
                `\title{Il mio titolo}
                \expandafter\let\expandafter\kepttitle\csname @title\endcsname`
                e \kepttitle si espanderà come richiesto al tuo titolo. Se proprio vuoi automatizzare la cosa nel tuo file di stile, scrivici
                `\def\title#1{\gdef\@title{#1}\gdef\kepttitle{#1}}`
                Ciao
                Enrico

              • #50861
                samiel
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Le solite impagabili magie del prof. Gregorio 🙂

                  Non si devono usare MAI comandi espliciti di cambio di font in \title e in \author. Se proprio vuoi modificare come vengono composti, cambia la definizione di \maketitle e macro associate.

                  Capisco, dal punto di vista tecnico.
                  L’unica obiezione è che, pur usando i comandi standard
                  nella classe article – e credo non per megalomania –
                  autore e titolo, non risultando in grassetto, sono meno visibili
                  dei titoli di sezione e sottsezione sottostanti….

                  M.

                • #50862
                  admin
                  Amministratore del forum
                    Up
                    0
                    Down
                    ::

                    egreg9″ post=49379Certo: il comando \maketitle, fra le altre cose, annulla la definizione di \@title e \@author.
                    Puoi tenerlo dando nel documento

                    `\title{Il mio titolo}
                    \expandafter\let\expandafter\kepttitle\csname @title\endcsname`
                    e \kepttitle si espanderà come richiesto al tuo titolo. Se proprio vuoi automatizzare la cosa nel tuo file di stile, scrivici

                    `\def\title#1{\gdef\@title{#1}\gdef\kepttitle{#1}}`

                    Riprendo questo topic.

                    Nel codice che segue, il comando \kepttitle viene riconosciuto (credo) da fancyhdr, ma non da hyperref.

                    Voglio utilizzarlo per entrambi: come posso risolvere?

                    `\documentclass{article}

                    % \course e \theacher in realtà vengono dichiarate dentro opportune opzioni di una classe
                    \def\course{Pennutologia}
                    \def\teacher{Pinco Pallino}

                    \makeatletter
                    \def\title#1{\gdef\@title{\bfseries #1\thanks{%
                    Elaborato del corso di~\course{} — professore~\teacher.}
                    }\gdef\kepttitle{\let\\\relax #1}
                    }
                    \makeatother

                    \usepackage{lipsum}
                    \usepackage{fancyhdr}
                    \pagestyle{fancy}
                    \let\rightmark\relax
                    \let\leftmark\relax
                    \fancyhead[RO]{\small\kepttitle}

                    \usepackage{hyperref}
                    \hypersetup{%
                    pdftitle={\kepttitle}
                    }

                    \title{Titolo su\\ due righe}
                    \author{A. U. Tore}

                    \begin{document}\maketitle
                    \lipsum
                    \end{document}`
                    Grazie
                    Orlando

                  • #50863
                    Up
                    0
                    Down
                    ::


                    Be’, certo, se usi \kepttitle prima di averlo definito …

                    Ciao
                    Enrico

                  • #50864
                    admin
                    Amministratore del forum
                      Up
                      0
                      Down
                      ::

                      egreg9″ post=63870Be’, certo, se usi \kepttitle prima di averlo definito …

                      Ciao
                      Enrico

                      Uh, che stupido 😳 .

                      Grazie
                      Orlando

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

                  Go to top