我希望能够标记文档中的某些段落,并且在使用 PdfLaTeX 编译文档时,选择要在文档中保留哪些标签。更清楚地说,我想定义一个环境\begin{labeledparagraph}[label]...\end{labeledparagraph}
(label
作为的参数labeledparagraph
)和一个函数\selectlabels{label1,label2,label4}
(例如),我会将其放在文档的序言中。
以下是一个例子:
\documentclass[a4paper,10pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{comment}
\selectlabels{label1,label2,label4}
\begin{document}
\begin{labeledparagraph}[label1]
Paragraph1
\end{labeledparagraph}
\begin{labeledparagraph}[label2]
Paragraph2
\end{labeledparagraph}
\begin{labeledparagraph}[label3]
Paragraph3
\end{labeledparagraph}
\begin{labeledparagraph}[label4]
Paragraph4
\end{labeledparagraph}
\end{document}
当编译该文档时,我希望我的 PDF 文档仅包含第 1、2 和 4 段。这样做的目的是避免仅对\begin{comment}...\end{comment}
我想从输出文档中排除的每个段落使用。
环境labeledparagraph
可能是这样的:
\newenvironment{labeledparagraph}[1]{\begin{#1}}{\end{#1}}
相当于\selectlabels{label1,label2,label4}
\includecomment{label1}
\includecomment{label2}
\excludecomment{label3}
\includecomment{label4}
但我不知道如何自动完成(标签数量可能很大)。谢谢你的帮助!
答案1
% arara: pdflatex
\documentclass{article}
\usepackage{tagging}
\usetag{1,2,4}
\begin{document}
\tagged{1}{
111111111111111111111111
111111111111111111111111
111111111111111111111111
}
\tagged{2}{
222222222222222222222222
222222222222222222222222
222222222222222222222222
}
\tagged{3}{
333333333333333333333333
333333333333333333333333
333333333333333333333333
}
\tagged{4}{
444444444444444444444444
444444444444444444444444
444444444444444444444444
}
\end{document}
当然,您可以\selectlabels{}
根据需要定义自己的命令。如果您想像在 MWE 中一样使用环境,则可以使用\begin{taggedblock}{<taglist>}...\end{taggedblock}
。