LaTeX: Texte schwärzen mit dem censor-Package

6
Geschwärzter Text mit Hilfe des censor-Packages
Geschwärzter Text mit Hilfe des censor-Packages
-Werbung-

Möchte man erstellte Dokumente wie bspw. Bachelor- oder Masterarbeiten veröffentlichen, so kann es sein, dass diese Dokumente vertrauliche Daten wie Unternehmensinterna enthalten. Aufgrund dessen ist es sinnvoll oder zwingend erforderlich, diese Bereiche zu entfernen oder zu schwärzen. Allerdings kann sich dieser Prozess als recht aufwendig herausstellen, vor allem, wenn man den Text im Nachhinein wieder „entschwärzen“ will.

Für LaTeX fand ich verschiedene Ansätze in diversen Foren, aber es gibt ein wirklich geniales Package namens censor, dass Euch die Arbeit komplett abnimmt. Im folgenden ein kurzes Minimalbeispiel

\documentclass{scrartcl}
\usepackage{censor}
\begin{document}
%\StopCensoring     %%Auskommentiert wird der Text entschwaerzt
Dies hier ist ein \censor{Blindtext} zum Testen von Textausgaben.
\end{document}

censor bietet verschiedene Parameter, den Hauptparameter stellt dabei \censor{Geheimer Text} dar. Jegliche Textpassagen, die ihr schwärzen wollt, ergänzt ihr um diesen Parameter. Zum Schwärzen wird im Prinzip über die gesamte Textlänge ein schwarzer Kasten gelegt, bzw. ersetzt dieser den Text. D.h. selbst wenn man versucht, den gesamten Text zu markieren und zu kopieren, erhält man nur den „freigegebenen“ Text. Der geschwärzter Bereich bleibt geheim.

Geschwärzter Text mit Hilfe des censor-Packages

Sehr praktisch ist, dass man mit einem Parameter beliebig zwischen den Resultaten „Geschwärzter Text“ und „vollständig lesbarer Text“ hin und her schalten kann. Soll der Text beim Output nicht mehr geschwärzt sein, schreibt man einfach \StopCensoring hinter \begin{document}.

Entschwärzter Text mittels \StopCensoring Parameter

Der \censor Parameter hat allerdings den Nachteil, dass er nicht über mehrere Zeilen hinweg benutzt werden kann. Als Resultat erhält man einen schwarzen Balken, der über den Seitenrand hinaus wandert.

Probleme beim Schwärzen über mehrere Zeilen

Neben \censor bietet das Package noch weitere Parameter, wie zum Beispiel \xblackout. Dieser Parameter kann verwendet werden, um ganze Textpassagen zu schwärzen. Bei genauem Hinsehen erkennt man, dass dieser Parameter anders arbeitet, d.h. einzelne Segmente einschwärzt, anstatt eines großen „Blocks“. So erkennt man im Resultat nachher kleine graue Linien, wobei diese wohl kaum stören dürften.

Textpassagen mittels dem \xblackout Parameter schwärzen

Insgesamt also ein sehr nützliches Packages, wenn ihr Eure Dokumente nur auszugsweise veröffentlichen wollt. Weitere Informationen zum censor-Package und allen Parameter findet in der offiziellen Beschreibung.

-Werbung-

6 KOMMENTARE

  1. Das Schwärzen gelingt generell am einfachsten und besser mit \soul, wie folgt:

    \usepackage{soul}
    \begin{document} …
    \sethlcolor{black}
    \hl{zensierter Text, auch ganze Passage}
    …\end{document}

    So gelingt es gut (aber mit \xblackout ist es bei ganzen Passagen völlig verzettelt und unbefriedigend)!

    • Hallo Zeus,
      danke für Deinen Hinweis. Soweit ich es nachstellen konnte, überlagert das Paket soul zwar den Text. Das wirkt sich aber nur beim Drucken aus.
      In einer erstellten PDF kann ich nach wie vor noch den Text kopieren. Das ist mit dem censor Paket nicht der Fall.

      • Hallo Tobias,
        Hier ein vollständiges kompilierbares Beispiel. Im erstellten PDF ist es dann der lore ipsum Text vollständig schwarz überdeckt und beim Drucken natürlich auch.

        \documentclass{article}
        \usepackage[utf8]{inputenc}
        \usepackage{soul}
        \usepackage{color}% habe ich vorher vergessen zu erwähnen, geht aber nicht ohne !!
        \begin{document}
        \sethlcolor{black}
        \hl{Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor .}
        \end{document}

        • Hallo Zeus,

          danke für Deine Ergänzung. Das mit dem color Package hatte ich auch festgestellt.

          Dennoch, schau doch mal in der PDF, die erzeugt wird. Du kannst den geschwärzten Bereich dennoch markieren und dann z. B. nach Word kopieren. Der Text bleibt erhalten.

          Das censor Package ersetzt den Text komplett und überdeckt ihn nicht nur.

  2. Tobias:
    Jetzt habe ich die ( z.B. nach Word) unkopierbare Lösung zum sauber zensieren. Sie stammt von Ulrike Fischer von 2007 (https://groups.google.com/forum/#!topic/de.comp.text.tex/eDLcK57u7ZQ)

    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage{soul, color}
    \makeatletter
    \def\SOUL@geheimunderline#1{{%
    \setbox\z@\hbox{#1}%
    \dimen@=\wd\z@
    \dimen@i=\SOUL@uloverlap
    \advance\dimen@2\dimen@i
    \rlap{%
    \null
    \kern-\dimen@i
    \SOUL@ulcolor{\SOUL@ulleaders\hskip\dimen@}%
    }%
    \phantom{#1}%
    }}
    \DeclareRobustCommand{\geheim}{%
    \let\SOUL@ulunderline\SOUL@geheimunderline
    \SOUL@hlsetup\SOUL@}
    \makeatother

    \begin{document}
    \sethlcolor{black}
    \geheim{Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor .}
    \end{document}

    • Danke für das Beispiel, damit klappt’s jetzt.
      Ist aber einiges mehr an Parametern geworden 🙂

      Muss jeder vlt. selbst ausprobieren. Hatte für die wenigen Einsatzzwecke, welche ich hatte mit dem censors Package keinerlei Probleme und war damit zufrieden 🙂

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here