将部分标记为已完成

将部分标记为已完成

我正在写一篇论文,我想将一些部分标记为已完成。我不想添加虚假的文本,因为那样的话我就必须在发表之前删除这些添加的内容。完美的解决方案应该是这样的:

\someCommandThatWillMakeSectionsGreenInTableOfContentsWhenMarkedAndCanBeEasilyDisabled.
...
\myMark \section{Foo}
\section{Bar}
\myMark \section{Baz}

我知道这可能有点过度设计,但也许很容易实现。谢谢。

答案1

我会用

\section{\YeyIveFinished{Foo}}  

\newcommand\YeyIveFinished[1]{#1}

或者

\newcommand\YeyIveFinished[1]{\protect\textcolor{green}{#1}}

按要求放在序言中。

答案2

一个“复杂”的解决方案:

\documentclass{article}
\usepackage{xparse,xcolor}

% remove for the final version
\let\latexsection\section
\newif\ifsectioncompleted

\RenewDocumentCommand{\section}{sO{#3}m}{%
  \IfBooleanTF{#1}
    {\latexsection*{#3}}% starred sections don't go in the TOC
    {\let\greensection\relax % we don't want green in headers
     \ifsectioncompleted
       \latexsection[\greensection#2]{#3}%
     \else
       \latexsection[#2]{#3}%
     \fi
     \global\sectioncompletedfalse
    }%
}

\NewDocumentCommand{\completed}{}{\global\sectioncompletedtrue}
\NewDocumentCommand{\greensection}{}{\color{green!70!red}}
% END of code to remove (remember to remove also \completed in the text)

\begin{document}

\tableofcontents

\bigskip
\hrule
\bigskip

\completed\section{Introduction}

Blah blah

\section{I need to work on this one}

Blah blah

\completed\section{This one is finished}

Blah blah

\end{document}

在此处输入图片描述

答案3

我建议使用模块化文件

对于文章类,请为每个部分使用一个新文档,并注释掉已完成的部分:

\documentclass{article}
\begin{document}
%\input{Section_1}
%\input{Section_2}
%\input{Section_3}
\input{Section_4}
%\input{Section_5}
\end{document}

对于book类,您还可以使用\includeonly命令,

\documentclass{book}
\includeonly{Chapter3}  
\begin{document}
\include{Chapter1}        
\include{Chapter2}
\include{Chapter3}
\end{document}

优点是删除章节后交叉引用仍会保留。或者,您可以使用链接中提到的其他方法。

使用模块化文档的优点是,仅编译当前节/章节时,编译速度也会更快。

相关内容