LaTeX. Пакет pdfx
LaTeX. Пакет pdfx
2021-07-30
·
2 мин. для прочтения
Пакет для создание документов pdf, соответствующих стандартам PDF/A и PDF/X.
Содержание
1 Проблемы
1.1 2021-07 Совместимость с LaTeX2e, версия от 2021-06-01
- После закрытия ошибки 605 (см. https://github.com/latex3/latex2e/issues/605) пакет pdfx перестал работать.
- В качестве временного решения предложено при компиляции откатиться на состояние до закрытия ошибки 605.
- Предложенный код (см. https://tex.stackexchange.com/questions/605854/error-using-pdfx-on-tex-live-2021):
1\ProvidesPackage{fixpdfx}[2021-07-22 A package that fixes pdfx errors on TeX Live 2021 in a quick and dirty way] 2 3% temporarily reverts https://github.com/latex3/latex2e/commit/5fb2860f2fedc87b213730f06ec1d77bcab4814a 4% resp. https://github.com/latex3/latex2e/commit/dd2ec509ec98e9c359a41e35aea6aade86485ca2 5% as it breaks pdfx (see https://tex.stackexchange.com/questions/605854/error-using-pdfx-on-tex-live-2021) 6 7\@ifpackageloaded{pdfx}{ 8 \PackageError{fixpdfx}{pdfx is loaded}{This package must be loaded before pdfx} 9}{} 10 11\ExplSyntaxOn 12 13% this is the old implementation from base/ltpara.dtx, version 1.0g 14\cs_new_protected:Npn \__old_para_end: { 15 % ltpara v1.0h as well as firstaid/latex2e-first-aid-for-external-files.dtx v1.0o inserted 16 % \scan_stop: here, which breaks pdfx 17 \mode_if_horizontal:TF { 18 \mode_if_inner:F { 19 \tex_unskip:D 20 \hook_use:n{para/end} 21 \@kernel@after@para@end 22 \mode_if_horizontal:TF { 23 \if_int_compare:w 0 < \tex_lastnodetype:D 24 \tex_kern:D \c_zero_dim 25 \fi: 26 \tex_par:D 27 \hook_use:n{para/after} 28 \@kernel@after@para@after 29 } 30 { \msg_error:nnnn { hooks }{ para-mode }{end}{horizontal} } 31 } 32 } 33 \tex_par:D 34} 35 36\PackageWarning{fixpdfx}{Patching~\para_end:~implementation~to~fix~pdfx} 37\cs_set_eq:NN \par \__old_para_end: 38% these two aren't actually required to fix pdfx, so we'll skip them... 39%\cs_set_eq:NN \@@par \__old_para_end: 40%\cs_set_eq:NN \endgraf \__old_para_end: 41 42\AtBeginDocument{ 43 \@ifpackageloaded{pdfx}{}{ 44 \PackageError{fixpdfx}{pdfx~is~not~loaded}{You~did~not~load~pdfx~and~thus~do~not~need~this~package} 45 } 46 % pdfx v1.6.3 from 2019-02-27 is bad, so anything later is hopefully fixed... 47 \@ifpackagelater{pdfx}{2019/02/28}{ 48 \PackageError{fixpdfx}{Please~check~whether~you~really~need~this~package.}{Your~pdfx~package~is~more~recent~than~2019-02-27~and~thus~might~not~require~this~package's~fix.} 49 }{} 50 51 \PackageWarning{fixpdf}{Restoring~old~\para_end:~implementation} 52 53 % restore additional definitions 54 \cs_set_eq:NN \par \para_end: 55 % see above: as we didn't replace them, no need to restore them. 56 %\cs_set_eq:NN \@@par \para_end: 57 %\cs_set_eq:NN \endgraf \para_end: 58} 59 60\ExplSyntaxOff
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.