Liebe Texwelt, ich habe in meinem Tikzpicture mehrere hundert colorboxen. Für meine Abschlussarbeit wäre es hilfreich, die genaue Anzahl dieser durch einen speziellen Suchbefehl o.ä. zu ermitteln, da man sich bei so großen Zahlen auch leicht mal verzählen kann. Zusätzlich wäre es notwendig, diesen Zählmechanismus nur auf einen bestimmten Abschnitt zu begrenzen, da ich dieses Tikzpicture in abgeänderter Form noch weitere Male in meinem Dokument verwende und auch sonst colorboxen öfter mal vorkommen. Hier eine abgespeckte version meines Tikzpictures: Open in Online-Editor
\documentclass[fleqn,12pt,a4paper,german]{article} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \begin{document} Auch hier colorboxen wie \colorbox{cyan}{00} (diese sollen allerdings nicht gezählt werden) \\[4ex] %colorboxen erst ab hier zählen {\begin{tikzpicture} [ point/.default=5pt ] \foreach[count=\i,evaluate=\i as \angle using (\i)*25.71] \text in { \colorbox {cyan} {0\textcolor{white}1},\colorbox {cyan} {0\textcolor{white}2},\colorbox {cyan} {0\textcolor{white}3},\colorbox {cyan} {0\textcolor{white}4}, \colorbox {cyan} {1\textcolor{white}0},\colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:0.8) {\text}; [ point/.default=5pt ] \foreach[count=\i,evaluate=\i as \angle using (\i)*25.71] \text in { \colorbox {cyan} {0\textcolor{white}1},\colorbox {cyan} {0\textcolor{white}2},\colorbox {cyan} {0\textcolor{white}3},\colorbox {cyan} {0\textcolor{white}4}, \colorbox {cyan} {1\textcolor{white}0},\colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, \colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, \colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:1.8) {\text}; \end{tikzpicture} %bis genau hier \end{document} |
Wenn es wirklich nur darum geht, die Open in Online-Editor
\documentclass[fleqn,12pt,a4paper,german]{article} \usepackage[utf8]{inputenc}% utf8x nur verwenden, wenn unbedingt notwendig! \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \makeatletter \newcounter{colorboxnum} \newcommand*{\saved@colorbox}{} \newcommand*{\countcolorbox}{% \ifx\saved@colorbox\@empty \let\saved@colorbox\colorbox \renewcommand*{\colorbox}{\stepcounter{colorboxnum}\saved@colorbox}% \fi } \AtEndDocument{\typeout{Es gab \thecolorboxnum\space relevante \string\colorbox\space Anweisungen.}} \makeatother \begin{document} Auch hier colorboxen wie \colorbox{cyan}{00} (diese sollen allerdings nicht gezählt werden) \\[4ex] %colorboxen erst ab hier zählen \begin{tikzpicture} [ point/.default=5pt ] \countcolorbox \foreach[count=\i,evaluate=\i as \angle using (\i)*25.71] \text in { \colorbox {cyan} {0\textcolor{white}1},\colorbox {cyan} {0\textcolor{white}2},\colorbox {cyan} {0\textcolor{white}3},\colorbox {cyan} {0\textcolor{white}4}, \colorbox {cyan} {1\textcolor{white}0},\colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:0.8) {\text}; [ point/.default=5pt ] \foreach[count=\i,evaluate=\i as \angle using (\i)*25.71] \text in { \colorbox {cyan} {0\textcolor{white}1},\colorbox {cyan} {0\textcolor{white}2},\colorbox {cyan} {0\textcolor{white}3},\colorbox {cyan} {0\textcolor{white}4}, \colorbox {cyan} {1\textcolor{white}0},\colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, \colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, \colorbox {cyan} {1\textcolor{white}1},\colorbox {cyan} {1\textcolor{white}2},\colorbox {cyan} {1\textcolor{white}3},\colorbox {cyan} {2\textcolor{white}0},\colorbox {cyan} {2\textcolor{white}1},\colorbox {cyan} {2\textcolor{white}2},\colorbox {cyan} {3\textcolor{white}0},\colorbox {cyan} {4\textcolor{white}0},\colorbox {cyan} {0\textcolor{white}0}, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:1.8) {\text}; \end{tikzpicture} %bis genau hier \end{document} Dabei habe ich auch gleich den Fehler der geöffneten aber nie geschlossenen Gruppenklammer beseitigt. Der Trick dabei ist, Open in Online-Editor
\newcommand*{\dontcountcolorbox}{% \ifx\saved@colorbox\@empty\else \let\colorbox\saved@colorbox \let\saved@colorbox\@empty \fi } definieren, mit der man ohne Gruppenende von gezählten Das gleiche Prinzip kann man natürlich auch für andere Anweisungen verwenden. Für normale Wörter geht das so aber nicht. Achja: Für obiges Beispiel wird in der Log-Datei ausgegeben: Es gibt übrigens Umstände, unter denen die Zählung durcheinander kommen kann, beispielsweise wenn Code wie in einer beantwortet 04 Nov '15, 11:30 saputello |
Das ist eigentlich eine nach Features von Editor oder speziellen Filtern bzw. Suchbefehlen oder Skriptsprachen und weniger eine (La)TeX-Frage. Ich würde beispielsweise in emacs schlicht die Region selektieren, speichern und dann mit
grep
undwc
oder ein wenigsed
-Magie zählen lassen. Man könnte auch mit elisp selbst in der aktuellen Region bestimmte reguläre Ausdrücke oder Strings suchen und zählen lassen. Ich bin aber in elisp nicht so firm.Unter GNU/Linux
pdftotext -f <Seite Beginn> -l <Seite Ende> <Datei.pdf> - | wc -w
.