[RISOLTO] Cross-reference tra parentesi

  • Creatore
    Topic
  • #109855
    Up
    0
    Down
    ::


    Ciao a tutti/e,

    sto usando il pacchetto linguex (so che non è molto usato, ma provo lo stesso) e vorrei i riferimenti agli esempi tra parentesi, così:

    (1) Esempio

    Questo era l’esempio numero (1)

    Invece mi esce

    (1) Esempio

    Questo era l’esempio numero 1

    Ma se il riferimento è a un esempio in livello inferiore, allora la parentesi appare:

    (1) a. Esempio
    b. Secondo esempio

    Questo era l’esempio numero (1-a)

    Vorrei uniformare questa cosa, ma non so come fare. Nella documentazione del pacchetto non ho trovato nulla di utile. In linguex un esempio si fa così:

    `\ex.\label{prim}`

    oppure

    `\ex.\a.
    \b.\label{sec}`

    e il riferimento è come al solito `\ref{prim}` e `\ref{sec}`. immagino che la soluzione migliore sarebbe creare un nuovo comando nel preambolo in cui dico che voglio che `\ref{}` sia tra parentesi, ma non so come fare. In un latro forum ho trovato questo:
    `\let\oldref\ref
    \renewcommand{\ref}[1]{(\oldref{#1})}`

    ma non funziona. Idee?

    Graziee!!

Visualizzazione 6 filoni di risposte
  • Autore
    Risposte
    • #109856
      Massimiliano
      Partecipante
        Up
        0
        Down
        ::


        Ciao martina_etabeta,

        in questa discussione usano il seguente codice:
        `
        \AtBeginDocument{\let\origref\ref
        \renewcommand{\ref}[1]{(\origref{#1})}}
        `
        che va messo nel preambolo.

        Spero di esserti stato utile.

      • #109857
        Up
        0
        Down
        ::


        Ciao martina_etabeta.

        Senza modifiche particolari nel preambolo, ho usato questo codice:
        `% !TEX encoding = UTF-8 Unicode
        % !TEX TS-program = pdflatex

        \documentclass{minimal}

        \usepackage[T1]{fontenc}
        \usepackage{linguex}

        \begin{document}

        \ex. Primo esempio per martina\textunderscore etabeta \label{uno}
        \a. Questo \`e il secondo livello di anidamento \label{a}
        \b. Secondo livello di annidamento \label{b}
        \a. Terzo livello con cifre romane \label{i}
        \b. Ancora \label{ii}
        \b. E ancora: fine! \label{iii}

        Con questa frase mi sto riferendo all'esempio \ref{uno}. La parentesi funziona!

        Il secodo livello di annidamento \`e ai punti \ref{a} e \ref{b}.

        Infine, il terzo livello \`e ai punti \ref{i}, \ref{ii} e \ref{iii}.

        \end{document}`
        e ottengo tranquillamente la parentesi anche per l’esempio numero (1) 🙂
        [attachment=1850]Immagine_2017-03-13.png[/attachment]
        Sembra che funzioni!

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


        Grazie a entrambi!
        in realtà mi serve farlo nel preambolo, perché il documento è già tutto scritto, ma grazie lucaiacolettig, ne terrò conto per le prossime volte ^_^
        Usando il codice consigliato da Marluxia le parentesi ci sono, grazie 😀 Ora però nei casi in cui faccio riferimenti a esempi di livello inferiore mi escono due parentesi:

        (1) a. Esempio
        b. Secondo esempio

        Questo era l’esempio numero ((1-a))

        🙁 c’è modo di evitare questo inconveniente? Graziee!

      • #109859
        Up
        0
        Down
        ::


        Ho provato, ma a me non viene 🙁

      • #109860
        Up
        0
        Down
        ::


        Puoi riportare un esempio compilabile del tuo codice?
        Includi il tuo preambolo attuale e dei passi del testo con gli elenchi degli esempi ed i riferimenti problematici.

      • #109861
        Up
        0
        Down
        ::


        Sì, certo. Grazie mille! Ecco:

        `\input{Impostazioni}
        \usepackage[autostyle]{csquotes}
        \usepackage[style=authoryear,sorting=nyt,backend=biber]{biblatex}

        \renewbibmacro{in:}{%
        \ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
        \DeclareNameAlias{sortname}{last-first}

        \usepackage{chngcntr}
        \counterwithout{ExNo}{chapter}

        \addbibresource{References.bak}

        \usepackage{geometry}
        \usepackage{setspace}
        \geometry{a4paper,top=3cm,bottom=3cm,left=3cm,right=3cm,%
        heightrounded,bindingoffset=5mm}
        \onehalfspacing

        \usepackage{color}
        \usepackage{linguex}
        \author{Martina Rosola}
        \title{Generics: from semantics to role in social cognition}
        \begin{document}

        Generics are sentences that express general claims, as shown in \ref{gen2}:

        \ex. \label{gen2}
        \a.\label{tig} Tigers are striped.
        \b. Dogs are mammals.
        \c. Cats have four legs.

        Sentence \ref{tig} generalise over tigers.
        However, even if this paraphrase works with the sentences in \ref{gen2}, it is not good for generics like \ref{books} and \ref{WNV}:

        \ex.\label{books} Books are paperbacks.

        \ex.\label{WNV} Mosquitoes carry the West Nile Virus.

        \end{document}
        [attachment:1]C:\fakepath\impostazioni.tex[/attachment]

        `

      • #109862
        Up
        0
        Down
        ::


        Ok, ho capito dov’è il problema. Ho inserito questo nel preambolo perché non volevo che la numerazione degli esempi ripartisse ad ogni capitolo: `\usepackage{chngcntr}
        \counterwithout{ExNo}{chapter}`
        Tuttavia, questo toglie le parentesi alle reference degli esempi. Infatti, com’è scritto nella documentazione del pacchetto “By default it also redefines the \the⟨ctr⟩ command so that it just typesets an arabic numeral. The starred version of the command suppresses the redefinition of \the⟨ctr⟩.”

        Quindi, mettendo nel preambolo `\usepackage{chngcntr}
        \counterwithout*{ExNo}{chapter}` INVECE di `\usepackage{chngcntr}
        \counterwithout{ExNo}{chapter}` ottengo, come desiderato, una numerazione unica per tutto il documento E i riferimenti agli esempi tra parentesi 😉

        Grazie a tutti/e per l’aiuto!!

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

    Go to top