
Estoy intentando crear dos versiones diferentes de un documento a partir del mismo código fuente. Una de las versiones debe excluir las partes confidenciales del documento mientras que la otra versión debe conservarlas.
Mi idea es laPaquete de etiquetadopara crear las dos versiones diferentes simplemente incluyendo u omitiendo la etiqueta\usetag{cerrado}. Cuando omito la etiqueta, aparecen los mensajes de error incluidos en la parte inferior.
Necesito usarlo en un entorno o comandos ya que uso esta función muchas veces durante el documento.
Ejemplo
\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}
Error de mensajes
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!
Respuesta1
Creo que el paquete que estás intentando crear ya existe: multiaudience
.
Con este paquete, puedes generar diferentes versiones del mismo documento para diferentes audiencias.
En los siguientes ejemplos, defino dos "audiencias": "pública" y "confidencial".
\SetNewAudience{public}
\SetNewAudience{confidential}
Y lo puse en
\begin{shownto}{confidential}
...
\end{shownto}
lo que debería ser confidencial.
Luego configuro la audiencia que quiero (puedes hacerlo también externamente, cuando estés compilando tu documento, mira ladocumentación del paquete).
Por ejemplo, este código:
\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}
produce esta salida:
mientras que este código (la única diferencia es \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}
produce esta salida: