小说文档类中的编辑文本

小说文档类中的编辑文本

我希望使用“小说”文档类在我正在写的书中创建一个章节,并删除大块的文本。

我尝试使用 alt-code 219 来替换特定的删除字符,但我只得到交叉的方框。

是否有任何软件包可以帮助我解决这个问题?

谢谢。

答案1

我是文档类的作者novel。如果您使用编辑功能,请小心。即使 PDF 带有内部标签,编辑也可能会导致 PDF 不符合 PDF/X 规范,也可能不会。如果您将 PDF 提交给打印服务,并且被接受,则没有问题。如果您使用 Adob​​e Acrobat Pro 进行后期处理,则没有问题。但如果 PDF 因不符合 PDF/X 规范而被拒绝,则novel没有解决方案。在这种情况下,您必须实际删除文本,并手动替换黑框(规则)。

请记住,这novel是针对流行小说的,并不是可以找到删节版的地方。

更多信息,不特定于novel:如果您只是在现有文本上绘制黑色规则,它不会从 PDF 中删除文本。它所做的只是隐藏它。任何可以检查 PDF 的人都可以阅读隐藏的文本。真正的编辑涉及测量排版文本占用的空间,删除文本并替换黑色规则。然后原始文本无法通过 PDF 检查显示,尽管黑色规则的长度可能很容易猜测您是否编辑JoeAnastasia

答案2

自己动手吗?

实验表明最好不要把事情弄得太复杂。

纂

我预计“c”版将会吸引大多数人。

平均能量损失

\documentclass{novel}
\usepackage{xparse}

\ExplSyntaxOn

    \tl_new:N 
            \l_xym_rtext_tl

%------------------
    \cs_set:Npn \xym_funcredacta:n #1 { 
                        
        \regex_replace_all:nnN 
                        { ([A-Za-z]){1} } 
                        { 
                                \c{redact}
                        } 
                        \l_xym_rtext_tl

}



%------------------
    \cs_set:Npn \xym_funcredactb:n #1 { 
                        
        \regex_replace_all:nnN 
                        { (\w){1} } 
                        { 
                                \c{redact}
                        } 
                        \l_xym_rtext_tl

}


%------------------
    \cs_set:Npn \xym_funcredactc:n #1 { 
                        
        \regex_replace_all:nnN 
                        { (\S){1} } 
                        { 
                                \c{redact}
                        } 
                        \l_xym_rtext_tl

}

%------------------
    \cs_set:Npn \xym_funcredactd:n #1 { 
                        
        \regex_replace_all:nnN 
                        { ([\S\s]){1} } 
                        { 
                                \c{redact}
                        } 
                        \l_xym_rtext_tl

}


\NewDocumentCommand { \redact } { } {
    \rule{1.1em}{2ex}
    {\hyphenchar\font=32 \-}
}

\NewDocumentCommand { \redacttexta } { m } {
    \tl_set:Nx 
            \l_xym_rtext_tl
            { #1 }
            
            \tl_map_function:NN 
                        \l_xym_rtext_tl
                        \xym_funcredacta:n

    \tl_use:N
            \l_xym_rtext_tl
}


\NewDocumentCommand { \redacttextb } { m } {
    \tl_set:Nx 
            \l_xym_rtext_tl
            { #1 }
            
            \tl_map_function:NN 
                        \l_xym_rtext_tl
                        \xym_funcredactb:n

    \tl_use:N
            \l_xym_rtext_tl
}


\NewDocumentCommand { \redacttextc } { m } {
    \tl_set:Nx 
            \l_xym_rtext_tl
            { #1 }
            
            \tl_map_function:NN 
                        \l_xym_rtext_tl
                        \xym_funcredactc:n

    \tl_use:N
            \l_xym_rtext_tl
}

\NewDocumentCommand { \redacttextd } { m } {
    \tl_set:Nx 
            \l_xym_rtext_tl
            { #1 }
            
            \tl_map_function:NN 
                        \l_xym_rtext_tl
                        \xym_funcredactd:n

    \tl_use:N
            \l_xym_rtext_tl
}




\ExplSyntaxOff

\newcommand\sampletext{[``qwerty'' uiop; asdf: ghjkl, zxcv? bnm. \$1,234.56 <>/ = 42 àáâãäåæ]}

\begin{document}

Sample text = \sampletext

There are degrees of redaction.

--- \texttt{\textbackslash redacttexta} hides (unaccented) letters: 
text text text
\redacttexta{\sampletext}
text text text 

--- \texttt{\textbackslash redacttextb} hides (unaccented) letters and digits: 
text text text
\redacttextb{\sampletext}
text text text

--- \texttt{\textbackslash redacttextc} hides anything that is not a space: 
text text text
\redacttextc{\sampletext}
text text text

--- \texttt{\textbackslash redacttextd} hides everything: 
text text text
\redacttextd{\sampletext}
text text text


\end{document}

答案3

使用\usepackage{censor}你应该能够包括审查。在某些情况下,您实际上可以使用包(就像我一样,当我偶然发现有关此页面的相同问题时),它的工作方式如下:

This is \blackout{secret text}.

相关内容