summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/ulqda/ulqda.pl
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/ulqda/ulqda.pl')
-rwxr-xr-xMaster/texmf-dist/scripts/ulqda/ulqda.pl63
1 files changed, 53 insertions, 10 deletions
diff --git a/Master/texmf-dist/scripts/ulqda/ulqda.pl b/Master/texmf-dist/scripts/ulqda/ulqda.pl
index 9590ac8368e..036c1f2a7dd 100755
--- a/Master/texmf-dist/scripts/ulqda/ulqda.pl
+++ b/Master/texmf-dist/scripts/ulqda/ulqda.pl
@@ -21,19 +21,21 @@ use Digest::SHA1 qw(sha1 sha1_hex sha1_base64);
sub Display_Version()
{
- print "Version: ulqda.pl [2009/05/15 v1.0 Qualitative Data Analysis package]\n\n";
+ print "Version: ulqda.pl [2009/06/11 v1.1 Qualitative Data Analysis package]\n\n";
exit;
}
sub Display_Usage()
{
print<<"EOF";
-Usage: $0 <--list>|<--graphflat>|<--graphnet>|<--help>|<--version> \\
- [<--filter section>] [<--number-->] infile.csv outfile
+Usage: $0 \\
+ <--list>|<--graphflat>|<--graphnet>|<--cloud>|<--help>|<--version> \\
+ [<--filter section>] [<--number-->] infile.csv outfile
--filter: filter based on document section label
--graphflat: Generate GraphViz .dot output of codes (unconnected)
--graphnet: Generate GraphViz .dot output of codes (connected)
+--cloud: Generate Cloud output of codes
--help: Print this help and exit
--list: Generate LaTeX table of codes (labelled as table:qda_codes)
--number: Output quantity details
@@ -46,10 +48,15 @@ sub sort_codes_hashvalue_descending {
$codes{$b} <=> $codes{$a};
}
+sub sort_codes_alphabetic {
+ $a cmp $b;
+}
+
@colors = ("#d40000", "#e35a24", "#f67c00", "#faa800", "#ffc000", "#ffde00", "#aae900", "#62dc68", "#bbcced", "#a3bbe0", "#8aaad4", "#7299c7", "#5676b5", "#4554a3", "#2e3191", "#000472");
$result = GetOptions("number" => \$options{'n'},
"list" => \$options{'l'},
+ "cloud" => \$options{'c'},
"graphflat" => \$options{'g'},
"filter=s" => \$options{'f'},
"graphnet" => \$options{'G'},
@@ -61,9 +68,9 @@ $result = GetOptions("number" => \$options{'n'},
&Display_Version() if $options{'v'};
-if (!($options{'l'} || $options{'g'} || $options{'G'}))
+if (!($options{'c'} || $options{'l'} || $options{'g'} || $options{'G'}))
{
- print "Requires one of --list, --graphflat, --graphnet, --version or --help\n\n";
+ print "Requires one of --cloud, --list, --graphflat, --graphnet, --version or --help\n\n";
&Display_Usage()
}
@@ -88,6 +95,15 @@ if ($options{'l'})
\\label{table:qda_codes}
EOF
}
+elsif ($options{'c'})
+{
+ #
+ print FILEOUT << "EOF";
+{
+\\begin{center}
+\\noindent%
+EOF
+}
elsif ($options{'g'} || $options{'G'})
{
print FILEOUT << "EOF";
@@ -139,6 +155,15 @@ close(FILEIN);
$iterationCount = 0; $nodeCount = 0;
$maxConnections = 0; $minConnections=65535;
+if ($options{'c'})
+{
+ @key_list = (sort sort_codes_alphabetic keys %codes);
+}
+else
+{
+ @key_list = (sort sort_codes_hashvalue_descending keys %codes);
+}
+
LOOP: foreach $i (sort sort_codes_hashvalue_descending keys %codes)
{
if ($codes{$i} > $maxConnections) { $maxConnections = $codes{$i} }
@@ -148,7 +173,7 @@ LOOP: foreach $i (sort sort_codes_hashvalue_descending keys %codes)
#
# For each code, output it as requested
#
-foreach $i (sort sort_codes_hashvalue_descending keys %codes)
+foreach $i (@key_list)
{
$digest = sha1_hex($i);
@@ -156,6 +181,15 @@ foreach $i (sort sort_codes_hashvalue_descending keys %codes)
{
print FILEOUT "\\\\\n";
}
+ elsif ($options{'c'})
+ {
+ my $base = int(7 + ($codes{$i}/3));
+ my $lead = $base + 3;
+ my $raisept = int(($base - 7)/4);
+
+ if ($raisept) { print FILEOUT "\\raisebox{-${raisept}pt}";}
+ print FILEOUT "{\\fontsize{$base}{$lead}\\selectfont ";
+ }
elsif ($options{'g'} || $options{'G'})
{
$nodeCount++;
@@ -165,17 +199,20 @@ foreach $i (sort sort_codes_hashvalue_descending keys %codes)
$i =~ s/!/:/g;
print FILEOUT "$i";
- if ($options{'n'})
+ if ($options{'c'})
+ {
+ print FILEOUT "}\n";
+ }
+ elsif ($options{'n'})
{
print FILEOUT "{\\textcolor{red}{" if ($options{'l'});
print FILEOUT "($codes{$i})";
print FILEOUT "}}" if ($options{'l'});
}
- $fontSize = 15 + ((60 * $codes{$i})/$maxConnections);
-
if ($options{'g'} || $options{'G'})
{
+ $fontSize = 15 + ((60 * $codes{$i})/$maxConnections);
print FILEOUT "\", fontsize=$fontSize";
#if ($iterationCount <= 5)
{
@@ -187,7 +224,7 @@ foreach $i (sort sort_codes_hashvalue_descending keys %codes)
}
print FILEOUT "]\n";
}
- elsif (! $options{'l'} )
+ elsif (! ($options{'l'} || $options{'c'}) )
{
print FILEOUT "\n";
}
@@ -246,6 +283,12 @@ if ($options{'l'})
\\hrule
EOF
}
+elsif ($options{'c'})
+{
+ print FILEOUT << "EOF";
+\\end{center}
+EOF
+}
print FILEOUT "\n}\n";