Составить две версии документа

Составить две версии документа

Я пытаюсь создать две разные версии документа из одного и того же исходного кода. Одна из версий должна исключить конфиденциальные части документа, а другая версия должна их сохранить.

Моя идея заключается в том, чтобыПакет теговчтобы создать две разные версии, просто включив или исключив тег\usetag{закрыто}. Когда я пропускаю тег, я получаю сообщения об ошибках, включенные в конец.

Мне нужно использовать ее в среде или командах, поскольку я использую эту функцию много раз в документе.

Пример

\documentclass{article}

%%%%% Other packeges used in project %%%%%
\usepackage[english]{babel} % danske overskrifter
\usepackage[utf8]{inputenc} % Skal passe til editorens indstillinger
\usepackage[sfdefault]{roboto}
\usepackage[T1]{fontenc} % fonte (output)
\usepackage{lmodern} % vektor fonte
\usepackage{graphicx} % indsættelse af billeder
\usepackage{epstopdf} %Tilfj "--enable-write18" i argumentet for LaTex build. Dette vil konvertere .eps figurer til pdf-format
\usepackage{subfigure}
\usepackage{a4wide}
\usepackage{hhline}
\usepackage{xcolor}
\usepackage{lastpage}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue}
\usepackage{forloop}
\usepackage{eso-pic}% http://ctan.org/pkg/eso-pic
\usepackage{longtable}
\usepackage{float}
\usepackage{enumitem}

%%%%% Packege Which I'm trying to implement %%%%%
\usepackage{tagging}

%%%%% Blind Text %%%%%
\usepackage{blindtext}

%%%%% Code %%%%%
%\usetag{closed}

\newenvironment{myenvironment}
{
    \color{gray}
    \begin{taggedblock}{closed}
}
{ 
    \end{taggedblock}
}


\begin{document}

\section{This is public}
\blindtext

\begin{myenvironment}
\section{This is Confidential}
\blindtext
\end{myenvironment}

\section{This is public again}
\blindtext

\end{document}

Сообщения об ошибках

Runaway argument?

! File ended while scanning use of \next.
<inserted text> 
                \par 
<*> main.tex

I suspect you have forgotten a `}', causing me
to read past where you wanted me to stop.
I'll try to recover; but if the error is serious,
you'd better type `E' or `X' now and fix your file.

 main.tex



Emergency stop.

<*> main.tex

*** (job aborted, no legal \end found)


Here is how much of TeX's memory you used:
 8935 strings out of 492164
 135695 string characters out of 6125314
 242536 words of memory out of 5000000
 13108 multiletter control sequences out of 15000+600000
 18746 words of font info for 18 fonts, out of 8000000 for 9000
 1141 hyphenation exceptions out of 8191
 39i,0n,40p,886b,321s stack positions out of 5000i,500n,10000p,200000b,80000s
!  ==> Fatal error occurred, no output PDF file produced!

решение1

Я думаю, что пакет, который вы пытаетесь создать, уже существует: multiaudience.

С помощью этого пакета вы можете создавать разные версии одного и того же документа для разных аудиторий.

В следующих примерах я определяю две «аудитории»: «публичную» и «конфиденциальную».

\SetNewAudience{public}
\SetNewAudience{confidential}

И я вложил в

\begin{shownto}{confidential}
...
\end{shownto}

что должно быть конфиденциальным.

Затем я устанавливаю нужную мне аудиторию (это можно сделать и извне, когда вы составляете документ, см.пакет документации).

Например, этот код:

\documentclass{article}
%%%%% Other packages used in project %%%%%
\usepackage[english]{babel} % danske overskrifter
\usepackage[utf8]{inputenc} % Skal passe til editorens indstillinger
\usepackage[sfdefault]{roboto}
\usepackage[T1]{fontenc} % fonte (output)
\usepackage{lmodern} % vektor fonte
\usepackage{graphicx} % indsættelse af billeder
\usepackage{epstopdf} %Tilfj "--enable-write18" i argumentet for LaTex build. Dette vil konvertere .eps figurer til pdf-format
\usepackage{subfigure}
\usepackage{a4wide}
\usepackage{hhline}
\usepackage{xcolor}
\usepackage{lastpage}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue}
\usepackage{forloop}
\usepackage{eso-pic}% http://ctan.org/pkg/eso-pic
\usepackage{longtable}
\usepackage{float}
\usepackage{enumitem}

\usepackage{multiaudience}
\SetNewAudience{public}
\SetNewAudience{confidential}

%%%%% Blind Text %%%%%
\usepackage{blindtext}

\begin{document}
\DefCurrentAudience{public}

\section{This is public}
\blindtext

\begin{shownto}{confidential}
\section{This is Confidential}
\blindtext
\end{shownto}

\section{This is public again}
\blindtext

\end{document}

выдает следующий результат:

введите описание изображения здесь

тогда как этот код (единственное отличие \DefCurrentAudience{confidential}):

\documentclass{article}
%%%%% Other packages used in project %%%%%
\usepackage[english]{babel} % danske overskrifter
\usepackage[utf8]{inputenc} % Skal passe til editorens indstillinger
\usepackage[sfdefault]{roboto}
\usepackage[T1]{fontenc} % fonte (output)
\usepackage{lmodern} % vektor fonte
\usepackage{graphicx} % indsættelse af billeder
\usepackage{epstopdf} %Tilfj "--enable-write18" i argumentet for LaTex build. Dette vil konvertere .eps figurer til pdf-format
\usepackage{subfigure}
\usepackage{a4wide}
\usepackage{hhline}
\usepackage{xcolor}
\usepackage{lastpage}
\usepackage{hyperref}
\hypersetup{colorlinks=true, linkcolor=blue}
\usepackage{forloop}
\usepackage{eso-pic}% http://ctan.org/pkg/eso-pic
\usepackage{longtable}
\usepackage{float}
\usepackage{enumitem}

\usepackage{multiaudience}
\SetNewAudience{public}
\SetNewAudience{confidential}

%%%%% Blind Text %%%%%
\usepackage{blindtext}

\begin{document}
\DefCurrentAudience{confidential}

\section{This is public}
\blindtext

\begin{shownto}{confidential}
\section{This is Confidential}
\blindtext
\end{shownto}

\section{This is public again}
\blindtext

\end{document}

выдает следующий результат:

введите описание изображения здесь

Связанный контент