MatteoF

Risposte nei forum create

Stai visualizzando 15 risposte – dal 91 al 105 (di 195 totali)
  • Autore
    Risposte
  • in risposta a: Quesiti sul pacchetto Biblatex-Philosophy #121707
    MatteoF
    Partecipante
      Up
      0
      Down
      ::


      Se poi pensi che le opere di un particolare autore (per importanza che quest’ultimo ricopre nel testo) possano essere inserite in una bibliografia a parte, qui sì che è possibile, solamente per quella bibliografia, omettere il nome dell’autore stesso.
      Sarebbe il classico esempio di una tesi su di un particolare filosofo. In questo caso è evidente l’utilità, in bibliografia, di separare le sue opere rispetto alla letteratura critica.
      In questo caso, una bibliografia col titolo “Opere di Pinco Pallino” potrebbe ragionevolmente contenere tutte le sue opere, senza l’indicazione del nome.
      Probabilmente, però, questo non è il tuo caso.

      Matteo

      in risposta a: Quesiti sul pacchetto Biblatex-Philosophy #121706
      MatteoF
      Partecipante
        Up
        0
        Down
        ::


        Per il semplice significato che assume, in un qualunque contesto citazionale, la c.d. “chiave di citazione”.
        Se nel testo utilizzi lo stile “autore-anno” queste due informazioni ti saranno utili per la ricerca dell’opera in bibliografia che, per l’appunto, avrà i campi “autore/curatore” e “anno/data” all’inizio della voce bibliografica (una sorta di intestazione).
        Ma se nel testo utilizzi uno stile “verbose” qual’è l’utilità di invertire, in bibliografia, l’ordine delle informazioni (ovvero antecedere l’anno di pubblicazione rispetto al titolo dell’opera)? Secondo me: nessuna.

        Ma soprattutto mi sfugge una cosa. Cosa intendi per:

        […] non veder ripetuto decine di volte il nome dello stesso filosofo in bibliografia […]

        In [tt]philosophy-verbose[/tt] è attiva l’opzione [tt]dashed[/tt], che sostituisce il nome dell’autore/curatore con una linea. Pensi che anche questa soluzione sia poco elegante?

        Comunque, al di là di tali “elucubrazioni”, l’impossibilità di utilizzare assieme [tt]citestyle=philosophy-verbose[/tt] e [tt]bibstyle=philosophy-modern[/tt] è evidente nei fatti, come avrai già constatato, guardando l’output delle citazioni…

        Matteo

        in risposta a: Quesiti sul pacchetto Biblatex-Philosophy #121702
        MatteoF
        Partecipante
          Up
          0
          Down
          ::


          Biblatex permette di utilizzare stili diversi per le citazioni e per la bibliografia, utilizzando i comandi [tt]citestyle[/tt] e [tt]bibstyle[/tt] al posto del consueto [tt]style[/tt].
          `usepackage[citestyle=<...>, bibstyle=<...>]{biblatex}`
          Ovviamente l’accoppiata degli stili deve essere coerente, e non mi sembra che quello che vuoi fare tu lo sia. Difatti, se provi ad utilizzare questi comandi con gli stili del bundle [tt]biblatex-phylosophy[/tt], non otterrai il risultato sperato.

          Matteo

          MatteoF
          Partecipante
            Up
            0
            Down
            ::


            Buongiorno Francesco e benvenuto nel forum.

            Per ciò che vuoi fare bisogna modificare le macro [tt]issue+date[/tt], [tt]journal+issuetitle[/tt] (per gli articoli) e [tt]title+issuetitle[/tt] (per le riviste), che lo stesso [tt]biblatex-philosophy[/tt] ridefinisce all’interno di [tt]philosophy-standard.bbx[/tt].

            Nel tuo preambolo aggiungi il seguente codice (le modifiche sono spiegate tramite i commenti):
            `
            \renewbibmacro*{issue+date}{%
            \printtext{% invece di \printtext[pureparens]{%
            \iffieldundef{issue}
            {\usebibmacro{date}}
            {\printfield{issue}%
            \setunit*{\addspace}%
            \usebibmacro{date}}}%
            \newunit}

            \renewbibmacro*{journal+issuetitle}{%
            \usebibmacro{journal}%
            \setunit*{\addspace}%
            \iffieldundef{series}
            {}%
            {\newunit%
            \printfield{series}\setunit{\addspace}\midsentence}%
            \newunit%
            \usebibmacro{volume+number+eid}%
            \setunit{\addcomma\space}% invece di \setunit{\addspace}%
            \usebibmacro{issue+date}%
            \setunit{\addcolon\space}%
            \usebibmacro{issue}%
            \newunit}

            \renewbibmacro*{title+issuetitle}{%
            \usebibmacro{periodical}%
            \setunit*{\addspace}%
            \iffieldundef{series}
            {}%
            {\newunit
            \printfield{series}%
            \setunit{\addspace}\midsentence}%
            \usebibmacro{volume+number+eid}%
            \setunit{\addcomma\space}% invece di \setunit{\addspace}%
            \usebibmacro{issue+date}%
            \setunit{\addcolon\space}%
            \usebibmacro{issue}%
            \newunit}
            `
            Nota che le modifiche hanno effetto solamente se usi (come hai specificato tu) lo stile [tt]philosophy-verbose[/tt], in quanto [tt]philosophy-classic[/tt] ridefinisce queste macro in altro modo.

            Matteo

            MatteoF
            Partecipante
              Up
              0
              Down
              ::


              Nel preambolo aggiungi:
              `
              \cftinsertcode{frontmattertoc}{\renewcommand*{\cftchapterfont}{\itshape}}
              \preto{\frontmatter}{\cftinserthook{toc}{frontmattertoc}}
              \cftinsertcode{mainmattertoc}{\renewcommand*{\cftchapterfont}{\upshape}}
              \preto{\mainmatter}{\cftinserthook{toc}{mainmattertoc}}
              \cftinsertcode{backmattertoc}{\renewcommand*{\cftchapterfont}{\itshape}}
              \preto{\backmatter}{\cftinserthook{toc}{backmattertoc}}
              `
              Ovviamente dovrai aver caricato [tt]etoolbox[/tt].

              Matteo

              in risposta a: Problemi Bilatex philosophy-verbose e crossref #121462
              MatteoF
              Partecipante
                Up
                0
                Down
                ::


                Purtroppo non sono in grado di andare oltre le modifiche che ti ho proposto (ovvero la ripetizione dei soli nomi).

                Però di posso suggerire una via alternativa, ovvero: creare una categoria apposita per quelle opere collettanee non citate e quindi non presenti in bibliografia finale.
                `
                % !TEX encoding = UTF-8 Unicode
                % !TEX program = lualatex
                % !BIB program = biber

                \begin{filecontents}[overwrite]{\jobname.bib}
                @Collection{verdi:00,
                editor = {Verdi, Giuseppe and Celeste, Francesco and Neri, Luca},
                title = {Opera collettanea},
                date = {2000},
                publisher = {Editore},
                location = {Roma},
                }
                @InCollection{rossi:00,
                author = {Rossi, Mario},
                title = {Contributo primo},
                pages = {1-30},
                crossref = {verdi:00},
                }
                @InCollection{bianchi:00,
                author = {Bianchi, Luigi},
                title = {Contributo secondo},
                pages = {31-50},
                crossref = {verdi:00},
                }
                \end{filecontents}

                \documentclass{article}
                \usepackage[italian]{babel}
                \usepackage[style=philosophy-verbose, scauthors=all, maxnames=3, minnames=3]{biblatex}
                \addbibresource{\jobname.bib}
                \DeclareBibliographyCategory{notcited}

                \begin{document}
                \section{Sezione}
                \cite{rossi:00}
                \par\medskip\noindent
                \cite{bianchi:00}

                \printbibliography[notcategory=notcited]

                \addtocategory{notcited}{verdi:00}\nocite{verdi:00}
                \printbibliography[title={Opere collettanee non citate}, category=notcited]
                \end{document}
                `
                Matteo

                in risposta a: traduzione in bibliografia #121524
                MatteoF
                Partecipante
                  Up
                  0
                  Down
                  ::


                  Quasi tutti gli entry types (@article, @book, etc.) hanno il campo [tt]translator[/tt] che, se ho capito bene, è quello che serve a te.

                  In ogni caso sarebbe meglio postare un emc, anche solo per sapere quale stile biblatex usi.

                  Matteo

                  MatteoF
                  Partecipante
                    Up
                    0
                    Down
                    ::


                    Se posso dare un suggerimento, nel caso di tabella poco più larga della gabbia (test B) sarebbe più intelligente che il comportamento di default fosse quello di farla sporgere nel margine esterno (senza la possibilità di scegliere tra allineamento destro o sinistro). Rimarrebbe l’argomento facoltativo [tt]c[/tt] per la centratura della tabella.

                    Infine, sarebbe utile se questo ambiente (assieme alla macro [tt]ruotascatola[/tt]) fosse integrato nel pacchetto [tt]widetable[/tt], visto che tutte queste soluzioni mirano al medesimo scopo di migliorare l’aspetto tipografico della tabella.

                    Matteo

                    in risposta a: ottenere un numero #121491
                    MatteoF
                    Partecipante
                      Up
                      0
                      Down
                      ::


                      Inoltre, aggiungo che dalla release 2020-10-01 anche molte funzionalità di [tt]xparse[/tt] fanno parte del kernel [tt]LaTeX[/tt].
                      L’emc di camil, dunque, si riduce a:
                      `
                      \documentclass{minimal}
                      \NewDocumentCommand { \opposto } { m } { \fpeval{-1*#1} }

                      \begin{document}
                      L'opposto dell'opposto di $1$ e' $\opposto{\opposto{1}}$.

                      L'opposto di $-1.234$ e' $\opposto{-1.234}$.

                      L'opposto di zero e' $\opposto{0}$.
                      \end{document}
                      `
                      Matteo

                      in risposta a: [risolto] Manipolazioni argomento macro #121454
                      MatteoF
                      Partecipante
                        Up
                        0
                        Down
                        ::


                        Grazie mille per i chiarimenti!

                        Matteo

                        in risposta a: [risolto] Manipolazioni argomento macro #121450
                        MatteoF
                        Partecipante
                          Up
                          0
                          Down
                          ::


                          Riguardo l’eliminazione dell’ultimo carattere di una stringa, a partire da questo post sono riuscito a creare la seguente macro:
                          `
                          \cs_new_protected:Npn \my_remove_last:n #1
                          {
                          \tl_set:Nx \l_my_remove_last_tl { #1 }
                          \cs_generate_variant:Nn \tl_reverse:n {f}
                          \tl_set:Nx \l_my_remove_last_tl { \tl_reverse:f { \tl_tail:f { \tl_reverse:V \l_my_remove_last_tl } } }
                          \tl_use:N \l_my_remove_last_tl
                          }
                          `
                          Il comando [tt]\tl_tail[/tt] «discards all leading explicit space characters (explicit tokens with character code 32 and category code 10) and the first ⟨item⟩ in the ⟨token list⟩, and leaves the remaining tokens in the input stream» ([tt]interface3[/tt], p. 114). Poco male, nel mio caso d’uso la stringa di testo è una singola parola:
                          `
                          \documentclass{minimal}

                          \ExplSyntaxOn
                          \cs_new_protected:Npn \my_remove_last:n #1
                          {
                          \tl_set:Nx \l_my_remove_last_tl { #1 }
                          \cs_generate_variant:Nn \tl_reverse:n {f}
                          \tl_set:Nx \l_my_remove_last_tl { \tl_reverse:f { \tl_tail:f { \tl_reverse:V \l_my_remove_last_tl } } }
                          \tl_use:N \l_my_remove_last_tl
                          }
                          \NewDocumentCommand { \mytest } { m }
                          {
                          \my_remove_last:n {#1}
                          }
                          \ExplSyntaxOff

                          \begin{document}
                          \mytest{ciao}
                          \end{document}
                          `
                          Matteo

                          in risposta a: Problemi Bilatex philosophy-verbose e crossref #121460
                          MatteoF
                          Partecipante
                            Up
                            0
                            Down
                            ::


                            Ciao,
                            ovviamente solo Ivan, autore di [tt]biblatex-philosophy[/tt], può risponderti in modo esaustivo. Provo, comunque, a risponderti io, sperando di non dire troppe “castronate”…

                            Le due questioni sono correlate.

                            gattex” post=122018Seconda questione: quando utilizzo crossref i parametri maxnames=n, e minnames=n non sembrano funzionare: gli editori della collection vengono tagliati da et al. dopo il primo.

                            Riguardo le impostazioni [tt]maxnames[/tt] e [tt]minnames[/tt], queste riguardano solamente gli autori/curatori (ripeto: curatori!) della voce bibliografica oggetto della citazione. Nel caso, quindi, di cross-referencing le opzioni valgono per le child entries (@inbook, @incollection, etc.) e non per le parent entries (@book, @collection, etc.)

                            gattex” post=122018Prima questione: La documentazione di Bilatex philosophy, p. 13, riporta che […] Da ciò ne dedurrei che ad ogni citazione in bibliografia di un incollection venga stampata tutta la citazione della collection. Tuttavia non mi funziona per le voci successive alla seconda, che vengono accorciate

                            Presumo si voglia intendere che tutte le informazioni della @collection vengono stampate, ma solo alla prima occorrenza. E questo è ragionevole. Che senso avrebbe ripetere le stesse informazioni più volte? E magari pure di una @collection (o @book) che nel testo potrebbe anche non venire citata (e dunque non essere nemmeno stampata nella bibliografia finale). A mio avviso, tali ripetizioni avrebbero il solo fine di appesantire la lettura della bibliografia. Ma questa è un’opinione personale. Infatti, altri stili citazionali (come ad esempio lo stile standard [tt]authortitle[/tt] che è alla base di [tt]philosophy-verbose[/tt]) ripetono tutte le informazioni.

                            Comunque, se ti interessa modificare questo aspetto, dovresti (e qui rischio la “castroneria”) modificare la seguente macro:
                            `
                            \DeclareCiteCommand{\bbx@crossref@incollection}%
                            {}%
                            {\ifciteseen{%
                            \ifthenelse{\value{listtotal}=2}%
                            {\printnames[][-\value{maxnamesincross}]{labelname}}%
                            {\printnames[][-\value{minnamesincross}]{labelname}}%
                            \setunit*{\addspace}%
                            \usebibmacro{editorstrg}%
                            \setunit*{\addcomma\space}%
                            \printtext{%
                            \printfield[citetitle]{labeltitle}%
                            \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
                            {\setunit{\addspace\midsentence}}%
                            \bibstring{opcit}}}%
                            {\DeclareNameAlias{sortname}{default}%
                            \usebibmacro{usedriver:collection}}}%
                            {}%
                            {}%
                            `
                            Ad esempio, se vuoi ripetere i nomi completi dei curatori, dovrai modificare la macro in questo modo:
                            `
                            \DeclareCiteCommand{\bbx@crossref@incollection}%
                            {}%
                            {\ifciteseen{%
                            {\printnames[first-last]{labelname}}%
                            \setunit*{\addspace}%
                            \usebibmacro{editorstrg}%
                            \setunit*{\addcomma\space}%
                            \printtext{%
                            \printfield[citetitle]{labeltitle}%
                            \iftoggle{cbx:commacit}{\setunit{\addcomma\space}}%
                            {\setunit{\addspace\midsentence}}%
                            \bibstring{opcit}}}%
                            {\DeclareNameAlias{sortname}{default}%
                            \usebibmacro{usedriver:collection}}}%
                            {}%
                            {}%
                            `

                            Matteo

                            in risposta a: [risolto] Manipolazioni argomento macro #121449
                            MatteoF
                            Partecipante
                              Up
                              0
                              Down
                              ::

                              OldClaudio” post=122021Se ti immergi in LATeX3, scopri un mondo incredibilmente diverso da quanto siamo abituati a fare con LaTeX2e.

                              È da qualche settimana che ho iniziato a “giocherellare” con LaTeX3/expl3. Ho sempre seguito con interesse l’evoluzione di LaTeX (da ultimo il progetto Tagged PDF), cercando sempre di sfruttarne le potenzialità (al limite, ovviamente, delle mie capacità TeXniche e delle mie necessità pratiche).

                              Riguardo l’esigenza di una funzione che verifichi il case della prima lettera di un testo, ho trovato qualcosa di simile su tex.stackexchange. Modificando opportunamente la macro, ecco pronto il mio bel condizionale:
                              `
                              \prg_new_protected_conditional:Npnn \my_if_first_uppercase:n #1 { T , F , TF }
                              {
                              \tl_set:Nx \l_my_testa_tl { \tl_item:nn { #1 } { 1 } }
                              \tl_set:Nx \l_my_testb_tl { \exp_args:NV \text_uppercase:n \l_my_testa_tl }
                              \tl_if_eq:NNTF \l_my_testa_tl \l_my_testb_tl
                              { \prg_return_true: }
                              { \prg_return_false: }
                              }
                              `
                              La logica è la seguente: confrontare la variabile che memorizza la prima lettera di una stringa con la variabile che memorizza la stessa lettera in maiuscolo. Se le due variabili coincidono significa che la prima lettera della stringa è essa stessa una lettera maiuscola ([tt]true[/tt]), diversamente significa che la stringa inizia con una lettera minuscola ([tt]false[/tt]).

                              Di seguito un banale esempio del suo utilizzo:
                              `
                              \documentclass{minimal}

                              \ExplSyntaxOn
                              \prg_new_protected_conditional:Npnn \my_if_first_uppercase:n #1 { T , F , TF }
                              {
                              \tl_set:Nx \l_my_testa_tl { \tl_item:nn { #1 } { 1 } }
                              \tl_set:Nx \l_my_testb_tl { \exp_args:NV \text_uppercase:n \l_my_testa_tl }
                              \tl_if_eq:NNTF \l_my_testa_tl \l_my_testb_tl
                              { \prg_return_true: }
                              { \prg_return_false: }
                              }
                              \NewDocumentCommand { \mytest } { m }
                              {
                              \my_if_first_uppercase:nTF {#1}
                              { La~parola~ \emph{#1} ~inizia~con~una~lettera~ \text_uppercase:n {maiuscola}. }
                              { La~parola~ \emph{#1} ~inizia~con~una~lettera~minuscola. }
                              }
                              \ExplSyntaxOff

                              \begin{document}
                              \mytest{übersetzung}

                              \mytest{Übersetzung}
                              \end{document}
                              `
                              Per quanto riguarda la mia seconda esigenza (eliminazione dell’ultimo carattere di una stringa) avevo già letto gli «Appunti di programmazione in LaTeX e TeX» di Enrico Gregorio. Effettivamente sono presenti alcuni esempi sul genere (§ 7.2 Trattamento di liste di token in ε-TeX). Come potete immaginare: puro e crudo (e oscuro) linguaggio TeX.
                              Poco male: in [tt]interface3[/tt] (cap 15) ho già individuato le funzioni opportune… Stay tuned…

                              Matteo

                              in risposta a: [risolto] Manipolazioni argomento macro #121446
                              MatteoF
                              Partecipante
                                Up
                                0
                                Down
                                ::


                                Ciao Roberto,
                                grazie mille per la tua proposta in linguaggio [tt]Lua[/tt]. Pur non conoscendo la programmazione, sono riuscito ad adattare il codice al mio caso d’uso:
                                `
                                \directlua{
                                myLib = {}
                                function myLib.checkUppercase(s)
                                assert(type(s)==[[string]])
                                local code = string.byte(s, 1)
                                if code > 64 and code < 91 then return false else return true end end } \newcommand{\checkuppercase}[1]{% \directlua{ local s = [==[#1]==] if myLib.checkUppercase(s) then tex.sprint[==[\noindent]==] end} } ` Il tutto funziona, però la tua funzione [tt]myLib.checkUppercase(s)[/tt] ha dei limiti abbastanza importanti. Ovvero: funziona solamente con caratteri ASCII. Quindi fallisce con accenti e segni diacritici :( ` % !TeX program = LuaLaTeX \documentclass{article} \directlua{ myLib = {} function myLib.checkUppercase(s) assert(type(s)==[[string]]) local code = string.byte(s, 1) if code > 64 and code < 91 then return true else return false end end } \newcommand{\isUpper}[1]{\directlua{ local s = [==[#1]==] if myLib.checkUppercase(s) then tex.sprint[[yes]] else tex.sprint[[no]] end }} \begin{document} \isUpper{è} \isUpper{È} \end{document} ` Matteo

                                in risposta a: Ripetizione di una parte di testo (abstract o simile) #70121
                                MatteoF
                                Partecipante
                                  Up
                                  0
                                  Down
                                  ::

                                  Gaby” post=122005Uso Miktex.
                                  A me non funziona….tanto per cambiare….non trova il testo memorizzato

                                  E non sei curioso di sapere perché non ti funziona? Posta un emc, così vediamo dove sta l’inghippo…

                                  Matteo

                                Stai visualizzando 15 risposte – dal 91 al 105 (di 195 totali)

                                Go to top