--- /dev/null
+
+
+let dump_file name =
+ let ch = open_in_bin name in
+ let len = in_channel_length ch in
+ let sin = String.create len in
+ really_input ch sin 0 len;
+ close_in ch;
+
+ Printf.printf "\\noindent\\begin{minipage}{5.5cm}\n";
+ (* Printf.printf "\\rule{5.5cm}{1pt}\n"; *)
+ Printf.printf "\\footnotesize\\bf File %s:\\\\\n" name;
+ Printf.printf "\\tt{}";
+
+ for i = 0 to len - 1 do
+ match sin.[i] with
+ ('\000'..'\008'|'\011'|'\012'|'\014'..'\031'|'\127'..'\255') as c ->
+ Printf.printf "{\\sl (%02x)}\\linebreak[2]" (Char.code c)
+ | '\009' ->
+ Printf.printf "{\\sl HT}\\linebreak[3]"
+ | '\010' ->
+ Printf.printf "{\\sl LF}\\\\\n"
+ | '\013' ->
+ Printf.printf "{\\sl CR}";
+ if not(i < len - 1 && sin.[i+1] = '\010') then
+ Printf.printf "\\\\\n";
+ | ' ' ->
+ Printf.printf "\\symbol{32}\\linebreak[3]"
+
+ | ('"'|'#'|'$'|'%'|'&'|'-'|'<'|'>'|'['|'\\'|']'|'^'|'_'|'`'|
+ '{'|'|'|'}'|'~') as c ->
+ Printf.printf "\\symbol{%d}\\linebreak[2]" (Char.code c)
+ | c ->
+ print_char c;
+ print_string "\\linebreak[0]"
+ done;
+
+ Printf.printf "\\mbox{}\\\\\n";
+ Printf.printf "\\rule{5.5cm}{1pt}\n";
+ Printf.printf "\\end{minipage}\n"
+;;
+
+
+print_endline "\\documentclass[a4paper]{article}";
+print_endline "\\usepackage{multicol}";
+print_endline "\\begin{document}";
+print_endline "\\begin{multicols}{2}";
+for i = 1 to Array.length(Sys.argv)-1 do
+ dump_file Sys.argv.(i)
+done;
+print_endline "\\end{multicols}";
+print_endline "\\end{document}"
+;;
+
+
+