mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-11 03:03:06 +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.
|
||||
.PP
|
||||
\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...]]
|
||||
\fIinputfile\fR [ \fB\-c\fR \fItextclass\fR ]
|
||||
.PP
|
||||
\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...]]
|
||||
\fIinputfiles\fR \fB\-p\fR \fB\-c\fR \fItextclass\fR
|
||||
.PP
|
||||
\fBtex2lyx\fR \fB\-help\fR
|
||||
[ \fB\-n\fR ] [ \fB\-c\fR \fItextclass\fR ] [\ \fB\-s\fR\ \fIsfile1\fR[,\fIsfile2\fR...]]
|
||||
\fIinputfile\fR
|
||||
." .PP
|
||||
." \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...]]
|
||||
." \fIinputfiles\fR \fB\-p\fR \fB\-c\fR \fItextclass\fR
|
||||
.SH "OPTIONS"
|
||||
.TP
|
||||
.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.
|
||||
Use the \fB\-f\fR option (carefully) to clobber any existing files.
|
||||
.TP
|
||||
.BI \-help
|
||||
Help. Print out usage information and quit.
|
||||
.TP
|
||||
.BI \-n
|
||||
Noweb. Translate a noweb (aka literate programming) file. This should be
|
||||
(almost?) equivalent to running \*(L"noweb2lyx foo.tex foo.lyx\*(R". This option
|
||||
requires the \fB\-c\fR option.
|
||||
.TP
|
||||
.BI \-p
|
||||
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
|
||||
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
|
||||
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
|
||||
LyX's Insert menu. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
||||
not yet been implemented in \fBtex2lyx\fR).
|
||||
.TP
|
||||
.BI \-r
|
||||
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
|
||||
quote the environment list, especially if it has asterisk environments (foo*)
|
||||
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
|
||||
not yet been implemented in \fBtex2lyx\fR).
|
||||
." .TP
|
||||
." .BI \-p
|
||||
." 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
|
||||
." 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
|
||||
." 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
|
||||
." LyX's Insert menu. (\fBNOTE\fR: this feature of the older \fBreLyX\fR script has
|
||||
." not yet been implemented in \fBtex2lyx\fR).
|
||||
." .TP
|
||||
." .BI \-r
|
||||
." 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
|
||||
." quote the environment list, especially if it has asterisk environments (foo*)
|
||||
." 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
|
||||
." not yet been implemented in \fBtex2lyx\fR).
|
||||
.TP
|
||||
.BI \-s
|
||||
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
|
||||
Specify a user directory. Normally, you shouldn't need this. Your LyX user directory is
|
||||
chosen. Cf. the section \f(CWFILES\fR for details.
|
||||
.TP
|
||||
.BI \-help
|
||||
Help. Print out usage information and quit.
|
||||
.SH "DESCRIPTION"
|
||||
.SS "Introduction"
|
||||
\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 syntaxfile;
|
||||
bool overwrite_files = false;
|
||||
|
||||
int error_code = 0;
|
||||
|
||||
/// return the number of arguments consumed
|
||||
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 &)
|
||||
{
|
||||
cerr << "Usage: tex2lyx [ command line switches ] <infile.tex> [<outfile.lyx>]\n"
|
||||
"Command line switches (case sensitive):\n"
|
||||
"\t-help summarize tex2lyx usage\n"
|
||||
"\t-f Force creation of .lyx files even if they exist already\n"
|
||||
"\t-userdir dir try to set user directory to dir\n"
|
||||
"\t-sysdir dir try to set system directory to dir\n"
|
||||
"\t-c textclass declare the textclass\n"
|
||||
"\t-e encoding set the default encoding (latex name)\n"
|
||||
cerr << "Usage: tex2lyx [options] infile.tex [outfile.lyx]\n"
|
||||
"Options:\n"
|
||||
"\t-c textclass Declare the textclass.\n"
|
||||
"\t-e encoding Set the default encoding (latex name).\n"
|
||||
"\t-f Force overwrite of .lyx files.\n"
|
||||
"\t-help Print this message and quit.\n"
|
||||
"\t-n translate a noweb (aka literate programming) file.\n"
|
||||
"\t-s syntaxfile read additional syntax file" << endl;
|
||||
exit(0);
|
||||
"\t-s syntaxfile read additional syntax file.\n"
|
||||
"\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 &)
|
||||
{
|
||||
if (arg.empty()) {
|
||||
cerr << "Missing textclass string after -c switch" << endl;
|
||||
exit(1);
|
||||
}
|
||||
if (arg.empty())
|
||||
error_message("Missing textclass string after -c switch");
|
||||
documentclass = arg;
|
||||
return 1;
|
||||
}
|
||||
@ -274,10 +281,8 @@ int parse_class(string const & arg, string const &)
|
||||
|
||||
int parse_encoding(string const & arg, string const &)
|
||||
{
|
||||
if (arg.empty()) {
|
||||
cerr << "Missing encoding string after -e switch" << endl;
|
||||
exit(1);
|
||||
}
|
||||
if (arg.empty())
|
||||
error_message("Missing encoding string after -e switch");
|
||||
default_encoding = arg;
|
||||
return 1;
|
||||
}
|
||||
@ -285,10 +290,8 @@ int parse_encoding(string const & arg, string const &)
|
||||
|
||||
int parse_syntaxfile(string const & arg, string const &)
|
||||
{
|
||||
if (arg.empty()) {
|
||||
cerr << "Missing syntaxfile string after -s switch" << endl;
|
||||
exit(1);
|
||||
}
|
||||
if (arg.empty())
|
||||
error_message("Missing syntaxfile string after -s switch");
|
||||
syntaxfile = internal_path(arg);
|
||||
return 1;
|
||||
}
|
||||
@ -302,10 +305,8 @@ string cl_user_support;
|
||||
|
||||
int parse_sysdir(string const & arg, string const &)
|
||||
{
|
||||
if (arg.empty()) {
|
||||
cerr << "Missing directory for -sysdir switch" << endl;
|
||||
exit(1);
|
||||
}
|
||||
if (arg.empty())
|
||||
error_message("Missing directory for -sysdir switch");
|
||||
cl_system_support = internal_path(arg);
|
||||
return 1;
|
||||
}
|
||||
@ -313,10 +314,8 @@ int parse_sysdir(string const & arg, string const &)
|
||||
|
||||
int parse_userdir(string const & arg, string const &)
|
||||
{
|
||||
if (arg.empty()) {
|
||||
cerr << "Missing directory for -userdir switch" << endl;
|
||||
exit(1);
|
||||
}
|
||||
if (arg.empty())
|
||||
error_message("Missing directory for -userdir switch");
|
||||
cl_user_support = internal_path(arg);
|
||||
return 1;
|
||||
}
|
||||
@ -355,8 +354,12 @@ void easyParse(int & argc, char * argv[])
|
||||
= cmdmap.find(argv[i]);
|
||||
|
||||
// don't complain if not found - may be parsed later
|
||||
if (it == cmdmap.end())
|
||||
continue;
|
||||
if (it == cmdmap.end()) {
|
||||
if (argv[i][0] == '-')
|
||||
error_message(string("Unknown option `") + argv[i] + "'.");
|
||||
else
|
||||
continue;
|
||||
}
|
||||
|
||||
string arg(to_utf8(from_local8bit((i + 1 < argc) ? argv[i + 1] : "")));
|
||||
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);
|
||||
|
||||
if (argc <= 1) {
|
||||
cerr << "Usage: tex2lyx [ command line switches ] <infile.tex> [<outfile.lyx>]\n"
|
||||
"See tex2lyx -help." << endl;
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (argc <= 1)
|
||||
error_message("Not enough arguments.");
|
||||
os::init(argc, argv);
|
||||
|
||||
try {
|
||||
@ -554,6 +553,8 @@ int main(int argc, char * argv[])
|
||||
exit(1);
|
||||
}
|
||||
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.
|
||||
masterFilePath = onlyPath(infilename);
|
||||
|
Loading…
Reference in New Issue
Block a user