cleveref causa errori se caricato tramite una classe – [risolto]

  • Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 5 anni fa da Diego Z..
  • Creatore
    Topic
  • #120384
    Up
    0
    Down
    ::


    Ciao a tutti.

    Ho creato una semplice classe per scrivere alcuni documenti aziendali. La classe non fa niente di particolare, principalmente si occupa di caricare i pacchetti che uso normalmente, ridefinisce maketitle per ridurre lo spazio usato (difficilmente questi documenti vengono stampati) e imposta headers e footers tramite fancyhdr.

    Se carico cleveref dentro a questa classe ottengo questo tipo di errori:
    `! LaTeX Error: Command \crefrangeconjunction undefined.

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

    l.8 \begin{document}

    Try typing to proceed.
    If that doesn't work, type X
    to quit.

    ! LaTeX Error: Command \crefrangepreconjunction undefined.

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

    `

    se invece carico cleveref direttamente nel preambolo del mio documento tutto funziona correttamente.

    Non sono riuscito a trovare una documentazione o un post, ne qui ne su texechange, che mi potesse indirizzare verso quale sia il problema.

    Qualcuno ha qualche suggerimento? Non e’ un problema bloccante, ma vorrei risolverlo.

    Di seguito ci sono il documento di test e la classe che ho creato.

    Il file di test e’ il seguente. In questo ho commentato cleveref e genera l’errore. Riabilitando cleveref qui e disabilitandolo nella classe sotto tutto funziona.

    `\documentclass{companynarrative}
    %\usepackage{cleveref}

    \author{Test Author}
    \title{Testing a class to write Company Narratives}
    \date{August 22, 2021}

    \begin{document}
    \maketitle
    \section{Section one}\label{sec-one}

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Eu ultrices vitae auctor eu augue ut lectus. Ullamcorper sit amet risus nullam eget felis eget. Urna nunc id cursus metus aliquam eleifend mi in nulla. Dui id ornare arcu odio ut sem. Malesuada bibendum arcu vitae elementum. Ultrices vitae auctor eu augue ut. Volutpat diam ut venenatis tellus in. Diam ut venenatis tellus in metus vulputate eu scelerisque felis. Ac felis donec et odio pellentesque diam. Massa tincidunt dui ut ornare lectus sit. Gravida arcu ac tortor dignissim convallis aenean. Sit amet porttitor eget dolor morbi non. Nunc mi ipsum faucibus vitae aliquet nec ullamcorper sit. Turpis massa tincidunt dui ut ornare lectus. Tristique senectus et netus et. Vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras.

    \section{Section two}

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Eu ultrices vitae auctor eu augue ut lectus. Ullamcorper sit amet risus nullam eget felis eget. Urna nunc id cursus metus aliquam eleifend mi in nulla. Dui id ornare arcu odio ut sem. Malesuada bibendum arcu vitae elementum. Ultrices vitae auctor eu augue ut. Volutpat diam ut venenatis tellus in. Diam ut venenatis tellus in metus vulputate eu scelerisque felis. Ac felis donec et odio pellentesque diam. Massa tincidunt dui ut ornare lectus sit. Gravida arcu ac tortor dignissim convallis aenean. Sit amet porttitor eget dolor morbi non. Nunc mi ipsum faucibus vitae aliquet nec ullamcorper sit. Turpis massa tincidunt dui ut ornare lectus. Tristique senectus et netus et. Vestibulum rhoncus est pellentesque elit ullamcorper dignissim cras.

    \Cref{sec-one}

    \end{document}`

    la classe e’ la seguente:

    `
    %%
    %% This is file `companynarrative.cls',
    %% generated with the docstrip utility.
    %%
    %% The original source files were:
    %%
    %% companynarrative.dtx (with options: `class')
    %% ——————————————————–
    %% The companynarrative class for typesetting narratives at company X
    %% Copyright (C) 2021 Diego Zaccariotto
    %% All rights reserved
    %%
    %% License information appended
    %%
    \NeedsTeXFormat{LaTeX2e}[2009/01/01]
    \ProvidesClass{companynarrative}%
    [2021/08/25 v.0.1 Class to typeset company narratives]
    \DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
    \ProcessOptions*\relax
    \LoadClass[a4paper,12pt]{article}
    \usepackage{layaureo}
    \usepackage{fancyhdr}
    \usepackage{polyglossia}
    \usepackage{fontspec}
    \usepackage{graphicx} %For loading graphic files
    \usepackage{lastpage} % needed for the page numbering in the footer
    \usepackage{microtype}
    \usepackage{widetable}
    \usepackage{booktabs}
    \usepackage{eurosym} % Euro symbol
    \usepackage[nospace,english]{varioref}
    \usepackage[unicode=true]{hyperref}
    \hypersetup{hidelinks}
    \usepackage{xurl}
    \usepackage{cleveref}
    \IfFileExists{zotero.bib}{
    \usepackage[backend=biber,style=numeric]{biblatex}
    \usepackage[autostyle=true,babel]{csquotes}
    \addbibresource{zotero.bib}}{}
    \renewcommand{\maketitle}{
    \begin{center}
    \large
    {\LARGE\@title}
    \par\vspace{1ex}
    \begin{tabular}[t]{c}
    \@author
    \end{tabular}
    \par\vspace{1ex}
    \@date
    \end{center}
    \@thanks
    \null
    }
    \pagestyle{fancy}
    \fancyhead{}
    \fancyhead[R]{\small{\emph{\@title}}}
    \fancyfoot[L]{\emph{Company Confidential}}
    \fancyfoot[R]{\emph{page \thepage ~of \pageref{LastPage}}}
    \fancyfoot[C]{}
    \renewcommand{\headrulewidth}{0.4pt}
    \renewcommand{\footrulewidth}{0.4pt}
    \fancypagestyle{plain}{%
    \fancyhead{}
    \fancyfoot[L]{\emph{Company Confidential}}
    \fancyfoot[R]{\emph{page \thepage ~of \pageref{LastPage}}}
    \fancyfoot[C]{}
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0.4pt}
    }
    \AtBeginDocument{\thispagestyle{plain}}%
    \newcommand{\omissis}{[\textellipsis\unkern]}
    \setdefaultlanguage[variant=british]{english}
    \defaultfontfeatures{Numbers=OldStyle,Ligatures=TeX}
    \setmainfont{Cochineal}
    %% Copyright (C) 2021 Diego Zaccariotto
    %%
    %% Distributable unde the LaTeX Project Public License,
    %% version 1.3c or higher (your choice). The latest version of
    %% this license is at: http://www.latex-project.org/lppl.txt
    %%
    %% This work is “author-maintained”
    %%
    %% This work has the LPPL maintenance status `maintained'.
    %%
    %% The Current Maintainer of this work is Diego Zaccariotto.
    %%
    %%
    %% This work consists of this file companynarrative.dtx,
    %% and the derived companynarrative.cls and companynarrative.pdf.
    %%
    %%
    %% End of file `companynarrative.cls'.
    `

Visualizzazione 1 filone di risposte
  • Autore
    Risposte
    • #120385
      OldClaudio
      Partecipante
        Up
        0
        Down
        ::


        Certamente hai letto la documentazione di cleveref (texdoc cleveref). Quindi hai letto che all’inizio del paragrafo 2 nella pagina 4, c’è scritto

        The cleveref package is loaded in the usual way, by putting the line \usepackage{cleveref}
        in your document’s preamble. However, care must be taken when using cleveref in conjunction with other packages that modify LATEX’s referencing system (see Section 13). Basically, cleveref must be loaded last.

        L’ultima frase è la frase chiave.

      • #120386
        Up
        0
        Down
        ::


        Ciao Claudio,

        si, ho letto e provato a spostare cleveref come ultimo pacchetto caricato ma mi continuava a dare problemi…

        L’ho spostato come ultima cosa nella classe e funziona.

        Grazie per la dritta, avevo male interpretato le istruzioni della documentazione 😳

    Visualizzazione 1 filone di risposte
    • Devi essere connesso per rispondere a questo topic.

    Go to top