mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-26 18:07:18 +00:00
improve tex2lyx Usage display (on error...); describe option -e on man page; remove non-implemented -p and -r options
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29346 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
2d74fba556
commit
2e45185cd5
@ -20,14 +20,12 @@ call it from the command line only if you need to use more complicated
|
|||||||
options.
|
options.
|
||||||
.PP
|
.PP
|
||||||
\fBtex2lyx\fR [ \fB\-userdir\fR \fIuserdir\fR ] [ \fB\-systemdir\fR \fIsystemdir\fR ]
|
\fBtex2lyx\fR [ \fB\-userdir\fR \fIuserdir\fR ] [ \fB\-systemdir\fR \fIsystemdir\fR ]
|
||||||
[\fB\-n\fR] [\ \fB\-r\fR\ \fIrenv1\fR[,\fIrenv2\fR...]] [\ \fB\-s\fR\ \fIsfile1\fR[,\fIsfile2\fR...]]
|
[ \fB\-n\fR ] [ \fB\-c\fR \fItextclass\fR ] [\ \fB\-s\fR\ \fIsfile1\fR[,\fIsfile2\fR...]]
|
||||||
\fIinputfile\fR [ \fB\-c\fR \fItextclass\fR ]
|
\fIinputfile\fR
|
||||||
.PP
|
." .PP
|
||||||
\fBtex2lyx\fR [ \fB\-userdir\fR \fIuserdir\fR ] [ \fB\-systemdir\fR \fIsystemdir\fR ]
|
." \fBtex2lyx\fR [ \fB\-userdir\fR \fIuserdir\fR ] [ \fB\-systemdir\fR \fIsystemdir\fR ]
|
||||||
[\ \fB\-r\fR\ \fIrenv1\fR[,\fIrenv2\fR...]] [\ \fB\-s\fR\ \fIsfile1\fR[,\fIsfile2\fR...]]
|
." [\ \fB\-r\fR\ \fIrenv1\fR[,\fIrenv2\fR...]] [\ \fB\-s\fR\ \fIsfile1\fR[,\fIsfile2\fR...]]
|
||||||
\fIinputfiles\fR \fB\-p\fR \fB\-c\fR \fItextclass\fR
|
." \fIinputfiles\fR \fB\-p\fR \fB\-c\fR \fItextclass\fR
|
||||||
.PP
|
|
||||||
\fBtex2lyx\fR \fB\-help\fR
|
|
||||||
.SH "OPTIONS"
|
.SH "OPTIONS"
|
||||||
.TP
|
.TP
|
||||||
.BI \-c
|
.BI \-c
|
||||||
@ -41,31 +39,28 @@ creates a file of textclass \*(L"foo\*(R" and reads the LyX layout file for that
|
|||||||
Force. \fBtex2lyx\fR will not run if the .lyx file it would generate already exists.
|
Force. \fBtex2lyx\fR will not run if the .lyx file it would generate already exists.
|
||||||
Use the \fB\-f\fR option (carefully) to clobber any existing files.
|
Use the \fB\-f\fR option (carefully) to clobber any existing files.
|
||||||
.TP
|
.TP
|
||||||
.BI \-help
|
|
||||||
Help. Print out usage information and quit.
|
|
||||||
.TP
|
|
||||||
.BI \-n
|
.BI \-n
|
||||||
Noweb. Translate a noweb (aka literate programming) file. This should be
|
Noweb. Translate a noweb (aka literate programming) file. This should be
|
||||||
(almost?) equivalent to running \*(L"noweb2lyx foo.tex foo.lyx\*(R". This option
|
(almost?) equivalent to running \*(L"noweb2lyx foo.tex foo.lyx\*(R". This option
|
||||||
requires the \fB\-c\fR option.
|
requires the \fB\-c\fR option.
|
||||||
.TP
|
." .TP
|
||||||
.BI \-p
|
." .BI \-p
|
||||||
Partial file. The input files are LaTeX fragments, with no preamble matter or
|
." Partial file. The input files are LaTeX fragments, with no preamble matter or
|
||||||
\f(CW\ebegin{document}\fR commands. This option requires the \fB\-c\fR option, since there
|
." \f(CW\ebegin{document}\fR commands. This option requires the \fB\-c\fR option, since there
|
||||||
are no \f(CW\edocumentclass\fR commands in the files \fBtex2lyx\fR is translating. When
|
." are no \f(CW\edocumentclass\fR commands in the files \fBtex2lyx\fR is translating. When
|
||||||
using this option, you can translate more than one file, as long as all files
|
." using this option, you can translate more than one file, as long as all files
|
||||||
are the same class. The LyX file created by \fBtex2lyx\fR can be included in an
|
." are the same class. The LyX file created by \fBtex2lyx\fR can be included in an
|
||||||
existing LyX file using the \*(L"Include LyX File\*(R" command from
|
." existing LyX file using the \*(L"Include LyX File\*(R" command from
|
||||||
LyX's Insert menu. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
." LyX's Insert menu. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
||||||
not yet been implemented in \fBtex2lyx\fR).
|
." not yet been implemented in \fBtex2lyx\fR).
|
||||||
.TP
|
." .TP
|
||||||
.BI \-r
|
." .BI \-r
|
||||||
Regular environments (see the section on \fISyntax Files\fR). If you give more than one
|
." Regular environments (see the section on \fISyntax Files\fR). If you give more than one
|
||||||
environment, separate them with commas (not spaces). You'll probably need to
|
." environment, separate them with commas (not spaces). You'll probably need to
|
||||||
quote the environment list, especially if it has asterisk environments (foo*)
|
." quote the environment list, especially if it has asterisk environments (foo*)
|
||||||
in it. If you use this command often, considering creating a personal syntax
|
." in it. If you use this command often, considering creating a personal syntax
|
||||||
file. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
." file. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
||||||
not yet been implemented in \fBtex2lyx\fR).
|
." not yet been implemented in \fBtex2lyx\fR).
|
||||||
.TP
|
.TP
|
||||||
.BI \-s
|
.BI \-s
|
||||||
Syntax files. Input (one or more quoted, comma-separated) syntax files to read
|
Syntax files. Input (one or more quoted, comma-separated) syntax files to read
|
||||||
@ -78,6 +73,9 @@ chosen. Cf. the section \f(CWFILES\fR for details.
|
|||||||
.BI \-userdir
|
.BI \-userdir
|
||||||
Specify a user directory. Normally, you shouldn't need this. Your LyX user directory is
|
Specify a user directory. Normally, you shouldn't need this. Your LyX user directory is
|
||||||
chosen. Cf. the section \f(CWFILES\fR for details.
|
chosen. Cf. the section \f(CWFILES\fR for details.
|
||||||
|
.TP
|
||||||
|
.BI \-help
|
||||||
|
Help. Print out usage information and quit.
|
||||||
.SH "DESCRIPTION"
|
.SH "DESCRIPTION"
|
||||||
.SS "Introduction"
|
.SS "Introduction"
|
||||||
\fBtex2lyx\fR will create a LyX file \fIdir/foo.lyx\fR from the LaTeX file
|
\fBtex2lyx\fR will create a LyX file \fIdir/foo.lyx\fR from the LaTeX file
|
||||||
|
@ -239,7 +239,7 @@ string documentclass;
|
|||||||
string default_encoding;
|
string default_encoding;
|
||||||
string syntaxfile;
|
string syntaxfile;
|
||||||
bool overwrite_files = false;
|
bool overwrite_files = false;
|
||||||
|
int error_code = 0;
|
||||||
|
|
||||||
/// return the number of arguments consumed
|
/// return the number of arguments consumed
|
||||||
typedef int (*cmd_helper)(string const &, string const &);
|
typedef int (*cmd_helper)(string const &, string const &);
|
||||||
@ -247,26 +247,33 @@ typedef int (*cmd_helper)(string const &, string const &);
|
|||||||
|
|
||||||
int parse_help(string const &, string const &)
|
int parse_help(string const &, string const &)
|
||||||
{
|
{
|
||||||
cerr << "Usage: tex2lyx [ command line switches ] <infile.tex> [<outfile.lyx>]\n"
|
cerr << "Usage: tex2lyx [options] infile.tex [outfile.lyx]\n"
|
||||||
"Command line switches (case sensitive):\n"
|
"Options:\n"
|
||||||
"\t-help summarize tex2lyx usage\n"
|
"\t-c textclass Declare the textclass.\n"
|
||||||
"\t-f Force creation of .lyx files even if they exist already\n"
|
"\t-e encoding Set the default encoding (latex name).\n"
|
||||||
"\t-userdir dir try to set user directory to dir\n"
|
"\t-f Force overwrite of .lyx files.\n"
|
||||||
"\t-sysdir dir try to set system directory to dir\n"
|
"\t-help Print this message and quit.\n"
|
||||||
"\t-c textclass declare the textclass\n"
|
|
||||||
"\t-e encoding set the default encoding (latex name)\n"
|
|
||||||
"\t-n translate a noweb (aka literate programming) file.\n"
|
"\t-n translate a noweb (aka literate programming) file.\n"
|
||||||
"\t-s syntaxfile read additional syntax file" << endl;
|
"\t-s syntaxfile read additional syntax file.\n"
|
||||||
exit(0);
|
"\t-sysdir dir Set system directory to DIR.\n"
|
||||||
|
"\t-userdir DIR Set user directory to DIR."
|
||||||
|
<< endl;
|
||||||
|
exit(error_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void error_message(string const & message)
|
||||||
|
{
|
||||||
|
cerr << "tex2lyx: " << message << "\n\n";
|
||||||
|
error_code = 1;
|
||||||
|
parse_help(string(), string());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int parse_class(string const & arg, string const &)
|
int parse_class(string const & arg, string const &)
|
||||||
{
|
{
|
||||||
if (arg.empty()) {
|
if (arg.empty())
|
||||||
cerr << "Missing textclass string after -c switch" << endl;
|
error_message("Missing textclass string after -c switch");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
documentclass = arg;
|
documentclass = arg;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -274,10 +281,8 @@ int parse_class(string const & arg, string const &)
|
|||||||
|
|
||||||
int parse_encoding(string const & arg, string const &)
|
int parse_encoding(string const & arg, string const &)
|
||||||
{
|
{
|
||||||
if (arg.empty()) {
|
if (arg.empty())
|
||||||
cerr << "Missing encoding string after -e switch" << endl;
|
error_message("Missing encoding string after -e switch");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
default_encoding = arg;
|
default_encoding = arg;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -285,10 +290,8 @@ int parse_encoding(string const & arg, string const &)
|
|||||||
|
|
||||||
int parse_syntaxfile(string const & arg, string const &)
|
int parse_syntaxfile(string const & arg, string const &)
|
||||||
{
|
{
|
||||||
if (arg.empty()) {
|
if (arg.empty())
|
||||||
cerr << "Missing syntaxfile string after -s switch" << endl;
|
error_message("Missing syntaxfile string after -s switch");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
syntaxfile = internal_path(arg);
|
syntaxfile = internal_path(arg);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -302,10 +305,8 @@ string cl_user_support;
|
|||||||
|
|
||||||
int parse_sysdir(string const & arg, string const &)
|
int parse_sysdir(string const & arg, string const &)
|
||||||
{
|
{
|
||||||
if (arg.empty()) {
|
if (arg.empty())
|
||||||
cerr << "Missing directory for -sysdir switch" << endl;
|
error_message("Missing directory for -sysdir switch");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
cl_system_support = internal_path(arg);
|
cl_system_support = internal_path(arg);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -313,10 +314,8 @@ int parse_sysdir(string const & arg, string const &)
|
|||||||
|
|
||||||
int parse_userdir(string const & arg, string const &)
|
int parse_userdir(string const & arg, string const &)
|
||||||
{
|
{
|
||||||
if (arg.empty()) {
|
if (arg.empty())
|
||||||
cerr << "Missing directory for -userdir switch" << endl;
|
error_message("Missing directory for -userdir switch");
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
cl_user_support = internal_path(arg);
|
cl_user_support = internal_path(arg);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -355,8 +354,12 @@ void easyParse(int & argc, char * argv[])
|
|||||||
= cmdmap.find(argv[i]);
|
= cmdmap.find(argv[i]);
|
||||||
|
|
||||||
// don't complain if not found - may be parsed later
|
// don't complain if not found - may be parsed later
|
||||||
if (it == cmdmap.end())
|
if (it == cmdmap.end()) {
|
||||||
|
if (argv[i][0] == '-')
|
||||||
|
error_message(string("Unknown option `") + argv[i] + "'.");
|
||||||
|
else
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
string arg(to_utf8(from_local8bit((i + 1 < argc) ? argv[i + 1] : "")));
|
string arg(to_utf8(from_local8bit((i + 1 < argc) ? argv[i + 1] : "")));
|
||||||
string arg2(to_utf8(from_local8bit((i + 2 < argc) ? argv[i + 2] : "")));
|
string arg2(to_utf8(from_local8bit((i + 2 < argc) ? argv[i + 2] : "")));
|
||||||
@ -498,12 +501,8 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
easyParse(argc, argv);
|
easyParse(argc, argv);
|
||||||
|
|
||||||
if (argc <= 1) {
|
if (argc <= 1)
|
||||||
cerr << "Usage: tex2lyx [ command line switches ] <infile.tex> [<outfile.lyx>]\n"
|
error_message("Not enough arguments.");
|
||||||
"See tex2lyx -help." << endl;
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
os::init(argc, argv);
|
os::init(argc, argv);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -554,6 +553,8 @@ int main(int argc, char * argv[])
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
encodings.read(enc_path, symbols_path);
|
encodings.read(enc_path, symbols_path);
|
||||||
|
if (!default_encoding.empty() && !encodings.fromLaTeXName(default_encoding))
|
||||||
|
error_message("Unknown LaTeX encoding `" + default_encoding + "'");
|
||||||
|
|
||||||
// The real work now.
|
// The real work now.
|
||||||
masterFilePath = onlyPath(infilename);
|
masterFilePath = onlyPath(infilename);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user