2つのバージョンのドキュメントをコンパイルする

2つのバージョンのドキュメントをコンパイルする

同じソース コードから 2 つの異なるバージョンのドキュメントを作成しようとしています。 1 つのバージョンではドキュメントの機密部分を除外し、もう 1 つのバージョンでは機密部分を保持する必要があります。

私の考えはタグ付けパッケージタグを含めるか省略するかだけで2つの異なるバージョンを作成できます\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

このパッケージを使用すると、異なる対象者向けに同じドキュメントの異なるバージョンを生成できます。

次の例では、「公開」と「機密」という 2 つの「対象者」を定義します。

\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}

次の出力が生成されます:

ここに画像の説明を入力してください

関連情報