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
obeying the umask value as on cygwin access is controlled through ACLs
and the python port knows nothing about them.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19308 a592a061-630c-0410-9148-cb99ea01b6c8
The key is the new copier script lib/scripts/ext_copy.py. Usage:
ext_copy.py [-e ext1,ext2,...] <from file> <to file>
Given a <from file> and <to file>, it will copy all files in the directory
in which from_file is found that have the extensions given in the -e option,
or all files in that directory if no such argument is given. So, for example,
we can do:
python ext_copy.py -e png,html,css /path/from/file.html /path/to/file.html
and all html, png, and css files in /path/from/ will be copied to the
(possibly new) directory /path/to/file.html.LyXconv/. The -t option determines
the extension added to the output filename passed to the script ($$o, in the
copier definition), the default being "LyXconv". If just . is given, then no
extension is added.
Other changes:
* configure.py: added appropriate copier definitions for html and wordhtml
formats, as well as for the Program pseudo-format.
* lib/Makefile.am and development/scons/scons_manifest.py: add ext_copy.py.
* lib/doc/Customization.lyx: update documentation.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@18791 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/scripts/convertDefault.py: Use the cropbox option when the
source format is pdf and convert supports it.
* lib/configure.py: Don't define a PDF->PNG converter in order to
avoid the EPS->PDF->PNG route when converting EPS to a loadable
format.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17668 a592a061-630c-0410-9148-cb99ea01b6c8
(Exporter::Export): Remove hardcoded check for lyx backend.
Use the shortest converter path instead, that is more flexible and
always correct.
* lib/configure.py: Add new formats and converters for importing and
exporting files from CJK LyX.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17202 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/ExternalSupport.C
(updateExternal): Avoid computing crc of a directory as this leads
to a crash on Cygwin.
* lib/configure.py:
Use a python script to get the current date in order to avoid
a stalling condition with the date command on Win32.
* lib/scripts/date.py:
New python script.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17168 a592a061-630c-0410-9148-cb99ea01b6c8
thing and it worked on Win32 only by chance.
* lib/configure.py:
Correctly collect stderr also on Win32.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17095 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/configure.py:
Check whether convert understands the -define option, and, if so,
define a new converter PDF->PNG such that the CropBox rather than
the MediaBox is used in the conversion.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17078 a592a061-630c-0410-9148-cb99ea01b6c8
(expandFormats): Document hack
* lib/configure.py
(checkFormatEntries): s/Plain text (paragraphs)/Plain Text, Join Lines/
since this is the term we use elsewhere and it shows up in the file
filter.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17039 a592a061-630c-0410-9148-cb99ea01b6c8
* src/insets/insetgraphics.C
(findTargetFormat): return pdf for vector graphics
* src/format.h
(Flags): new enum describing format flags
(flags_): new member variable for format flags
(vectorFormat): new, tell whether a format can contain vector graphics
* src/format.C: adjust to flags changes
* src/frontends/qt[34]/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new vector flag
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt3/ui/QPrefFileformatsModule.ui
* src/frontends/qt4/ui/QPrefFileformatsUi.ui
(vectorCB): new checkbox for vector flag
* src/lyxrc.C
(LyXRC::read): read vector flag
(LyXRC::write): write vector flag
* lib/doc/Customization.lyx: document format flags
* lib/configure.py
(checkFormatEntries): Add vector flag to some formats
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15205 a592a061-630c-0410-9148-cb99ea01b6c8
* src/tex2lyx/text.C
(void parse_noweb): new, parse a noweb code chunck
(void parse_text): handle noweb <<xxx>>= and [[xxx]] constructs
* src/tex2lyx/tex2lyx.[Ch]: new global variable noweb_mode and
command line option to set it
* src/tex2lyx/preamble.C
(parse_preamble): prepend "literate-" to the textclass name in
noweb mode
* lib/configure.py
(checkConverterEntries): fix literate -> lyx converter
(checkConverterEntries): fix typo in latex -> sxw converter
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14635 a592a061-630c-0410-9148-cb99ea01b6c8
* src/graph.C
(Graph::getReachable): Only add a child format to only viewable
formats if the child or parent has a viewer. Previously a child
format was also added when there was no viewer at all.
* lib/configure.py
(checkFormatEntries): add text2, text3 and text4 formats
(checkConverterEntries): add ps2ascii , pstotext and catdvi converters
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14528 a592a061-630c-0410-9148-cb99ea01b6c8
* src/support/os.[Ch]
(python): new function, return the python command
* lib/lyx2lyx/lyx_1_5.py
(revert_font_settings): replace tabs with spaces
The rest is simply s/python/python -tt/ and
s/"python"/lyx::support::os::python()/ where appropriate.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@14270 a592a061-630c-0410-9148-cb99ea01b6c8