diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/datatooltk |
Initial commit
Diffstat (limited to 'support/datatooltk')
-rw-r--r-- | support/datatooltk/CHANGES | 46 | ||||
-rw-r--r-- | support/datatooltk/README | 135 | ||||
-rw-r--r-- | support/datatooltk/datatooltk-en-GB.pdf | bin | 0 -> 1081514 bytes | |||
-rw-r--r-- | support/datatooltk/datatooltk.1 | 454 |
4 files changed, 635 insertions, 0 deletions
diff --git a/support/datatooltk/CHANGES b/support/datatooltk/CHANGES new file mode 100644 index 0000000000..747302945a --- /dev/null +++ b/support/datatooltk/CHANGES @@ -0,0 +1,46 @@ +v1.9 (2018-07-06): + + - Fixed --help and --version + + - Added missing description of --sort-locale to --help + +v1.8 (2018-01-26): + + - Added commands line options: + + --csv-skiplines + --csv-strictquotes + --nocsv-strictquotes + --csv-skip-empty-rows + --nocsv-skip-empty-rows + --remove-columns + --remove-except-columns + --auto-trim-labels + --noauto-trim-labels + +v1.7 (2018-01-20): + + - Added --sort-locale, --tex-encoding and --csv-encoding + + - Import probsoln function now uses texparserlib.jar + + - Removed --shuffle-iterations + + - Improved GUI + +v1.6 (2015-09-06): + + - Added --csvescape and --nocsvescape + +v1.5: + + - Bug fix in probsoln import and added RedefNewProblem option + +v1.4: + + - Extra merge options + +v1.3: + + - Added --truncate, --filter-or, --filter-and, --filter-include + --filter-exclude, --filter options. diff --git a/support/datatooltk/README b/support/datatooltk/README new file mode 100644 index 0000000000..baf5c361e5 --- /dev/null +++ b/support/datatooltk/README @@ -0,0 +1,135 @@ +Application : datatooltk + +Author : Nicola L. C. Talbot + www.dickimaw-books.com + +Home Page : http://www.dickimaw-books.com/software/datatooltk/ + +Bug Reports : https://github.com/nlct/datatooltk + +Requirements : Java Runtime Environment (at least Java 7) + and, if plugins required, Perl + +License : GPLv3+ <http://gnu.org/licenses/gpl.html> + +Copyright (C) 2014-2018 Nicola L. C. Talbot (www.dickimaw-books.com) +License GPLv3+: GNU GPL version 3 or later +<http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +DESCRIPTION +=========== + +A Java GUI that can be used to create datatool.sty databases in +datatool's internal format, which can be quickly imported into a +LaTeX document using \input (or datatool's \DTLloaddbtex). It can +also be used in batch mode to import data from SQL, CSV, XLS, ODS or +probsoln.sty datasets. Tools are available to sort or shuffle +or filter the database. The batch mode means that it can be +incorporated into the document build process and provides +a much faster build than using datatool's \DTLloaddb and +\dtlsort commands. + +INSTALL +======= + +1. Ensure you have the Java Runtime Environment (JRE) installed + (java.com/getjava). + +2. Download and run datatooltk-installer.jar (either double-click on + the jar file, if supported by your operating system, or run + + java -jar datatooltk-installer.jar + + from a terminal). + +If you want to use the datatooltk plugins you need to ensure +you have Perl installed. + +The installer should create the following subdirectories in the +installation directory: + + - bin/ (contains scripts to run the application's .jar file) + - doc/ (contains documentation if corresponding option was selected + during the installation) + - lib/ (contains the application, datatooltk.jar, the libraries + required by the application, see below, and the application + resource files) + - man/ (contains the man file datatooltk.1 if documentation option + was selected during installation) + - src/ (contains the source code, if the source option was selected + during installation) + - Uninstaller/ (contains the uninstaller) + +Libraries +========= + +The datatooltk.jar file in the lib directory is the main +application. The other .jar files are required libraries +provided by other sources. The texparserlib.jar library +is by the same author and is also GPL 3.0. The source code +is available from https://github.com/nlct/texparser + +The other .jar files are third party libraries: + + - Java Help (https://javahelp.java.net/) GPL + - Open CSV (http://opencsv.sourceforge.net/) Apache 2.0 License + - MySQL connector (http://dev.mysql.com/downloads/connector/j/) GPL + - The Java Look and Feel Graphics Repository + (http://www.oracle.com/technetwork/java/index-138612.html) + JLFGR License + - Apache POI (http://poi.apache.org/) Apache 2.0 License + - jOpenDocument (http://www.jopendocument.org/) GPL + +Source Code +=========== + +The source code is bundled in the CTAN upload as datatooltk-src.zip. +It can also be fetched from GitHub (https://github.com/nlct/datatooltk) +or extracted during the installation process if the source code +option is selected. + +Compiling PDF Documentation +=========================== + +The documentation is contained within the src/doc/ subdirectory +of the source code. The documentation source is in XML format +src/doc/datatool-en.xml which is converted to both LaTeX and Java +HelpSet files to provide the standalone PDF documentation and +the built-in help accessed while the application is running. + +The conversion is performed by the Perl script included in +the src/doc/ directory. The relative paths need to be maintained +for the script to fetch the application resource files +(src/resources/dictionaries/*.prop) to supply the labels for menus +and buttons and for LaTeX to find the image files (src/doc/images/). + +Requirements: TeX, Perl. + +Either (requires arara): + +make -C src/doc datatooltk-en-GB.pdf + +Or: + +1. cd to the src/doc directory. + +2. Run the createdatatooltkdocs Perl script to create the .tex file + Either: + + createdatatooltkdocs en GB + + Or: + + createdatatooltkdocs en US + +3. Run arara on the resulting .tex file. For example: + + arara datatooltk-en-GB + + Alternative run pdflatex, makeindex and makeglossaries as + per the arara directives at the start of the .tex file + +The man file datatooltk.1 can be created from src/doc/datatooltk.pod +using pod2man. diff --git a/support/datatooltk/datatooltk-en-GB.pdf b/support/datatooltk/datatooltk-en-GB.pdf Binary files differnew file mode 100644 index 0000000000..5a239f2f27 --- /dev/null +++ b/support/datatooltk/datatooltk-en-GB.pdf diff --git a/support/datatooltk/datatooltk.1 b/support/datatooltk/datatooltk.1 new file mode 100644 index 0000000000..c92471337a --- /dev/null +++ b/support/datatooltk/datatooltk.1 @@ -0,0 +1,454 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "DATATOOLTK 1" +.TH DATATOOLTK 1 "2018-01-21" "perl v5.18.4" "datatooltk" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fBdatatooltk\fR [\fIoption\fR]+ +.PP +or +.PP +\&\fBdatatooltk-gui\fR [\fIoption\fR]+ +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +Reads and writes \fB.dbtex\fR files for use with the \fBdatatool\fR LaTeX +package. This application can also import data from \s-1CSV\s0 files, +spreadsheets (\fB.ods\fR or \fB.xls\fR), \s-1SQL \s0(only MySQL supported) or +\&\fB.tex\fR files that define problems using the \fBprobsoln\fR package. +The use of this application as a helper for the \fBdatatool\fR package +can significantly speed document build time. +.PP +The \fBdatatooltk\fR application can be run in either batch mode or \s-1GUI\s0 +mode. +.SH "OPTIONS" +.IX Header "OPTIONS" +Some of the options may have the default settings change through the +\&\s-1GUI\s0 interface. You can't combine any of the load/import options: +\&\fB\-\-in\fR, \fB\-\-csv\fR, \fB\-\-xls\fR, \fB\-\-ods\fR, \fB\-\-sql\fR, \fB\-\-probsoln\fR. You +also can't combine any of the merge options: \fB\-\-merge\fR, +\&\fB\-\-merge\-csv\fR, \fB\-\-merge\-xls\fR, \fB\-\-merge\-ods\fR, \fB\-\-merge\-sql\fR, +\&\fB\-\-merge\-probsoln\fR. The merge import options use the same settings +as the import options. See the \fBdatatooltk\fR user manual for further +details. +.IP "\fB\-\-gui\fR (or \fB\-g\fR)" 4 +.IX Item "--gui (or -g)" +Invoke \fBdatatooltk\fR in \s-1GUI\s0 mode. The command line invocation +.Sp +\&\fBdatatooltk-gui\fR [\fIoption\fR]+ +.Sp +is equivalent to +.Sp +\&\fBdatatooltk\fR \fB\-\-gui\fR [\fIoption\fR]+ +.Sp +but additionally has a splash screen. +.IP "\fB\-\-batch\fR (or \fB\-b\fR)" 4 +.IX Item "--batch (or -b)" +Invoke \fBdatatooltk\fR in batch mode. +.IP "\fB\-\-output\fR \fIfilename\fR (or \fB\-o\fR \fIfilename\fR)" 4 +.IX Item "--output filename (or -o filename)" +Save the database to \fIfilename\fR (batch mode only). +.IP "\fB\-\-in\fR \fIfilename\fR (or \fB\-i\fR \fIfilename\fR)" 4 +.IX Item "--in filename (or -i filename)" +Load \fIfilename\fR which must be a file that can be loaded in a +document using \fB\einput\fR or \fB\eDTLloaddbtex\fR. +.IP "\fB\-\-tex\-encoding\fR \fIencoding\fR" 4 +.IX Item "--tex-encoding encoding" +Set the encoding for the TeX (\fB.tex\fR and \fB.dbtex\fR) files to +\&\fIencoding\fR. The \fIencoding\fR may be the keyword \fBdefault\fR +or an empty string to indicate the default file encoding (as +understood by the Java Virtual Machine). Make sure that your LaTeX +document matches the given encoding. +.IP "\fB\-\-name\fR \fIname\fR" 4 +.IX Item "--name name" +If used with \fB\-\-in\fR, \fB\-\-csv\fR, \fB\-\-sql\fR, \fB\-\-xls\fR, \fB\-\-ods\fR +or \fB\-\-probsoln\fR this sets the database label to \fIname\fR. +.IP "\fB\-\-version\fR (or \fB\-v\fR)" 4 +.IX Item "--version (or -v)" +Print the version details to \s-1STDOUT\s0 and exit. +.IP "\fB\-\-help\fR (or \fB\-h\fR)" 4 +.IX Item "--help (or -h)" +Print a brief summary of available options to \s-1STDOUT\s0 and exit. +.IP "\fB\-\-debug\fR" 4 +.IX Item "--debug" +Enable debug mode. +.IP "\fB\-\-nodebug\fR" 4 +.IX Item "--nodebug" +Disable debug mode. +.IP "\fB\-\-compat\fR \fIlevel\fR" 4 +.IX Item "--compat level" +Set the compatibility level. The argument \fIlevel\fR may be \fBlatest\fR +or \fB1.6\fR. The \fB1.6\fR setting only affects \fB\-\-shuffle\fR and is +provided for old documents. +.IP "\fB\-\-owner\-only\fR" 4 +.IX Item "--owner-only" +Set read/write permissions when saving \fB.dbtex\fR files to owner +only. (Has no effect on some operating systems.) +.IP "\fB\-\-noowner\-only\fR" 4 +.IX Item "--noowner-only" +Don't change read/write permissions when saving \fB.dbtex\fR files. +.IP "\fB\-\-map\-tex\-specials\fR" 4 +.IX Item "--map-tex-specials" +Map TeX special characters when importing data from \s-1CSV\s0 or \s-1SQL.\s0 +.IP "\fB\-\-nomap\-tex\-specials\fR" 4 +.IX Item "--nomap-tex-specials" +Don't map TeX special characters when importing data from \s-1CSV\s0 or +\&\s-1SQL.\s0 +.IP "\fB\-\-seed\fR \fInumber\fR" 4 +.IX Item "--seed number" +Set the random generator seed to \fInumber\fR or clear if if \fInumber\fR +is the empty string. +.IP "\fB\-\-shuffle\fR" 4 +.IX Item "--shuffle" +Shuffle the database. (Always performed after \fB\-\-sort\fR regardless +of the option order.) +.IP "\fB\-\-noshuffle\fR" 4 +.IX Item "--noshuffle" +Don't shuffle the database. +.IP "\fB\-\-sort\fR [\fIprefix\fR]\fIfield\fR" 4 +.IX Item "--sort [prefix]field" +Sort the database according to the column whose label is \fIfield\fR. +Optionally, \fIprefix\fR may be \fB+\fR (ascending order) or \fB\-\fR (descending +order). If \fIprefix\fR is omitted, ascending is assumed. +.IP "\fB\-\-sort\-locale\fR \fIvalue\fR" 4 +.IX Item "--sort-locale value" +If the \fIvalue\fR is \fBnone\fR then use letter-sorting for strings. +(That is, compare the Unicode values for each character.) Otherwise +\&\fIvalue\fR should be a valid \s-1IETF\s0 language tag that identifies the +locale to sort by. +.IP "\fB\-\-sort\-case\-sensitive\fR" 4 +.IX Item "--sort-case-sensitive" +Use case-sensitive comparison when letter-sorting strings. (Ignored +with locale-sensitive comparisons.) +.IP "\fB\-\-sort\-case\-insensitive\fR" 4 +.IX Item "--sort-case-insensitive" +Use case-insensitive comparison when letter-sorting strings. (Ignored +with locale-sensitive comparisons.) +.IP "\fB\-\-truncate\fR \fIn\fR" 4 +.IX Item "--truncate n" +Truncate the database to the first \fIn\fR rows. Truncation is always +performed last (after any sorting, shuffling and filtering). +.IP "\fB\-\-filter\fR \fIkey\fR \fIoperator\fR \fIvalue\fR" 4 +.IX Item "--filter key operator value" +Adds the given filter. This filter returns true if the value in the +column whose label is given by \fIkey\fR matches the operation +\&\fIoperator\fR \fIvalue\fR where \fIoperator\fR may be one of: \fBeq\fR (equals), +\&\fBne\fR (does not equal), \fBle\fR (less than or equal to), \fBlt\fR (less +than), \fBge\fR (greater than or equal to), \fBgt\fR (greater than) or +\&\fBregex\fR (matches the regular expression given by \fIvalue\fR). +.Sp +Filtering is always performed after sorting and shuffling (when +those actions are specified). Numerical comparisons are used for +columns identified as containing numerical data otherwise string +comparisons are used, except in the case of \fBregex\fR where the data +type is disregarded and all values are assumed to be strings. +.Sp +This option may be used multiple times. +.IP "\fB\-\-filter\-or\fR" 4 +.IX Item "--filter-or" +Use \s-1OR\s0 operator when filtering. (Has no effect with only one +instance of \fB\-\-filter\fR.) +.IP "\fB\-\-filter\-and\fR" 4 +.IX Item "--filter-and" +Use \s-1AND\s0 operator when filtering. (Has no effect with only one +instance of \fB\-\-filter\fR.) +.IP "\fB\-\-filter\-include\fR" 4 +.IX Item "--filter-include" +When filtering, only retain rows that match the filter. Non-matching +rows are discarded. +.IP "\fB\-\-filter\-exclude\fR" 4 +.IX Item "--filter-exclude" +When filtering, only retain rows that don't match the filter. +Matching rows are discarded. +.IP "\fB\-\-merge\fR \fIkey\fR \fIdb file\fR" 4 +.IX Item "--merge key db file" +Merges the input or imported database with the database stored in +the given \fBdb file\fR. Each row in \fBdb file\fR is merged with the row +that has a matching value in the column whose label is given by +\&\fIkey\fR. Both databases must contain a column with that label. +If both databases share additional columns, the values in \fIdb file\fR +override those in the original database. This options is always +implemented before any sorting, shuffling, filtering or truncating. +Only one of the merge options is permitted. +.IP "\fB\-\-csv\fR \fIcsv file\fR" 4 +.IX Item "--csv csv file" +Import data from the given \s-1CSV\s0 file. +.IP "\fB\-\-merge\-csv\fR \fIkey\fR \fIcsv file\fR" 4 +.IX Item "--merge-csv key csv file" +As \fB\-\-merge\fR but the data to be merged is imported from the given +\&\s-1CSV\s0 file. +.IP "\fB\-\-csv\-sep\fR \fIcharacter\fR" 4 +.IX Item "--csv-sep character" +Specify the character used to separate values in the \s-1CSV\s0 file. +.IP "\fB\-\-csv\-delim\fR \fIcharacter\fR" 4 +.IX Item "--csv-delim character" +Specify the character used to delimit values in the \s-1CSV\s0 file. +.IP "\fB\-\-csv\-skiplines\fR \fIn\fR" 4 +.IX Item "--csv-skiplines n" +Skip the first \fIn\fR rows from the start of the \s-1CSV\s0 file. +The \fIn\fR may be 0 (don't skip any rows) or a positive +integer indicating the number of rows to skip. +.IP "\fB\-\-csv\-strictquotes\fR" 4 +.IX Item "--csv-strictquotes" +Ignore any data that hasn't been delimited (by the character +identified with \fB\-\-csv\-delim\fR). +.IP "\fB\-\-nocsv\-strictquotes\fR" 4 +.IX Item "--nocsv-strictquotes" +Allow undelimited values. +.IP "\fB\-\-csv\-encoding\fR \fIencoding\fR" 4 +.IX Item "--csv-encoding encoding" +Set the encoding for the \s-1CSV\s0 files to \fIencoding\fR. The value may +be \fBdefault\fR or the empty string to indicate the default (as +recognised by the Java Virtual Machine). This setting is independent +of the TeX file encoding. +.IP "\fB\-\-csv\-header\fR" 4 +.IX Item "--csv-header" +The \s-1CSV\s0 file has a header row. +.IP "\fB\-\-nocsv\-header\fR" 4 +.IX Item "--nocsv-header" +The \s-1CSV\s0 file doesn't have a header row. +.IP "\fB\-\-csv\-escape\fR \fIcharacter\fR" 4 +.IX Item "--csv-escape character" +Set the \s-1CSV\s0 file escape character to \fIcharacter\fR. +.IP "\fB\-\-nocsv\-escape\fR" 4 +.IX Item "--nocsv-escape" +Don't have an escape character for the \s-1CSV\s0 file. +.IP "\fB\-\-xls\fR \fIxls file\fR" 4 +.IX Item "--xls xls file" +Import data from the given Excel \fB.xls\fR file. +.IP "\fB\-\-merge\-xls\fR \fIkey\fR \fIxls file\fR" 4 +.IX Item "--merge-xls key xls file" +As \fB\-\-merge\fR but the data to be merged is imported from the given +Excel file. +.IP "\fB\-\-ods\fR \fIods file\fR" 4 +.IX Item "--ods ods file" +Import data from the given Open Document Spreadsheet \fB.ods\fR file. +.IP "\fB\-\-merge\-ods\fR \fIkey\fR \fIods file\fR" 4 +.IX Item "--merge-ods key ods file" +As \fB\-\-merge\fR but the data to be merged is imported from the given +Open Document Spreadsheet \fB.ods\fR file. +.IP "\fB\-\-sheet\fR \fIsheet id\fR" 4 +.IX Item "--sheet sheet id" +The sheet to select from the Excel workbook or Open Document +Spreadsheet. The \fIsheet id\fR may be either an index (starting from 0) +or the name of the sheet. If this option is omitted, the first sheet +is assumed. +.IP "\fB\-\-sql\fR \fIstatement\fR" 4 +.IX Item "--sql statement" +Import data from an \s-1SQL\s0 database where \fIstatement\fR is a \s-1SELECT\s0 +statement. +.IP "\fB\-\-merge\-sql\fR \fIkey\fR \fIstatement\fR" 4 +.IX Item "--merge-sql key statement" +As \fB\-\-merge\fR but the data to be merged is imported using the given +\&\s-1SQL\s0 statement. +.IP "\fB\-\-sqldb\fR \fIname\fR" 4 +.IX Item "--sqldb name" +The \s-1SQL\s0 database name. +.IP "\fB\-\-sqlprefix\fR \fIprefix\fR" 4 +.IX Item "--sqlprefix prefix" +The Java \s-1SQL\s0 prefix. Currently only MySQL is supported. +.IP "\fB\-\-sqlport\fR \fIport\fR" 4 +.IX Item "--sqlport port" +The \s-1SQL\s0 port number. +.IP "\fB\-\-sqlhost\fR \fIhost\fR" 4 +.IX Item "--sqlhost host" +The \s-1SQL\s0 host. +.IP "\fB\-\-sqluser\fR \fIuser name\fR" 4 +.IX Item "--sqluser user name" +The \s-1SQL\s0 user name. +.IP "\fB\-\-sqlpassword\fR \fIpassword\fR" 4 +.IX Item "--sqlpassword password" +(Insecure!) The \s-1SQL\s0 password. If omitted, you will be prompted for +the password if you try to import data from an \s-1SQL\s0 database. +.IP "\fB\-\-wipepassword\fR" 4 +.IX Item "--wipepassword" +For extra security, wipe the password from memory as soon as it has +been connected to an \s-1SQL\s0 database. +.IP "\fB\-\-nowipepassword\fR" 4 +.IX Item "--nowipepassword" +Don't wipe the password from memory as soon as it has been used to +connect to an \s-1SQL\s0 database. +.IP "\fB\-\-noconsole\-action\fR \fIaction\fR" 4 +.IX Item "--noconsole-action action" +If in batch mode and an \s-1SQL\s0 password is required and \fB\-\-sqlpassword\fR +hasn't been used, the default action is for \fBdatatooltk\fR to request +a password via the console. If there is no console available the +action is determined by \fIaction\fR which may be one of: +.RS 4 +.IP "\fBerror\fR" 4 +.IX Item "error" +Issue an error; +.IP "\fBstdin\fR" 4 +.IX Item "stdin" +Request the password via \s-1STDIN \s0(less secure than a console and can +produce an annoying flicker); +.IP "\fBgui\fR" 4 +.IX Item "gui" +Display a dialog box in which to enter the password. +.RE +.RS 4 +.RE +.IP "\fB\-\-probsoln\fR \fIfilename\fR" 4 +.IX Item "--probsoln filename" +Import \fBprobsoln.sty\fR data from \fIfilename\fR. +.IP "\fB\-\-merge\-probsoln\fR \fIkey\fR \fIfilename\fR" 4 +.IX Item "--merge-probsoln key filename" +As \fB\-\-merge\fR but the data to be merged is imported from the given +\&\fBprobsoln.sty\fR file. +.SH "REQUIRES" +.IX Header "REQUIRES" +Java 7 and also Perl if plugins are required. +.SH "LICENSE" +.IX Header "LICENSE" +License GPLv3+: \s-1GNU GPL\s0 version 3 or later +<http://gnu.org/licenses/gpl.html> +This is free software: you are free to change and redistribute it. +There is \s-1NO WARRANTY,\s0 to the extent permitted by law. +.SH "RECOMMENDED READING" +.IX Header "RECOMMENDED READING" +The datatooltk manual (available as a \s-1PDF\s0 or through the \s-1GUI\s0). +.PP +The datatool manual: +.PP +.Vb 1 +\& texdoc datatool +.Ve +.SH "AUTHOR" +.IX Header "AUTHOR" +Nicola L. C. Talbot, +<http://www.dickimaw\-books.com/> |