編譯兩個版本的文檔

編譯兩個版本的文檔

我正在嘗試從相同的原始程式碼建立文件的兩個不同版本。其中一個版本應排除文件的機密部分,而另一個版本應保留它。

我的想法是標記包透過簡單地包含或省略標籤來創建兩個不同的版本\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}

產生這個輸出:

在此輸入影像描述

相關內容