All notable changes to the tagpdf
package since the
2021-04-22 will be documented in this file.
The format is based on Keep a Changelog, this project uses date-based 'snapshot' version identifiers.
- user lua functions ltx.tag.get_struct_num(), ltx.tag.get_struct_counter(), ltx.tag.get_struct_num_next()
Version 0.99j
- allow \tag_if_active: to be defined in the kernel, (latex2e issue#1558)
Version 0.99i
- \tag_socket_use:nnn looses second argument when tagging is suspended.
Version 0.99h
- \tag_mc_add_missing_to_stream:Nn, \tag_mc_new_stream:n as public function for multicol.
Version 0.99g
- corrected a few temp variables
- make para-sockets optional so that they can move to lttagging.
- \tag_socket_use:nnn, adapted \UseTaggingSocket, added support for \UseExpandableTaggingSocket in preparation for the next LaTeX release
Version 0.99f
- a structure key
firstkid
that adds a structure as first kid of its parent. \tag_suspend:n
and\tag_resume:n
.
Version 0.99e
- \tag_stop:n and \tag_start:n no longer expand key in debug mode.
- speed up the creation of Ref keys, extended \tag_struct_gput:nnn
- removed outdated commands
Version 0.99d
- a key
activate/softhyphen
and related code to use soft hyphens for hyphenation if supported by the font (luamode only).
Version 0.99c
- loop with xelatex latex3/tagging-project#86
- improved detection if a class supports \chapter for ltugboat.
Version 0.99b
- \tag_spacechar_on:, \tag_spacechar_off: to locally switch off the real space chars.
- spacechar in floats on the first page
- object handling if new l3kernel is detected
Version 0.99a
- correct backend command name
Version 0.98z
- statistic and benchmark at the end of the run.
- text/lang key to change the language of structures.
- speed up writing of StructElems
- recording of used attributes.
- debug/structures showed sometimes wrong parent structure
Version 0.98x
- structure destination is added OpenAction if present
- new
viewer/startstructure
key to setup the OpenAction structure.
- missing structparent value if page is empty in lua-mode
Version 0.98w
- various keys have been renamed and the old keys deprecated. A full list can be found in the documentation.
- speed gain for large documents by using linked properties
- missing slashes in dvilualatex backend, issue #96
- lua error with large object numbers, issue #97
- existence tests for unknown props (issue latex3/latex3#1455)
- role/map-tags key
Version 0.98v
- some rolemap entries in the pdf 2.0 fallback were wrong.
- corrected fallback rolemap if a book class is used.
- removed the experimental name space latex-inline. It is unused.
Version 0.98u
- the para/begin and para/end hook now use sockets and properly support the block code in latex-lab.
- the structure number of the current para-main structure is stored to allow manipulations of the structure.
Version 0.98t
- add RoleMap also with pdf 2.0 to improve compatibility to 1.7-processor
- add option 'mathml-tags' to add mathml to this fallback RoleMap
Version 0.98s
- do not use keyword 'null' with luatex if there is no Kid.
- font of real space chars in luatex after penalties, issue #72.
- counter in OBJR code didn't follow structure counter.
- documentation errors (issues #90, #91, #92)
- support for attribute-class in paragraphs in the block code.
Version 0.98r
- support for tagging-sockets
- /Desc key to AF-files added with the texsource and mathml keys.
- ignore AFref, AFinline-key with empty value.
- Documentation changes
- move para bool to tagpdf-base
- \tag_stop:/\tag_start: keep tracking of nesting with a counter.
- test for structure end if tagging has been stopped.
- \tag_stop_group_begin: and \tag_stop_group_end:
Version: 0.98q
- removed l3ref-tmp.sty was still loaded
Version: 0.98p
- AF key now expands its argument
- \tagstop etc now stops also the para-counter (to fix tagging-project issue #34)
- AFref and mathml key
- wrapper for para counter
Version: 0.98o
- added missing variant still needed by graphic code.
Version: 0.98n
- all commands use now e-types
- deprecation error from \seq_set_map_x:
Version: 0.98m
- use new LaTeX properties if available
- change name of label to avoid problems with active underscore.
- start to move x-type functions to e-type functions
- debugging code for structures didn't correctly reflect later changes
Version: 0.98l
- use in generic mode the shipout keyword of \special/\pdfliteral if available
- \ShowTagging{debug/structures}
Version: 0.98k
- adapted parent-child rule to new ISO 32005
- prepare for changes in the footnote code in latex-lab
- improved compatibility with dvilualatex.
Version: 0.98j
- parent-child message
Version: 0.98i
- lua backend: added function to update attributes in a box.
- new keywords struct
struct_abs
andmc_abs
for\tag_get:n
. - \tag_if_box_tagged:N to allow to test if stored boxes have tags.
- \tag_mc_box_reset:N to reset the attributes in a box (lua mode).
- a definition for \newlabeldata is provided in the aux-file to ease switch between tagged and untagged documents.
- tagging of header/footer if fancyhdr is used: tagging is now correctly stopped.
Version: 0.98h
- orphaned structures without parents are now turned into artifacts.
- the namespace was not correctly restored after the end of a structure
Version: 0.98g
- issue tree-mcid-index-wrong message only once (latex3/latex2e#1010)
- add line number to parent-child messages (latex3/latex2e#1010)
- Document structure is always added.
- slow down because of an unneeded prop issue #75
- activate couldn't be used twice
Version: 0.98f
- alt and actualtext: test if the value is empty and then do nothing.
- Structure Element "Artifact" doesn't exist in pdf1.7, it is now mapped to NonStruct.
- parent-child test didn't work if structure was moved with the parent key.
Version: 0.98e
- the automatic paratagging uses now a two-level structure tpara/P
- \tag_struct_end:n for better debugging
Version: 0.98d
- missing space in luatex, issue #66
- key texsource, a variant of AFinline-o, which creates an associated file with extension tex, mimetype application/x-tex, and AFRelationship Source.
- First draft of \tag_tool:n, \tagtool: a generic interface for tagging related tasks.
Version: 0.98c
- \tag_check_child:nnTF to test if a tag is allowed as child.
- empty attributes gave faulty PDF
Version: 0.98b
- missing argument declarations in tagpdf-base, issue #65
- IDtree and option to retrieve the ID
Version: 0.98a
- parent-child test for NonStruct, Part, Div
- tagging of sectioning in the documentation
- started with dedicated latex name spaces
- namespaces definitions have been externalized and are now read from files.
- rules to check if a tag is allowed as child in the current structure. If not allow a warning is issued, more messages can be activated with log=v.
- The data for namespaces and rules are in a new module, tagpdf-data.dtx.
- adding a new tag with add-new-tag now requires that the target role is defined. Unknown roles error.
- RoleMap object is no longer written in PDF 2.0 as it uses namespaces
- in pdf < 2.0 rolemaps are resolved to the PDF standard.
- Structure destinations are used in PDF < 2.0 too -- they don't harm and can improve html export.
- \tagmcbegin no longer requires to use the tag key: the value from the surrounding structure will be used.
- title handling was faulty
- internal adaptions to changes in l3backend
- \tag_get:n{struct_num} works now correctly in nested structures, and can be used if only tagpdf-base has been loaded.
- ref key can be used more than once and collect the values
- alttext key has been renamed to alt, the older name is provided as alias
- faster processing by avoiding type look up in pdftex and luatex
- more commands are now provided by tagpdf-base.sty
- \tag_struct_object_ref:n to reference the object ref of a structure.
- a key parent to allow structures to choose their parent structure.
- setup option paratag, which allows to change the tag name used for the automatically tagged paragraphs.
- \tag_start:, \tag_stop:n and \tag_start:n to stop and start tagging for example in trial typesetting.
- missing /Pg in /OBJR object (issue #53)
- a hook was undeclared which didn't close the last structure.
- interwordspace key not defined for all engines (issue #54)
- structure number is updated also in base
- allow to access the current structure number
- attribute names are now passed through \pdf_name_from_unicode_e:n. This means slashes and spaces are allowed in the name.
- \tag_stop: as companion to \tag_stop_group_begin:
- tagpdf-base.sty with no-op versions of the main commands.
- key
root-AF
which allows to add associated files to StructTreeRoot - support for structure destination. They will be added automatically if the engine supports them and the pdf version is 2.0 (unless they are actively suppressed).
- Value of /AF should be an array
- setting the meta key activate-all to false didn't work
\tagpdfifluatexT
,\tagpdfifluatexTF
,\tagpdfifpdftexT
. Use iftex or the expl3 commands instead.
- code to close/reopen mc-chunks with pdftex over page breaks
- header and footer are artifacts by default
- mc-commands issue now marks to support paratagging with pdftex
- commands to finish streams in pdftex
- artifact accepts now also pagination/footer and pagination/header as value.
- added a check with error if the begin and end para hooks don't match.
- numbering in paratagging-show
- keys alttext-o and actualtext-o, the keys alttext and actualtext will now expand the value once.
- undeclared variable, issue #609 in latex2e
- |\tag_finish_structure:| is no longer a public command.
- lua mc-attributes are now global again
- |\tagmcbegin| and |\tagmcend| not longer ignore/remove spaces.
- space code has been separated and can be used without active tagging
- code has been reviewed and documented, many internal corrections.
- code is now in mostly one sty (with the exception of the mc-code)
- |check-tags| key. This is now done with the log-level.
- |global-mc| key. No longer needed as attributes are global again.
- user command |\tagpdfget|, probably unneeded.
- key |activate| which opens the main structure
- |\ShowTagging| command for debugging.
- code documentation
- commands to add annotations to a structure
- \tag_if_active: added
- \tagmcend no longer issues an \unskip in vertical mode. This disturbed to often spacing in unwanted places.
- key
add-new-tag
has been extended to support the PDF 2.0 name spaces - key
tag
of \tagpdfstructbegin has been extended to support the PDF 2.0 name spaces
- Support for PDF 2.0 name spaces.
- keys paratagging and paratagging-show for automatic tagging of paragraphs, commands \tagpdfparaOn and \tagpdfparaOff to disable the automatic tagging. This requires a current latex-dev
- The code to tag links has been moved from the documentation to the main package. Links are now tagged automatically (if hyperref or the commands from l3pdfannot are used). This requires a current latex-dev.
- added commands \tag_mc_end_push: and \tag_mc_begin_pop:n which allow to "interrupt" a mc-chunk to insert some sub structure by moving the current tag onto a stack. This is for example used by the links.
- a key |global-mc|. With it in luamode the mc attributes are set globally. This allows to test the differences between both approaches.