53

I have heard about PDF subsets PDF/A (for archival) and PDF/X (for printing). How to generate LaTeX documents like that?

I'm also interested in answers with plain TeX and ConTeXt, and hopefully with both pdfTeX and XeTeX engines.

29

ConTeXt now supports PDF/X out of the box. You need the latest version of ConTeXt for this to work (that is, the version from TL 2010 does not have this support). This only works with MkIV (that is, luaTeX) and not pdfTeX and XeTeX.

Basically, all you need to do is

\setupinteraction
     [title={...},
      subtitle={...},
      author={...},
      keywords={...}]

and then

\setupbackend
   [format={...},
    intent={...}]

See context wiki for details.

  • So it does work with TL 2011? – Dima Jan 17 '12 at 12:05
  • 1
    In addition to the PDFX page linked, there is also the PDF/A page on Context Garden. – Brian M. Hunt Aug 26 '14 at 19:45
  • 1
    Is there a new package for LaTeX which does the PDF/A conversion, apart from pdfx ? – Ibn Saeed May 5 '15 at 9:13
25

This is not just a question of 'use the right package', as you also have to watch what you do with your input. For LaTeX, take a look at pdfx. For plain TeX, you probably need to look over the LaTeX stuff, code your own bits and away you go! I'm not sure about ConTeXt: undoubtedly it can include the same data that LaTeX can, as ultimately the engine is the same.

  • 9
    pdfx is also a bit buggy. For example it assumes your timezone is East of Greenwich, and it will happily clobber user commands with its own commands (for which it uses \def instead of \newcommand). – Lev Bishop Aug 22 '10 at 23:42
11

To go a bit further, if you perform a full check of a LateX document with Acrobat Pro, it seems that there is no way you can avoid messages like:

  • "None of the images on this page that need alternate text have it."
  • "All of the text on this page lacks a language specification."
  • "Text that does not map to Unicode reliably may be read incorrectly by assistive technologies." (for equations and mathematical fonts mainly)

Your lights are of interest to me.

8
+50

As of January 2017 pdfx package improved a lot but still has some problemswith producing expected results. That's why i use some handcrafted solution for small list of options (this sample is also a test for differrent problems):

% Úτƒ-8 encoded
\RequirePackage{filecontents}
\begin{filecontents*}{pdfaxcode.tex}
\ifnumgreater{\value{pdftype}}{0}{%

    \pdfstringdef\inputTitle{\docTitle}

    \newcommand\inputxTitle{<< /Title(\inputTitle) >>}

    \newcommand\inputxModDate{<< /ModDate(\DTMnow) >>}

    \newcommand\inputxCreationDate{<< /CreationDate(\DTMtoday000000Z) >>} %Fix for incorrect Creation Date in pdf/a Xelatex xmp (may be needless in future after changes in hyperxmp and/or xetex)
}{}

\makeatletter
\ifboolexpr{test {\ifnumequal{\value{pdftype}}{2}} and test {\ifnumequal{\value{colourmode}}{1}}}{%
    % Dirty hack of hyperref to make rgb-like links annotated with C mark become annotated with K mark to work in PDF/A with CMYK
    % makeatletter - makeatother needed
    \patchcmd{\hyper@linkfile}{/C[}{/K[}{}{}
    \patchcmd{\hyper@linkurl}{/C[}{/K[}{}{}
    \patchcmd{\find@pdflink}{/C[}{/K[}{}{}
    \patchcmd{\hyper@linkstart}{/C[}{/K[}{}{}
}{}
\makeatother


%%%Does not work inside ifthen environments
%%http://tex.stackexchange.com/a/248911
%%72.27 pt is 72 bp, 800/803 %%http://tex.stackexchange.com/a/113513
%%(mm size * 72)/25.4 = bp size
\makeatletter
\edef\pwbp{\strip@pt\dimexpr0.996264009963\paperwidth\relax} %paper width in bp (PS points)
\edef\phbp{\strip@pt\dimexpr0.996264009963\paperheight\relax} %paper height in bp (PS points)
\makeatother

\edef\calcpdfpageattr{%
    /TrimBox [0.00000 0.00000 \pwbp\space\phbp]%
}

\ifnumequal{\value{pdftype}}{1}{%
    \hypersetup{pdfstartpage={},% disable openaction of hyperref for PDF/X compliance
    }

    \ifXeTeX
    %%%%%%%%% PDF-X stuff, IF USING xelatex %%%%%%%%%
        \makeatletter
        \AtBeginShipout{% %A hook that is executed for every page
            \special{pdf: put @thispage
              << \expandafter\calcpdfpageattr >>
            }
        }
        \special{pdf: put @thispage
          << \expandafter\calcpdfpageattr >>
        }
        \special{pdf:docinfo
          <<
            /GTS_PDFXVersion (PDF/X-1:2001)
            /GTS_PDFXConformance (PDF/X-1a:2001)
            /Trapped/False
          >>
        }
        \special{pdf:put @docinfo
          \inputxTitle
        }

        {\DTMsetstyle{pdf}
            \special{pdf:put @docinfo
              \inputxModDate
            }
        }

        \ifnumequal{\value{iccinsert}}{1}{
            % insert CMYK icc from pdfx package inside file
            \special{pdf:fstream @cmykdata (coated_FOGRA39L_argl.icc)
                <<
                  /N 4^^J/Alternate/DeviceCMYK
                >>
            }%
            \special{pdf:put @catalog
            <<
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Info(FOGRA39L)
                  /Type /OutputIntent
                  /S /GTS_PDFX
                  /DestOutputProfile @cmykdata
                  /OutputConditionIdentifier (Coated FOGRA39)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            >>
            }%
        }{%
            % don't insert CMYK icc from pdfx package inside file
            \special{pdf:put @catalog
            <<
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Info (none)
                  /Type /OutputIntent
                  /S /GTS_PDFX
                  /OutputConditionIdentifier (Custom)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            >>
            }
        }%
        \makeatother    
    \else
    %%%%%%%%% PDF-X stuff, IF USING pdflatex or lualatex %%%%%%%%%
        \expandafter\pdfpageattr\expandafter{\calcpdfpageattr} %works

        \pdfinfo{ %for PDF/X %fill manually
          /Title(\inputTitle)
          /GTS_PDFXVersion (PDF/X-1:2001)
          /GTS_PDFXConformance (PDF/X-1a:2001)
        }%

        \ifnumequal{\value{iccinsert}}{1}{
            % insert CMYK icc from pdfx package inside file
            \immediate\pdfobj stream attr{/N 4^^J/Alternate/DeviceCMYK} file{coated_FOGRA39L_argl.icc}
            \pdfcatalog{%
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Info (FOGRA39L)
                  /Type /OutputIntent
                  /S /GTS_PDFX
                  /DestOutputProfile \the\pdflastobj\space 0 R
                  /OutputConditionIdentifier (Coated FOGRA39)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            }
        }{%
            % don't insert CMYK icc from pdfx package inside file
            \pdfcatalog{ %для PDF/X
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Info (none)
                  /Type /OutputIntent
                  /S /GTS_PDFX
                  /OutputConditionIdentifier (Custom)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            }%
        }%
    \fi

    \NoHyper%Have to kill all links/annotations for pdf-x compliance
    %http://tex.stackexchange.com/a/300675 %NoHyper environment does not deactivate the creation of bookmarks, the inclusion of document information etc.
}{}

\ifnumequal{\value{pdftype}}{2}{%

    \ifXeTeX
    %%%%%%%%% PDF-A stuff, IF USING xelatex %%%%%%%%%
        \AtBeginShipout{% %A hook that is executed for every page
            \special{pdf: put @thispage
              << \expandafter\calcpdfpageattr >> %not really needed for PDF/A
            }
        }
        \special{pdf: put @thispage
          << \expandafter\calcpdfpageattr >> %not really needed for PDF/A
        }

        {\DTMsetstyle{pdf}
            \special{pdf:put @docinfo
              \inputxCreationDate
            }
        }

        \ifnumequal{\value{colourmode}}{1}{%
            %load cmyk icc inside pdf/a with cmyk
            \special{pdf:fstream @cmykdata (coated_FOGRA39L_argl.icc)
                <<
                  /N 4
                >>
            }%
            \special{pdf:put @catalog
            <<
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Type /OutputIntent
                  /S /GTS_PDFA1
                  /DestOutputProfile @cmykdata
                  /OutputConditionIdentifier (Coated FOGRA39)
                  /Info(FOGRA39 (ISO Coated v2 300\% (ECI)))
                  /RegistryName (http://www.argyllcms.com/)
                >>
              ]
            >>
            }%
        }{%
            \makeatletter
            \special{pdf:fstream @srgbdata (sRGB_IEC61966-2-1_black_scaled.icc)
                <<
                  /N 3^^J/Alternate/DeviceRGB
                >>
            }%
            \special{pdf:put @catalog
            <<
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Type /OutputIntent
                  /S /GTS_PDFA1
                  /DestOutputProfile @srgbdata
                  /OutputConditionIdentifier (sRGB_IEC61966-2-1_black_scale)
                  /Info(sRGB IEC61966 v2.1 with black scaling)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            >>
            }%
            \makeatother
        }


    \else
    %%%%%%%%% PDF-A stuff, IF USING pdflatex or lualatex %%%%%%%%%
        \expandafter\pdfpageattr\expandafter{\calcpdfpageattr} %not really needed for PDF/A

        \ifnumequal{\value{colourmode}}{1}{%
            \immediate\pdfobj stream attr{/N 4} file{coated_FOGRA39L_argl.icc} %loads from pdfx package distribution
            \pdfcatalog{ %for PDF/A
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Type /OutputIntent
                  /S /GTS_PDFA1
                  /DestOutputProfile \the\pdflastobj\space 0 R
                  /OutputConditionIdentifier (Coated FOGRA39)
                  /Info(FOGRA39 (ISO Coated v2 300\% (ECI)))
                  /RegistryName (http://www.argyllcms.com/)
                >>
              ]
            }%
        }{%
            \immediate\pdfobj stream attr{/N 3^^J/Alternate/DeviceRGB} file{sRGB_IEC61966-2-1_black_scaled.icc}
            \pdfcatalog{ %for PDF/A
              /PageMode /UseNone
              /OutputIntents [
                <<
                  /Type /OutputIntent
                  /S /GTS_PDFA1
                  /DestOutputProfile \the\pdflastobj\space 0 R
                  /OutputConditionIdentifier (sRGB_IEC61966-2-1_black_scale)
                  /Info(sRGB IEC61966 v2.1 with black scaling)
                  /RegistryName (http://www.color.org/)
                >>
              ]
            }%
        }

    \fi

    \ifbool{xetexorluatex}{}{%
        %%% Solving \textnumero problem in russian pdflatex with PDF/A
        %%% Don't know how to explain why this works
        \UndeclareTextCommand{\textnumero}{T2A}
        \UndeclareTextCommand{\S}{T2A}
        \UndeclareTextCommand{\textpertenthousand}{T2A}
        \usepackage[safe]{textcomp}
    }
    %%% Setting custom PDF/A part and conformance through hyperxmp
    \hypersetup{%
        pdfapart = {\pdfapart},
        pdfaconformance = {\pdfaconformance},
    }
}{}
\end{filecontents*}
%%%% PDF/A PDF/X setup part %%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Variables initiating  %%%
\newcounter{colourmode}
\newcounter{pdftype}
\newcounter{iccinsert}

%% Control of colour mode and pdf type
\setcounter{colourmode}{1}  % 0 --- undefined; 1 --- cmyk (always for pdf/x); 2 --- rgb
\setcounter{pdftype}{2}     % 0 --- undefined; 1 --- pdf/x; 2 --- pdf/a
\setcounter{iccinsert}{0}   % 0 --- don't upload icc cmyk inside pdf/x; 1 --- upload icc cmyk inside pdf/x;
\newcommand{\pdfapart}{2}        % PDF/A part
\newcommand{\pdfaconformance}{U} % PDF/A conformance
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Defining function to check compiler %%%
\RequirePackage{iftex}
\newif\ifxetexorluatex   % new if operator (http://tex.stackexchange.com/a/47579)
\ifXeTeX
    \xetexorluatextrue
\else
    \ifLuaTeX
        \xetexorluatextrue
    \else
        \xetexorluatexfalse
    \fi
\fi


\ifXeTeX
%%%%Needs to be compiled with commandline: "xelatex.exe -synctex=1 -interaction=nonstopmode -output-driver="xdvipdfmx -V 3 -z 0" --shell-escape %.tex" % as PDF 1.3 required by PDF/X
\else
    \ifLuaTeX
        % http://tug.org/TUGboat/tb37-1/tb115hagen-pdf.pdf
        \ifnum\luatexversion>81
            \RequirePackage{luatex85}
        \else
        \fi
    \else
    \fi
    \pdfobjcompresslevel=0%
    \pdfminorversion=3% Setting version of pdf % must be set 3 for PDF 1.3 required by PDF/X
    \pdfinclusioncopyfonts=1% If positive, this parameter forces pdfTEX to include fonts from a pdf file loaded with \pdfximage, even if those fonts are available on disk. Bigger files might be created, but included pdf files are sure to be embedded with the adequate fonts; indeed, the fonts on disk might be different from the embedded ones, and glyphs might be missing.
\fi

\RequirePackage{etoolbox}[2015/08/02]

%%%% PDF/A PDF/X setup part END %%%%

%%% Main class setting %%%

\documentclass[a4paper,12pt]{article}

%%%% For proper copypasting of text from pdf
\ifboolexpr{test {\ifnumgreater{\value{pdftype}}{0}} and not bool {xetexorluatex}}{%
    \RequirePDFTeX  % tests for PDFTEX use and throws an error if a different engine is being used
    \input glyphtounicode.tex
    \input glyphtounicode-cmr.tex %from pdfx package
    \pdfgentounicode=1
}{}

%%%% Setting options for russian language that follows.
\ifxetexorluatex
    \usepackage[tuenc]{fontspec}[2016/02/01]
    \usepackage{polyglossia}[2014/05/21]
    \setmainlanguage[babelshorthands=true]{russian}
    \setotherlanguage{english}
    \defaultfontfeatures{Ligatures=TeX}
%    \setmainfont{DejaVu Serif}
%    \newfontfamily\cyrillicfont{DejaVu Serif}
%    \setsansfont{DejaVu Sans}
%    \newfontfamily\cyrillicfontsf{DejaVu Sans}
%    \setmonofont{DejaVu Sans Mono}
%    \newfontfamily{\cyrillicfonttt}{DejaVu Sans Mono}
    \setmainfont{CMU Serif}
    \setsansfont{CMU Sans Serif}
    \setmonofont{CMU Typewriter Text}
    \newfontfamily\cyrillicfont{CMU Serif} % Uncomment if asked to define cyrillic fonts.
    \newfontfamily\cyrillicfontsf{CMU Sans Serif} % Uncomment if asked to define cyrillic fonts.
    \newfontfamily\cyrillicfonttt{CMU Typewriter Text} % Uncomment if asked to define cyrillic fonts.

\else
    \RequirePDFTeX                                  % tests for PDFTEX use and throws an error if a different engine is being used

%%% Russian language setting
    \usepackage{cmap}                               % Better search for russian text in pdf-file
    \defaulthyphenchar=127                          % Better hyphenation for copypasting
    \usepackage[T2A]{fontenc}                       % Russian letters support
    \usepackage[utf8]{inputenc}[2014/04/30]
    \usepackage[english, german, russian]{babel}[2014/03/24]

\fi

%%% Colours
\ifboolexpr{test {\ifnumequal{\value{colourmode}}{1}} or test {\ifnumequal{\value{pdftype}}{1}}}{
    \usepackage[dvipsnames, table, hyperref, cmyk]{xcolor}  % cmyk colours --- needed for PDF/X, questionable for PDF/A
}{%
    \ifnumequal{\value{colourmode}}{2}{%
        \usepackage[dvipsnames, table, hyperref, rgb]{xcolor}  % rgb colours
    }{%
        \usepackage[dvipsnames, table, hyperref]{xcolor}
    }
}


\usepackage{tikz}
    \usetikzlibrary{arrows.meta}


%\ifXeTeX
%\else
%    \usepackage{dejavu}
%\fi


%%% PDF/A PDF/X needed packages %%%
\ifboolexpr{test {\ifnumgreater{\value{pdftype}}{0}} and bool {XeTeX}}{%
    \usepackage{atbegshi}
    \usepackage[russian]{datetime2} % for \pdfdate command
}{}



\newcommand{\docTitle}{Тестовый ŘÍŽŤŮĚĎ документ --- PDF/A and PDF/X test document}
\newcommand{\docAuthor}{Имя Фамилия ŠŘÍŽŤŮĚĎ}
\newcommand{\AuthorURL}{http://orcid.org/0000-0000-0000-0000} 
\title{\docTitle}
\author{\docAuthor}

%%% Hyperlinks %%%
\usepackage{hyperxmp}[2016/04/27] % extended pdf options
\ifnumless{\value{pdftype}}{2}{%
    \usepackage{hyperref}[2012/11/06]
}{%
    \usepackage[pdfa]{hyperref}[2012/11/06] %The default value of the new option 'pdfa' is 'false'. It influences  the loading of the package and cannot be changed after hyperref is  loaded. Hyperxmp also uses it and set pdf/a xmp options
}


\definecolor{citecolor}{cmyk}{0,0.6,0,0}

\hypersetup{% 
    unicode=true,
    pdftitle={\docTitle},
    pdfauthor={\docAuthor}, % ƀ-ɏɐ-ʯḀ-ỿⱠ
    pdfcopyright={This work is licensed under Creative Commons Public Attribution 4.0 International License},
    pdfsubject={Subject}, 
    pdfkeywords={PDF/A} {PDF/X} {TeX} {LaTeX} {Typesetting},
    pdflicenseurl={http://creativecommons.org/licenses/by/4.0/},
    pdfmetalang={en},
    pdflang={ru},
%    pdfdate={\today},
    bookmarksopen=true,
    bookmarksopenlevel=3,
    hypertexnames=false,% use guessable names for links
    linktocpage=true,
    plainpages=false,           % Forces page anchors to be named by the Arabic form  of the page number, rather than the formatted form
    colorlinks,
    breaklinks,
    citecolor={citecolor},
        pdfcontacturl = {\AuthorURL},
        pdfcontactaddress = {123456\xmpcomma\ Москва\xmpcomma\ \AuthorURL},
        pdfcontactcity = {Город \AuthorURL},
        pdfcontactcountry = {Россия},
        pdfcontactemail = {some\_mail@mail.ru}, 
        pdfcontactphone = {+7 (333) \AuthorURL},
        pdfcontactpostcode = {123456 postcode \AuthorURL},
        pdfcontactregion = {Регион \AuthorURL},
}

\input{pdfaxcode}

\begin{document}

\textnumero \S \textpertenthousand \textthreequarters \textohm \textmho \textmu \texttimes \textdiv

\tableofcontents

\maketitle

\section{Введение} %Russian text of pangrams for my  testing

Любя, съешь щипцы, "--- вздохнёт мэр, "--- кайф жгуч. Шеф взъярён тчк щипцы с~эхом гудбай Жюль. Эй, жлоб! Где туз? Прячь юных съёмщиц в~шкаф. Экс-граф? Плюш изъят. Бьём чуждый цен хвощ! Эх, чужак! Общий съём цен шляп (юфть) "--- вдрызг!

Příliš žluťoučký kůň úpěl ďábelské ódy! Typographie ist zweidimensionale Architektur und bedingt extra Qualität in jeder vollkommenen Ausfuehrung. Государев указ: душегубцев да шваль всякую высечь, да калёным железом по щекам этих физиономий съездить! 200\dots450~${}^\circ$C~\cite{Pomerantz1969,Low_temp_wafer_AB,pangrams_in_bib}. Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства. Подъехал шофёр на рефрижераторе грузить яйца для обучающихся элитных медиков. 

Эй, цирюльникъ, ёжик выстриги, да щетину ряхи сбрей, феном вошь за печь гони!
Экс-граф? Плюш изъят.
Бьём чуждый цен хвощ!  Эй, жлоб! Где туз? Прячь юных съёмщиц в шкаф.
— Любя, съешь щипцы, — вздохнёт мэр, — кайф жгуч.
В чащах юга жил-был цитрус...
— да, но фальшивый экземпляръ! Южно-эфиопский грач увёл мышь за хобот на съезд ящериц.
Аэрофотосъёмка ландшафта уже выявила земли богачей и процветающих крестьян.
Шифровальщица попросту забыла ряд ключевых множителей и тэгов.
Съешь ещё этих мягких французских булок, да выпей [же] чаю.
1234567890.

Щипцами брюки разлохмачу, Гребёнкой волосы взъерошу.
Эффектно ожидать удачу До самой смерти я не брошу! Подъём с затонувшего эсминца легко бьющейся древнегреческой амфоры сопряжён с техническими трудностями. $T_b$
Завершён ежегодный съезд эрудированных школьников, мечтающих глубоко проникнуть в тайны физических явлений и химических реакций. $T_w$
Всё ускоряющаяся эволюция компьютерных технологий предъявила жёсткие требования к производителям как собственно вычислительной техники, так и периферийных устройств. Příliš žluťoučký kůň úpěl ďábelské ódy! (КТЛР)
Шалящий фавн прикинул объём горячих звезд этих вьюжных царств~\cite{bf33_properties}.

\section{Подъехал шофёр на рефрижераторе}

Эх, жирафы честно в цель шагают, да щук объять за память ёлкой...
Расчешись! Объявляю: туфли у камина, где этот хищный ёж цаплю задел.
Лингвисты в ужасе: фиг выговоришь этюд: «подъём челябинский, запах щец».
Съел бы ёж лимонный пьезокварц, где электрическая юла яшму с туфом похищает.
Официально заявляю читающим: даёшь подъем операции Ы! Хуже с ёлкой бог экспериментирует.
Эти ящерицы чешут вперёд за ключом, но багаж в сейфах, поди подъедь...
Бегом марш! 
Typographie ist zweidimensionale Architektur und bedingt extra Qualität in jeder vollkommenen Ausfuehrung.
У месторождения кварцующихся фей без слёз хочется электрическую пыль.
Хрюкнул ёж «Тыща», а ведь село Фершампенуаз — это центр Нагайбакского района Челябинской области.
Эх, взъярюсь, толкну флегматика: «Дал бы щец жарчайших, Пётр!» Здесь фабула объять не может всех эмоций — шепелявый скороход в юбке тащит горячий мёд~\cite{pangrams_in_bib}:
\[
\alpha = \frac{1}{l_0}\cdot \frac{\mathrm{d}l}{\mathrm{d}T},
\]
где $\alpha$ "--- ящерицы чешут вперёд за ключом,~1/${}^\circ$C; %\\
$l_0$ "--- месторождения кварцующихся фей без слёз,~м; %\\
$\mathrm{d}l$ "--- фиг выговоришь этюд,~м; %\\
$\mathrm{d}T$ "--- жирафы честно в цель шагают, да щук объять,~${}^\circ$C.

Художник-эксперт с компьютером всего лишь яйца в объёмный низкий ящик чохом фасовал.
Юный директор целиком сжевал весь объём продукции фундука (товара дефицитного и деликатесного), идя энергично через хрустящий камыш.
Мюзикл-буфф «Огнедышащий простужается ночью» (в 12345 сценах и 67890 эпизодах).
El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el saxofón detrás del palenque de paja.
Источник: http://www.artlebedev.ru/kovodstvo/sections/33/

Обдав его удушающей пылью, множество ярких фаэтонов исчезло из цирка.
Безмозглый широковещательный цифровой передатчик сужающихся экспонент.
Однажды съев фейхоа, я, как зацикленный, ностальгирую всё чаще и больше по этому чуду.
Вопрос футбольных энциклопедий замещая чушью: эй, где съеден ёж? Борец за идею Чучхэ выступил с гиком, шумом, жаром и фырканьем на съезде — и в ящик.
Твёрдый, как ъ, но и мягкий, словно ь, юноша из Бухары ищет фемину-москвичку для просмотра цветного экрана жизни~\cite{Cozma_Puers_1995}:
\[
\sigma = E (\alpha_{1} - \alpha_{2}) \Delta{T},
\]
где $\sigma$ "--- широковещательный цифровой передатчик сужающихся экспонент,~Па; %\\
$E$ "--- удушающей пылью, множество ярких фаэтонов,~Па; %\\
$\alpha_{1}$, $\alpha_{2}$ "--- Обдав его удушающей пылью, множество,~1/${}^\circ$C; %\\
$\Delta{T}$ "--- как зацикленный, ностальгирую всё чаще и больше по этому чуду,~${}^\circ$C.

\begin{tabular}{c|c}
1 & 2 поводок\\ 
3 missisipy & 4
\end{tabular} 

Блеф разъедает ум, чаще цыгана живёшь беспокойно, юля — грех это! Пиши: зять съел яйцо, ещё чан брюквы...
эх! Ждем фигу! Флегматичная эта верблюдица жует у подъезда засыхающий горький шиповник.
Вступив в бой с шипящими змеями "--- эфой и гадюкой, "--- маленький, цепкий, храбрый ёж съел их.
Подъехал шофёр на рефрижераторе грузить яйца для обучающихся элитных медиков.
Широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
Государев указ: душегубцев да шваль всякую высечь, да калёным железом по щекам этих физиономий съездить!

Матеріали конференції присвячені сучасним проблемам фізики та фізичних технологій,
перспективним напрямкам фізики енергетичних систем,
теорії безпеки, криптографічного захисту інформації та криптоаналізу, захисту
інформації в комп’ютерних мережах та комунікаціях, забезпеченню цілісності баз даних,
захисту від витоку інформації по каналах побічного електромагнітного випромінювання,
локальним мережам різної струк\-тури, технічного захисту об’єктів, а також науковим
дослідженням фундаментального та прикладного характеру у сфері інформаційних наук.

    \definecolor{black}{cmyk}{0,0,0,1.0}

    \begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1, inner sep=0pt, outer sep=0pt]
      \begin{scope}[cm={{1.25,0.0,0.0,-1.25,(0.0,203.96868)}}]% g2993
        % image_box
        \path[draw=black,line join=miter,line cap=butt,miter limit=22.93,line width=1.8pt] (18.6848,153.6023) -- (211.6447,153.6023) -- (211.6447,18.7560) -- (18.6848,18.7560) -- (18.6848,153.6023) -- cycle;

        % path_latex
        \path[draw=black,line join=miter,line cap=butt,miter limit=22.93,line width=1.3pt] (18.6848,47.3895) .. controls (120.8069,45.4148) and (211.7150,121.8650) .. (211.7150,121.8650);

        % Arrow_Horizontal
        \path[draw=black,line join=miter,line cap=butt,miter limit=10.00,line width=1.3pt,tips,-{Stealth[length=3.5mm,width=2mm]}] (91.6221,13.8765) -- (137.7324,13.8765);

        % Arrow_Vertical
        \path[draw=black,line join=miter,line cap=butt,miter limit=10.00,line width=1.3pt,tips,-{Stealth[length=3.5mm,width=2mm]}] (13.5874,62.6365) -- (13.5874,108.7468);

        % path_office
        \path[draw=black,dash pattern=on 5.5mm off 4mm,line join=miter,line cap=butt,line width=1.3pt] (18.6485,23.9172) .. controls (108.2355,40.2963) and (115.4807,146.1790) .. (115.4104,153.6467);

        % Text_Office
        \path[shift={(17.0mm,30.0mm)},fill=black] (0,0) node[above right] (Text_Office) {\large{Word}};

        % Text_LaTeX
        \path[shift={(43.0mm,18.0mm)},fill=black] (0,0) node[above right] (Text_LaTeX) {\large\LaTeX};

        % Text_complexity
        \path[shift={(10.0mm,0.0mm)},fill=black, font={\fontsize{9.5pt}{9.5pt}\selectfont}] (0,0) node[above right] (Text_complexity) {Сложность и размер документа};

        % Text_effort
        \path[shift={(3.0mm,5.0mm)},fill=black, font={\fontsize{9.5pt}{9.5pt}\selectfont}] (0,0) node[above right, rotate=90] (Text_effort) {Усилия и затраты времени};

        % Text_impossible
        \path[shift={(25.0mm,44.0mm)},fill=black, font={\fontsize{7.0pt}{7.0pt}\selectfont}] (0,0) node[above right] (Text_impossible) {Невозможное};

      \end{scope}

    \end{tikzpicture}

\begin{thebibliography}{99}

    \bibitem{Pomerantz1969}
        Wallis G., Pomerantz D. I. Field Assisted Glass-Metal Sealing // Journal of Applied Physics. 1969. Vol. 40, №. 10. P. 3946--3949. DOI: http://dx.doi.org/10.1063/1.1657121

    \bibitem{Low_temp_wafer_AB}
        Wei J., Xie H., Nai M. L. et al. Low temperature wafer anodic bonding // Journal of Micromechanics and Microengineering. 2003. V. 13, N. 2. P. 217--222. DOI: \url{http://dx.doi.org/10.1088/0960-1317/13/2/308}

    \bibitem{pangrams_in_bib}
        Эй, цирюльникъ, ёжик выстриги, да щетину ряхи сбрей, феном вошь за печь гони! // Лингвисты в ужасе: фиг \mbox{выговоришь} этюд: «подъём челябинский, запах щец». № 5. Режим доступа: \href{http://www.artlebedev.ru/kovodstvo/sections/33/}{link} (дата обращения 20.08.2014).

    \bibitem{bf33_properties}
        Schott Borofloat~33 // SCHOTT Technical Glass Solutions GmbH. Дата обновления: 26.05.2010. URL: http://www.schott.com/borofloat/russian/download/borofloat\_33\_e.pdf (дата обращения: 15.07.2013).

    \bibitem{Cozma_Puers_1995}
        Cozma A., Puers B. Characterization of the electrostatic bonding of silicon and Pyrex glass // Journal of Micromechanics and Microengineering. 1995. N. 5. P. 98--102. DOI: \href{http://dx.doi.org/10.1088/0960-1317/5/2/010}{http://dx.doi.org/10.1088/0960-1317/5/2/010}

\end{thebibliography}


\end{document}

Main problems with all ways to produce pdf/a and pdf/x documents:

  • structuring and tagging (to produce pdf/a-1a for example)
  • font and symbols problems (text cannot be mapped to unicode, CIDset in subset font is incomplete and so on)
  • problems with converting cmyk <-> rgb on-the-fly
5

If you are using the "novel" document class, it has built-in PDF/X which does not rely on loading the pdfx package. Requires LuaLaTeX. Tested for various document dimensions (MediaBox, TrimBox) and validation via Adobe Acrobat Pro. Allows choice of Output Intent and also choice of whether or not to embed the color profile.

This document class is new in 2017 and available via package installer.

It is intended for printed fiction (hence the package name) but is not well-suited to dissertations and the like. It does not have, and will never have, PDF/A capability.

I believe it is reliable for PDF/X. Again: Requires LuaLaTeX. No exceptions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.