Risposte nei forum create
-
AutoreRisposte
-
::
Battista le tue parole sono oro colato, ma …
Di classi e pacchetti creati “alla rinfusa” da contributi di utenti appassionati sono decine di migliaia e non è semplice renderli tutti compatibili con gli ammodernamenti di LaTeX; Oppure fare modifiche centralizzate che siano adatte a tutte le decine di migliaia di pacchetti e classi del sistema TeX.
Ci sono alcune collezioni che sono tenute sott’occhio; fra queste KOMA Script (mi pare di avere capito) e memoir. Tutte le aggiunte che ogni utente può fare appoggiandosi ai comandi interni di quelle classi, sembra che non soffrano i danni creati da classi o pacchetti definite magari appoggiandosi a classi o pacchetti originali di LaTeX, magari già presenti in LaTeX209, defunto più di 30 anni fa.
Hai ragione a lamentarti, ma il lavoro di Mittelbach, Fischer, e tutto il LaTeX3 team è quasi impossibile perché non sono innipotenti.
Io stesso, modestissimo programmatore dilettante, mi sono accorto che certe cose sono state modificate in modo incompatibile, compreso, a quanto pare, la macro \@startsection; sono riuscito a rimettere a posto le cose nei miei fili evitando di ricorrere a \@statsection e a gestire in modo opportuno i vari extended marks. È faticoso e si consuma tanto tempo, che preferiei dedicare ad altro. Probabilmente vale lo stesso per te e chissà per quanti altri utenti di LaTeX. Ma è impossibile fermare il progresso.Secondo me le tue giuste lamentele potrebbero essere comunicate direttamente (in inglese) a Frank Mittelbach, il cui indirizzo di posta elettronica si trova nei documenti che hai letto. Non so se il poveretto può rispondere a tutti individualmente, o puo riscrivere i documenti che hai letto aggiungendovi più informazioni sulla retrocompatibilità; già ora ci sono comandi di “fall back” per riutilizzare procedure precedenti; io non le ho mai usate, ma varrebbe la pena studiarle. Nelle newsletters (texdoc ltnews
, dove va sostituito con un valore numerico che va da 01 a 41 o 42 — non ricordo bene il numero dell’ultima); ci sono informazioni utilissime circa le correzioni, le aggiunte, il processo di tagging, eccetera; quindi anche si vari fall back implementati. ::Per avvicinarmi alla possibilità di sperimentare la costruzione di
pdf accessibili-archiviabili-taggati-strutturati
ho studiato alcuni documenti che dovrebbero dare anche indicazioni operative.Il punto di partenza è stato l’insieme dei suggerimenti di questo argomento del forum.
Ho poi consultato la pagina
https://latex3.github.io/tagging-project/documentation/usage-instructions
e il testo
Frank Mittelbach, Ulrike Fischer “The documentmetadata-support code” versione 1.0w del 2025-10-13
che si visuallizza con texdoc documentmetadata .Ho consultato poi anche una parte dei documenti citati nel testo di Frank Mittelbach e Ulrike Fischer alle pagine 2 e 3.
Risulta chiaro che il comando \DocumentMetadata modifica molti comandi per renderli “consapevoli della etichettatura” (si tradurrà così “tagging aware” ??).
Le modifiche fatte a livello profondo, cioè nel nocciolo, dovrebbero causare un basso rischio di creare incompatibilità con le definizioni e ridefinizioni operate nei pacchetti o addirittura nei singoli documenti. Invece la modifica di qualche comando di più alto livello andrà facilmente in conflitto con le definizioni e ridefinizioni fatte nei pacchetti o nei singoli documenti.
La situazione mi pare variegata anche all’interno di singole aree di intervento.
Per esempio leggendo il documento “The latex-lab-sec package – Changes related to the tagging of sectioning commands” v0.84k 2025-10-20
si vede il diverso stato dei comandi di sezionamento.
Per i comandi da “\section” in giù le modifiche sono state fatte all’interno di “\@startsection”. Questo significa che la eventale definizione dei comandi fatta usando \@startsection in una classe non standard oppure la ridefinizione fatta in un pacchetto dovrebbero funzionare correttamente. Invece \chapter e \part sono definiti in un modo diverso e quindi l’uso di classi non standard o di pacchetti che li redifiniscono andrebbero in conflitto. SPERO DI AVERE CAPITO BENE.Per quanto riguarda i comandi legati al titolo si legge già nel testo Frank Mittelbach, Ulrike Fischer “The documentmetadata-support code” che la funzionalità è garantita solo con le così dette classi standard. Ovviamente questa è una grande limitazione.
Fino quì lo studio delle carte. Prima o poi arriverò forse a fare qualche prova.
Saluti a tutti
Battista
p.s.:
Il mio post precedente contiene 4 (gruppi di) quesiti.
I primi due sono forse secondari.
Gli ultimi due mi paiono francamente significativi, perché se non avessero risposta a me resterebbe l’idea che i pdf accessibili-archiviabili-etichettati-strutturati sono privi, per ora, di utilità.
B.::Quando è stato aperto questo topic ho cercato di prenderlo come punto di partenza
per imparare almeno l’essenziale su un argomento che in precedenza avevo sempre ignorato.Ho letto alcuni testi (non tutti in modo completo) che sono :
1) Frank Mittelbach, Chris Rowley “LATEX Tagged PDF — A blueprint for a large project” TUGboat, Volume 41 (2020), No. 3
2) Ross Moore “Implementing PDF standards for mathematical publishing” TUGboat, Volume 39 (2018), No. 2
3) Frank Mittelbach, Ulrike Fischer, David Carlisle, Joseph Wright. “Automatically producing accessible and reusable PDFs with LATEX”
In ACM Symposium on Document Engineering 2024 (DocEng 2024)4) Ulrike Fischer, Frank Mittelbach “News from the LATEX Tagged PDF project: 2025” TUGboat, Volume 46 (2025), No. 2
5) “Using LaTeX to produce accessible PDF – Guidelines for LaTeX2e 2025-11-01” a cura del LaTeX Tagging Project
— https://latex3.github.io/tagging-project/documentation/usage-instructions6) O. Dru ̈mmer, B. Chang. “PDF/UA in a Nutshell — Accessible documents with PDF.” PDF Association, 2013.
7) A. Oettler. “PDF/A in a Nutshell — PDF for long-term archiving.” PDF Association, 2013.
Qualche cosa ho capito, ma vorrei capire di più prima di vedere come va qualche prova.
Per questo metto quì un po’ di QUESITI. (Vado per punti e metto in grassetto i quesiti veri e propri.)(1)
Si parla di file PDF che dovrebbe essere:
accessibile,
archiviabile,
strutturato,
etichettato (preferite “taggato”?).
I primi due attributi sono per così dire dei fini e gli ultimi due sono dei mezzi per ottenere quei fini, se capisco bene .
E’ CORRETTA QUESTA MIA DESCRIZIONE ? SI PUO’ DIRE QUALCHE COSA DI PIU’ sulla mutua relazione tra
accessibile, archiviabile, strutturato e etichettato ??
“Accessibile” e “taggato” sono concetti diversi, ma è corretto dire che indicano IN PRATICA la stessa cosa ??(2)
Gli standard sono tanti.
SAREBBE CORRETTO DIRE che il livello più avanzato, cioè PDF/UA-2, riassume e supera tutti gli altri ??
(3)
Esistono OGGI programmi, (possibilmente free-open-libre) capaci di leggere E SFRUTTARE
le particolarità dei file che seguono gli standard di archiviabilità e accessibilità ??
Elenco alcune funzioni che sarebbereo desiderabili:
a – mostrare correttamente il testo anche se il sistema non ha installato tutti i font;
b – funzioni tipo “screen reader”,
c – adattare il testo a un diverso formato di pagina (sarebbe specialmente utile per gli e-reader),
d – fare conversione in altro formato,
e – mostrare contenuti speciali, memorizzati nel file come “file incluso”.
La funzione “a” dovrebbe sostanziare il concetto di archiviabile, SE HO BEN CAPITO.
Le funzioni “b-c-d” corrispondono ad alcuni dei punti del testo di Mittelbach e Rowley su TUGboat (2020), 41-3.
La funzione “e” fa riferimento alla descrizione di PDF/A-3 in Oettler “PDF/A in a Nutshell — PDF for long-term archiving.” PDF Association, 2013.(4)
Quacuno può descrivere una esperienza di USO EFFETTIVO, per una utilità pratica conforme agli scopi dichiarati,
dei file pdf accessibili-archiviabili-strutturati-etichettati?
In mancanza di una tale esperienza sembra che i file pdf con questi standard si producano solo per controllarne la conformità.Fine dei quesiti.
Sono stato lungo, ma spero di aver elencato dei problemi veri e sensati.
Sarebbe bello se qualche esperto riuscisse a prendere spunto da quì per dare delle altre informazioni.
Intanto grazie delle informazioni già pubblicate.
Un saluto
Battista::Con l’ultima versione di LaTeX (release 2025-11-01) è disponibile un apposito pacchetto – [tt]pdfmanagement[/tt] – da caricare al posto di [tt]\DocumentMetadata[/tt], per quei documenti che hanno bisogno della sola gestione PDF (archiviabilità, metadati, etc…), ma non del supporto al tagging (v. [tt]ltnews42[/tt]).
A differenza di [tt]\DocumentMetadata[/tt], [tt]pdfmanagement[/tt] non carica il codice per il tagging PDF, e dunque evita problemi/errori con quei pacchetti e classi che non sono ancora pienamente compatibili[/url].
Questo pacchetto sostituisce in tutto e per tutto [tt]pdfx[/tt].
Esempio di preambolo:
[code]\RequirePackage{pdfmanagement}
\SetKeys[document/metadata]{
lang = it,
pdfversion = 1.7,
pdfstandard = a-3b,
}
\documentclass{article}
\usepackage[italian]{babel}
\usepackage{hyperref}
\hypersetup{%
pdftitle = Titolo,
pdfauthor = Autore,
}[/code]::Il nuovo meccanismo di tagging non serve solamente a creare un documento accessibile secondo i più recenti standard PDF/UA-1 e PDF/UA-2. Esso permette altresì di generare un PDF conforme a moltri altri standard, come quelli riguardanti l’archiviazione a lungo termine dei documenti digitali (PDF/A-1b, PDF/A-2b, …). Per un approfondimento sulla creazione di file archiviabili si rimanda alla guida tematica Creare file archiviabili con pdfLaTeX e LuaLaTeX, disponibile nella sezione ‘Documentazione’ del sito GuIT.
Di seguito un emc di documento conforme allo standard PDF/A-3b, completo di vari metadati:
[code]
\DocumentMetadata{
lang = en-US,
pdfversion = 1.7,
pdfstandard = a-3b,
}
\documentclass{article}
\usepackage{hyperref}
\hypersetup{%
pdftitle = Title,
pdfauthor = Author,
pdfsubject = {Subject1, Subject2},
}
\begin{document}
Hello World
\end{document}
[/code]Il vantaggio di creare un PDF archiviabile tramite il meccanismo di tagging è quello di non dover usare pacchetti esterni quali, ad esempio, [tt]pdfx[/tt] o [tt]xmpincl[/tt]. Il tutto si risolve utilizzando i comandi propri del kernel LaTeX.
Per contro, attualmente ci si affida ai comandi di [tt]hyperref[/tt] per aggiungere i metadati (*). A completamento del progetto, comunque, queste (e/o altre) chiavi verranno implementate all’interno di [tt]\DocumentMetadata[/tt].(*) I metadati gestiti da [tt]hyperref[/tt] sono i seguenti: [tt]pdftitle, pdfsubject, pdfauthor, pdfkeywords, pdfcreator, pdfproducer[/tt].
::Per creare un documento PDF accessibile è sufficiente aggiungere nel preambolo del codice sorgente, prima di [tt]\documentclass[/tt], la dichiarazione [tt]\DocumentMetadata[/tt]. Questa dichiarazione prevede un argomento obbligatorio, nella forma di una lista di chiavi/valore.
[code]
\DocumentMetadata{
lang = en-US,
pdfstandard = ua-2,
}
\documentclass{article}
\begin{document}
Hello World
\end{document}
[/code]Semplici esempi di codice LaTeX si trovano in una pagina dedicata.
Per un elenco esaustivo delle chiavi e dei valori si può far riferimento alla documentazione ufficiale del comando [tt]\DocumentMetadata[/tt].
Attualmente il progetto si trova in uno stato di implementazione abbastanza avanzato. È possibile creare un documento accessibile utilizzando tutti i comandi e gli ambienti definiti nel LaTeX Reference Manual, e moltissimi pacchetti e classi sono compatibili con il nuovo codice di tagging. Nel LaTeX Tagged PDF repository molti utenti segnalano, quasi quotidianamente, eventuali incompatibilità, e il LaTeX Project Team monitora[/url] lo stato di centinaia tra pacchetti e classi, classificandoli come (a) compatibili; (b) parzialmente compatibili; (c) attualmente incompatibili; (d) non supportati e (e) non ancora verificati.
Infine, esiste il servizio di validazione VeraPDF, un web client che verifica la conformità ai vari standard.
::OldClaudio” post=119922Non sei al primo messaggio, ma non hai ancora la dimestichezza dei frequentatori abituali; sì certo ci vuole un po’ di tempo.
Ma se clicchi sulla linguestta Documentazione qui in alto, vedi che in questa sezione del forum ci osno una moltitudione di gide, compresa una che rigurada l’installazione di TeX Live su Ubuntu (che è uuba macchna cnforme alle direttive del consorzio Debian. Scaricatela e leggitela; Io non uso più Linux da moltotempo,ma qando l’usavo seguivo quella procedura e nonhi maiavuto problemi.Serve tempo, hai ragione; nella fretta deve anche essermi sfuggita la regola del forum secondo la quale una guida debba essere obbligatoriamente seguita.
Se invece volessi attenermi a quanto spiegato nella guida su GUT, ma non mi sono chiari dei passaggi, sto forse commettendo un reato?
10 Dicembre 2020 alle 12:50 in risposta a: Problema con babel italian in TeXworks con TeXLive Ubuntu 20.04 [Risolto] #119202::
Non so se è corretto quello che ho fatto, però funziona.
Sono andato su
`
https://launchpad.net/~texworks/+archive/ubuntu/stable
`ho seguito le istruzioni dando i comandi
`
sudo add-apt-repository ppa:texworks/stable
sudo apt-get update
`Dopodiché ho reinstallato TeXworks e ho riprovato con il file di prima e tutto funziona.
Questo è quando è scritto nel .log`
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdflatex 2020.12.10) 10 DEC 2020 14:29
entering extended mode
restricted \write18 enabled.
%&-line parsing enabled.
**primo.tex
(./primo.tex
LaTeX2e <2020-10-01> patch level 2
L3 programming layer <2020-12-07> xparse <2020-03-03>
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/article.cls
Document Class: article 2020/04/10 v1.4m Standard LaTeX document class
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/size10.clo
File: size10.clo 2020/04/10 v1.4m Standard LaTeX file (size option)
)
\c@part=\count177
\c@section=\count178
\c@subsection=\count179
\c@subsubsection=\count180
\c@paragraph=\count181
\c@subparagraph=\count182
\c@figure=\count183
\c@table=\count184
\abovecaptionskip=\skip47
\belowcaptionskip=\skip48
\bibindent=\dimen138
)
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/fontenc.sty
Package: fontenc 2020/08/10 v2.0s Standard LaTeX package
)
(/usr/local/texlive/2020/texmf-dist/tex/latex/base/inputenc.sty
Package: inputenc 2020/08/01 v1.3d Input encoding file
\inpenc@prehook=\toks15
\inpenc@posthook=\toks16
)
(/usr/local/texlive/2020/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2020/10/27 3.51 The Babel package(/usr/local/texlive/2020/texmf-dist/tex/generic/babel/babel.def
File: babel.def 2020/10/27 3.51 Babel common definitions
\babel@savecnt=\count185
\U@D=\dimen139
\l@babelnohyphens=\language86(/usr/local/texlive/2020/texmf-dist/tex/generic/babel/txtbabel.def)
\bbl@readstream=\read2
)
\bbl@dirlevel=\count186(/usr/local/texlive/2020/texmf-dist/tex/generic/babel-italian/italian.ldf
Language: italian 2020/05/21 v.1.4.04 Italian support for the babel system
\it@lettering=\count187
\it@doublequoteactive=\count188
\it@ISOcompliance=\count189
))
(/usr/local/texlive/2020/texmf-dist/tex/latex/etoolbox/etoolbox.sty
Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
\etb@tempcnta=\count190
)
(/usr/local/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2020-09-24 L3 backend support: PDF output (pdfTeX)
\l__kernel_color_stack_int=\count191
\l__pdf_internal_box=\box47
)
(./primo.aux)
\openout1 = `primo.aux'.LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 7.
LaTeX Font Info: … okay on input line 7.
LaTeX Info: Redefining \it@ocap on input line 7.
LaTeX Info: Redefining \it@ccap on input line 7.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <7> on input line 8.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <5> on input line 8.
[1{/usr/local/texlive/2020/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] (./prim
o.aux) )
Here is how much of TeX's memory you used:
1740 strings out of 479383
23754 string characters out of 5869372
311547 words of memory out of 5000000
18906 multiletter control sequences out of 15000+600000
404961 words of font info for 29 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
49i,4n,57p,129b,140s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/local/texlive/2020/texmf-dist/fonts/enc/dvips/cm-super/cm-super-t
1.enc}
Output written on primo.pdf (1 page, 16512 bytes).
PDF statistics:
17 PDF objects out of 1000 (max. 8388607)
11 compressed objects within 1 object stream
0 named destinations out of 1000 (max. 500000)
1 words of extra memory for PDF output out of 10000 (max. 10000000)
`Penso sia okay
La versione è aggiornata e non ho problemi con babel.
E non vedo più nessun’altra installazione oltre a quella di CTAN.
10 Dicembre 2020 alle 10:20 in risposta a: Installazione TeX Live 2020 su Ubuntu 20.04 [Risolto] #1191989 Dicembre 2020 alle 23:29 in risposta a: Installazione TeX Live 2020 su Ubuntu 20.04 [Risolto] #119195::
Nel punto in cui dice di dare il comando`
$ which tex
`
non ottengo nessuna risposta.Giusto per scrupolo ho provato a dare il comando poco sopra
`
ls /usr/local/texlive/2020/bin
`
e come output ottengo:
`
ls: impossibile accedere a '/usr/local/texlive/2020/bin': File o directory non esistente
`Nessuna idea, a parte quella di affidarmi ad un guru o di gridare forte “aiuto”?
Ci tengo a precisare che ho seguito per filo e per segno la guida.
9 Dicembre 2020 alle 14:14 in risposta a: Installazione TeX Live 2020 su Ubuntu 20.04 [Risolto] #119193::
Salve,Vorrei cancellare il mio account, ho scritto diverse volte a guit@guitex.org e prima ancora a guit@santannapisa.it , ma nessuna risposta è stata ricevuta .
Continuo a riscontrare il mio precedente username che contiene nome e cognome, nelle nelle singole discussioni, ove qualcuno ha quotato quello che ho scritto .
Risolviamola così se possibile, cancellazione del profilo, e poi ne riapro uno da capo .
Grazie,
D.
-
AutoreRisposte