If you have an unmounted dir, ac_dir, in your PATH, the call to
os.path.isfile( os.path.join(ac_dir, ac_word + ext) )
hangs. This is probably a python bug, but the result of configure.py
hanging and LyX freezing is really bad, hence this workaround.
According to the python docs, MacOS doesn't provide os.access();
the hasattr protection is used for this reason.
ps2pdf by default produces the PDF 1.4 format. The PDF 1.3 format was
released in 2000. PDF 1.4 was released in 2001. LyX specified 1.3 as
the output version in 2002 (c1541c22), perhaps because at the time
PDF 1.4 was only a year old so some viewers did not support it.
When using CMake, the binary files are stored in <build-dir>/bin. LyX can't fin tex2lyx with the current code. So, we have to point configure.py to explicitly look in the binary dir.
Before, the converter chain for DocBook -> PDF (ps2pdf) was:
docbook -> DVI
DVI -> Postscript
Postscript -> PDF (ps2pdf)
sgmltools has a backend for PostScript so the first two
steps in the above converter chain are now condensed into
one by adding the following converter for docbook -> Postscript:
sgmltools -b ps $$i
gnuhtml2latex does not handle encodings at all. Therefore the result is not
imported correctly by tex2lyx if the HTML file is encoded in anything else
than ascii or latin1 (the default of tex2lyx). The simple wrapper script
loads inputenc if needed. It may not be possible to compile the result with
LaTeX, (e.gif utf8 is used), but for running tex2lyx it will work just fine.
If you do not explicitly specify the output file name, gnuhtml2latex will
guess a file name itself. The result of the guess is not what we expect if
the input file name did not contain a .html extension, but something which
is not related to a format, e.g. .qV9984 from FileName::tempName().
Previously, the format used for included pdf files was the same as for
document export via ps2pdf. This caused unwanted conversion routes, e.g.
export via odt->pdf instead of dvi->ps->pdf.
I renamed the format for included graphics and not for exported documents,
since otherwise the command line syntax for export would change. This would
require more adaptions for the users, since with the chosen solution the
custom converters are almost always changed correctly in prefs2prefs(),
so that only custom external templates need manual adjustement.
Now that we have module support for literate programming, it is possible to do a noweb cleanup. This is basically a patch from Kayvan Sylvan:
- get rid of literate-xxx classes
- rename Scrap to Chunk, since this is the name noweb doc uses (Scrap is from nuweb)
- update lyx file format and add lyx2lyx support for gettting rid of literate-xxx classes
- update documentation
On the top of it, update tex2lyx to
- avoid creating files with literate-xxx class
- fix conflict between parsing << as a quote and parsing it as a Chunk
- create Chunk layouts instead of Scrap ones.
On windows the temporary filename consists of uppercase characters. This
causes that the extension does not get replaced, and the logfile is left
behind.
Checking the extension case insensitively will correctly remove the
logfile.
The Windows shell cannot have a UNC path as the current directory.
However, using pushd to change to the same directory automatically
maps the UNC path to a drive letter and thus it works.
Note that when calling cmd.exe from a UNC path there are still
warnings about the UNC path, but the command is then successfully
executed because the current directory is set to something digestible
by the shell.
- Remove ps->eps converter (see comment for the reason)
- Remove odg-> and odg->pdf converters, since they create A4 sized images
- Get rid of file extension assumption in eps2->eps converter
- Rename eps2 format to better reflect its usage
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40650 a592a061-630c-0410-9148-cb99ea01b6c8
or any other graphic format that:
- is exportable to EPS
- could not be explicitly exported to PNG yet (i.e., source to PNG was not reachable on the converters graph)
Now, adding the EPS to PNG conversion explicitly allows LyX to find the conversion path.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39786 a592a061-630c-0410-9148-cb99ea01b6c8
Now you can:
-) include in LyX OpenOffice drawings (.odg or old .sxd files)
-) preview them on the screen
-) view them in the final .ps/.pdf output
-) edit them externally via libreoffice, ooffice, oodraw or soffice (whatever is detected).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39706 a592a061-630c-0410-9148-cb99ea01b6c8
(e.g., compressed dia, odg, sxd, ...). These need to be marked via the "zipped=native" flag in the RC file.
The old 'dia' configuration is automatically updated (it used to be hardcoded in the code, now it is handled
via the flag).
See also http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg170974.html
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39705 a592a061-630c-0410-9148-cb99ea01b6c8
Issues #6339 and #7579 were fixed by specific code targeting those
RC entries. This commit fixes the detection of java and perl scripts
in a general way. As a result:
- The detections of jfig3-itext.jar and jfig3.jar, which where
previously overlooked, are now also fixed, and
- Future additions of java and perl scripts to configure.py are
straight forward.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39699 a592a061-630c-0410-9148-cb99ea01b6c8
The check on dv2dt and dt2dv is not necessary, since even if these
are not available, we fall back to the legacy convertion method,
which uses ghostscript, and which is available in all cases.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39698 a592a061-630c-0410-9148-cb99ea01b6c8
- Add "htm" as a known extension for HTML.
- Use all the extensions of a format as file filter,
instead of using only the default extension.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39671 a592a061-630c-0410-9148-cb99ea01b6c8
Additionnal extensions are separated by commas (,) in lyxrc
preference files, while spaces are ignored, e.g. "jpg, jpeg".
Preference lyxrc file format incremented to 2.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39670 a592a061-630c-0410-9148-cb99ea01b6c8
- Japanese is now handled by passing the option --latex=platex
to the standard lyxpreview script. This is done in PreviewLoader.
- Remove obsoleted file lyxpreview-platex2bitmap.py and the
corresponding lines in the configure script.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39659 a592a061-630c-0410-9148-cb99ea01b6c8
- Handle the preprocessing in the main lyxpreview script with the
command-line arguments --lilypond and --lilypond-book=exe.
- Remove the obsoleted file lyxpreview-lytex2bitmap.py and the
corresponding lines in configure.py.
Fix for the japanese preview still to come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39658 a592a061-630c-0410-9148-cb99ea01b6c8
Add command-line arguments in a standard unix fashion, using getopt.
Usage: ./lyxpreview2bitmap.py <options> <input file>
Options:
-h, --help: Show this help screen and exit
--dpi=<res>: Resolution per inch (default: 128)
--png, --ppm: Select the output format (default: png)
--fg=<color>: Foreground color (default: black, ie '000000')
--bg=<color>: Background color (default: white, ie 'ffffff')
--latex=<exe>: Specify the executable for latex (default: latex)
The colors are hexadecimal strings, eg 'faf0e6'.
The changes to PreviewLoader.cpp break the preview of lilypond-book
and japanese files, but they will be handled in the next commits.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39657 a592a061-630c-0410-9148-cb99ea01b6c8
Remove the hack with os.environ and instead directly search for
../src/tex2lyx/tex2lyx relative to where configure.py is found.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39643 a592a061-630c-0410-9148-cb99ea01b6c8
We still define the tex2lyx converter but we emit a warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39642 a592a061-630c-0410-9148-cb99ea01b6c8
They were tied to undefined formats ods and xls. The actual
internal names for these formats are oocalc and excel.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39641 a592a061-630c-0410-9148-cb99ea01b6c8
This code seems unnecessary since not_found = "auto" is set in
checkViewer, and thus "auto" is used as the viewer when no viewers
are found, and a lyxrc entry is added anyway. The "auto" string is
special-cased in the code, where we attempt to automatically
determine the viewer from the OS.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39640 a592a061-630c-0410-9148-cb99ea01b6c8
command hangs if something goes wrong. Also allow any kind of line endings.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39553 a592a061-630c-0410-9148-cb99ea01b6c8
python 2.7 and throws unwanted exceptions when the process
return value is not 0
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39533 a592a061-630c-0410-9148-cb99ea01b6c8
This will make reverting the previous commit easier.
This reverts commit 82ab1aef334d8573cc3e861e2620d9b4c59f88fe.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39532 a592a061-630c-0410-9148-cb99ea01b6c8
(patch from yihui, part of #7555)
http://www.lyx.org/trac/ticket/7555#comment:18
This adds the new format "R/S code" with extension .R and a converter from .Rnw.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39509 a592a061-630c-0410-9148-cb99ea01b6c8
commit, a program is checked only once instead of twice, and
it is added as alternative editor and viewer. The ordering
of rc entries in lyxrc.defaults is changed slightly, but
nothing is lost.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39079 a592a061-630c-0410-9148-cb99ea01b6c8
The intend is to specify ['editor', 'viewer'] eventually.
Still no change in the produced output and in lyxrc.defaults
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39078 a592a061-630c-0410-9148-cb99ea01b6c8
a short name length is actually greater than the long name length.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38908 a592a061-630c-0410-9148-cb99ea01b6c8
so we have to account for this. Also, when checking whether TeX allows
spaces in file names, we try different quoting styles in order to account
for the kind of TeX engine used.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38907 a592a061-630c-0410-9148-cb99ea01b6c8
Seriously, this resovles a problem with module detection and configuration,
namely, that we detect BOTH a module in the system directory and a custom
version of it in the user directory.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38387 a592a061-630c-0410-9148-cb99ea01b6c8
(allows one to use nonTeXFonts with literate and fix bug #7383)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38143 a592a061-630c-0410-9148-cb99ea01b6c8
(reallows the install of LyX without MikTeX again under windows)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@38142 a592a061-630c-0410-9148-cb99ea01b6c8
Now we specify the output file for sweave explicitely for robustness reasons.
We also specify prefix.string (in order to have the temp files generated in lyx tmp directory.
The only annoying file now is Rplots.pdf, but I am not sure why it is generated...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37984 a592a061-630c-0410-9148-cb99ea01b6c8
- when a layout file has no valid \Declare line, issue a warning and skip this file
instead of aborting the whole configuration process.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37807 a592a061-630c-0410-9148-cb99ea01b6c8
a LyX archive. A zip archive is created on Windows and a gzip compressed
tar archive on *nix, as those are the de facto platform standards.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37525 a592a061-630c-0410-9148-cb99ea01b6c8
This gives a better error message on the console (although it is still
impossible to figure out what went wrong from the GUI).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37407 a592a061-630c-0410-9148-cb99ea01b6c8
* in converters, make sure that $$p and $$r are slash-terminated paths (like in viwers, BTW)
* pass the full intput path to lyxsweave.R
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37337 a592a061-630c-0410-9148-cb99ea01b6c8
UnboundLocalError: local variable 'elyxerfound' referenced before assignment
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37286 a592a061-630c-0410-9148-cb99ea01b6c8
files to eps/pdf. With this fix, you get the usual "No information for
converting ..." message.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36831 a592a061-630c-0410-9148-cb99ea01b6c8
* Conerter.{cpp,h}:
- use a backend=flavor flag format for latex instead of hardcoding format names
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36623 a592a061-630c-0410-9148-cb99ea01b6c8
The required the introduction of the new converter token $$e, that holds
the iconv name of the latex file encoding.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35772 a592a061-630c-0410-9148-cb99ea01b6c8
Sweave.sty path is hardcoded if LaTeX cannot find it.
More to come.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35750 a592a061-630c-0410-9148-cb99ea01b6c8
However it knows correct vector eps, so lets use internal route.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35569 a592a061-630c-0410-9148-cb99ea01b6c8
- use eLyXer not only for HTML but also for HTML (MS Word) if it is found; this is simply the same code as we are already using for HTML converter check
- fix a bug that the copier calling would be wrong if neither eLyXer nor tex4ht is found (this is already fixed in the HTML converter check
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35122 a592a061-630c-0410-9148-cb99ea01b6c8
There doesn't seem to be any way to report an error other than by
exiting.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35119 a592a061-630c-0410-9148-cb99ea01b6c8
this actually seems to work with no changes in the
C++ code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34528 a592a061-630c-0410-9148-cb99ea01b6c8
You wouldn't believe it, the convertor was already on my box ;)
Credit goes to Carl Worth.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32201 a592a061-630c-0410-9148-cb99ea01b6c8
- Richard removed a valid comment
- Richard's change introduced a regression, see my mail on the list
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31955 a592a061-630c-0410-9148-cb99ea01b6c8
To use now eLyXer, you only need to copy it to LyX's scripts folder.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31265 a592a061-630c-0410-9148-cb99ea01b6c8
Do free free to change the categories. I just did these ones for testing, really.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31033 a592a061-630c-0410-9148-cb99ea01b6c8
- change eLyXer command and copier to copy images
to the appropriate places on view and export
(requires eLyXer 0.27).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30132 a592a061-630c-0410-9148-cb99ea01b6c8
These modules allow to use Sweave or Noweb with any LyX textclass.
They will eventually allow to get rid of literate-* classes.
The sweave modules will benefit in trunk from a forthcoming patch which allows
to select the output format for a literate OutputType. This will allow to
support Sweave out-of-the-box.
For branch, this pair of modules is IMO a candidate for LyX 1.6.4 (no need to
hurry).
Thanks to Gregor Gorjanc for his work on this subject. There is
undoubtlessly some additional work that has to be done here.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29657 a592a061-630c-0410-9148-cb99ea01b6c8
- add new method that records all available alternative programs
as opposed to only the first found one.
* LyXRC[cpp,h}:
* LyXFunc.cpp:
- new RCs \bibtex_alternatives and \index_alternatives, holding
alternative processors.
* GuiPrefs.{cpp, h}:
* PrefLatexUi.ui:
- UI to select from a list of preconfigures bibliography/index processors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29568 a592a061-630c-0410-9148-cb99ea01b6c8
from the standard LaTeX programs.
These programs are only used now if the document actually uses Japanese, not always if they are found.
(bug 5601 a.o.).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29238 a592a061-630c-0410-9148-cb99ea01b6c8
- TeXLive does not include the oolatex script, but relies on mk4ht.
Also reinclude the verbose command as a fallback.
Obviously, such changes need testing on as many systems and distributions as possible.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26969 a592a061-630c-0410-9148-cb99ea01b6c8
- check if texindy is available and if so, use it instead of makeindex
(bug 4732).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25334 a592a061-630c-0410-9148-cb99ea01b6c8
- Use verbose htlatex command instead of oolatex, if available,
since the latter caused problems on some systems (bug 4604).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@23496 a592a061-630c-0410-9148-cb99ea01b6c8
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.
By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.
So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i) GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.
The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework.
I've also updated the module documenation to accord with this change.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
- rename former "pagebreak" to "newpage" since it produces a \newpage
- new LFUN
- menu entry
- tex2lyx support
- fileformat change
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21732 a592a061-630c-0410-9148-cb99ea01b6c8
extensions for executables (only Windows is affected by this).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21201 a592a061-630c-0410-9148-cb99ea01b6c8
Design goal: Allow the use of layout "modules", which are to LaTeX packages as layout files are to LaTeX document classes. Thus, one could have a module that defined certain character styles, environments, commands, or what have you, and include it in various documents, each of which uses a different document class, without having to modify the layout files themselves. For example, a theorems.module could be used with article.layout to provide support for theorem-type environments, without having to modify article.layout itself, and the same module could be used with book.layout, etc.
This patch adds the backend. The ModuleList class holds a list of the available modules, which are retrieved from lyxmodules.lst, itself generated by configure.py. There are two LFUNs available: modules-clear and module-add, which do the obvious thing; you can test by typing these into the minibuffer, along with the name of one of the available modules: URL (a CharStyle), Endnote (a Custom Inset), and---with the spaces---End To Foot (View>LaTeX and look at the user preamble), which are themselves in lib/layouts. There are some others, too, that allow theorems to be added to classes like article and book.
The GUI will come next.
Issues: (i) The configure.py script could be improved. It'd be nice, for example, if it tested for the presence of the LaTeX packages a particular module needs. But this would mean re-working the LaTeX script, and I don't know how to do that. Note that at present, the packages are ignored. This will change shortly. (ii) I've used std::string in LyXModule, following what seemed to be a precedent in TextClass. If some of these should be docstrings, please let me know, and I'll change them. (iii) There is at present no distinction between LaTeX and DocBook modules. Should there be? That is: Should there be modules that are available when the document class is a LaTeX class and others that are available only when it is DocBook? Or should there just be one set of modules? Each module can of course indicate for what it is suitable in its description.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19893 a592a061-630c-0410-9148-cb99ea01b6c8