- 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
use $$o flag where appropriate (still some cases pending).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13939 a592a061-630c-0410-9148-cb99ea01b6c8
"Don't view/edit this format", and 'auto' means "Use the default viewer/editor".
* src/format.C
(fixCommand): Change semantics: "none" is equal to "", and "auto"
is removed if canAutoOpenFile returns false.
* src/frontends/xforms/FormPreferences.C
(FormPreferences::SpellOptions::apply): "none" -> ""
* src/lyxrc.C
(LyXRC::read): "none" -> ""
* lib/doc/Customization.lyx: Document the autoopen feature
* lib/configure.py
(checkProg): add optional not_found argument, defaulting to 'none'
(checkViewer): new, equivalent to checkProg with not_found = 'auto'
(checkFormatEntries): call checkViewer instead of checkProg for
viewers and editors
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13929 a592a061-630c-0410-9148-cb99ea01b6c8
* lib/configure.py
(checkLatex): Add DraftDVI converter on windows if dv2dt and dt2dv
are available
(checkFormatEntries): Add DraftDVI entry on windows if dv2dt and
dt2dv are available
* lib/Makefile.am: add clean_dvi.py
* development/Win32/packaging/build_lyxwin.sh: remove clean_dvi.py
stuff
* development/Win32/packaging/package_lyxwin.sh: remove configure
mangling for clean_dvi.py
* development/Win32/packaging/clean_dvi.py: move to lib/scripts
* development/Win32/packaging/README: remove clean_dvi.py stuff
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13924 a592a061-630c-0410-9148-cb99ea01b6c8
(document_): new flag, telling whether this is a document format and
we want to show this format in the export and view menus
(documentFormat): accessor for document_
* src/format.h: Add some documentation
* src/frontends/qt3/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt3/ui/QPrefFileformatsModule.ui: Add documentCB checkbox
* src/frontends/qt4/QPrefsDialog.C
(QPrefsDialog::QPrefsDialog): handle new documentCB checkbox
(QPrefsDialog::switch_format): ditto
(QPrefsDialog::updateFormatsButtons): ditto
(QPrefsDialog::new_format): ditto
(QPrefsDialog::modify_format): ditto
* src/frontends/qt4/ui/QPrefFileformatsUi.ui: Add documentCB checkbox
* src/frontends/xforms/FormPreferences.C
(FormPreferences::Formats::build): handle new check_document checkbox
(FormPreferences::Formats::input): ditto
(FormPreferences::Formats::Add): ditto
(FormPreferences::Formats::Browser): ditto
* src/frontends/xforms/forms/form_preferences.fd: Add check_document
checkbox
* src/lyxrc.C
(LyXRC::read): Remove compatibility code for 1.3 \format entries.
Read the new format flags (but don't require them for 1.4
compatibility)
(LyXRC::write): Write the new format flags
* src/MenuBackend.C
(expandFormats): Remove the hardcoded exception for image formats
and use Format::isDocument() instead
* lib/doc/Customization.lyx: Document auto viever/editor and the
"document format" flag
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13887 a592a061-630c-0410-9148-cb99ea01b6c8
* configure.py: fix setting of \cygwin_path_fix_needed; remove
extra \r at end of line for cygwin.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13861 a592a061-630c-0410-9148-cb99ea01b6c8
* src/lyx_main.C (init): call Formats::setAutoOpen.
* src/lyxrc.C (read): do not reset editor/viewer values of "none".
* src/format.C (fixCommand): helper function: tweak command depending
of the availability of OS viewer/editor.
(setAutoOpen): run fixCommand over all the formats.
* src/support/Makefile.am: under win32, link against shlwapi.dll.
* src/support/os_*.C (canAutoOpenFile, autoOpenFile): new
functions, used to let the OS handle viewers and editors it knows about.
* configure.ac: improve check for shlwapi.
* lib/configure.py: remove check for native windows viewers.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13855 a592a061-630c-0410-9148-cb99ea01b6c8
instead of lyxrc.defaults. Simplify the check for
chkconfig.ltx.
* configure.ac: do not run lib/configure.py
* lib/doc/Makefile.am: LaTeXConfig.lyx is not generated anymore.
* lib/configure.py (removeExtraFiles): remove.
* lib/Makefile.am: no files are generated in there.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13763 a592a061-630c-0410-9148-cb99ea01b6c8
Enable lib/configure.py to find tex2lyx if the path to it contains spaces.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13708 a592a061-630c-0410-9148-cb99ea01b6c8
* src/LaTeXFeatures.[Ch]: replace nice_ by runparams_
* src/insets/insetexternal.C
(InsetExternal::validate): Use the correct template for the desired
output format
* src/insets/insetgraphics.C
(InsetGraphics::prepareFile): Record the needed files for "latex"
or "pdflatex" format, dependant on the desired output format
* src/insets/insetinclude.C
(InsetInclude::latex): ditto
* src/BufferView_pimpl.C
(BufferView::Pimpl::getStatus): adapt to LaTeXFeatures changes
* src/paragraph_pimpl.C
(Paragraph::Pimpl::simpleTeXSpecialC): ditto
* src/buffer.C
(Buffer::makeLaTeXFile): ditto
(Buffer::makeLinuxDocFile): ditto
(Buffer::makeDocBookFile): ditto
* src/paragraph.C
(Paragraph::simpleTeXOnePar): ditto
* src/exporter.C
(Backends): Add "pdflatex" backend format
(Exporter::Export): set runparams.flavor correctly for "pdflatex" format
* lib/external_templates
(RasterImage): Use "pdflatex" format in PDFLaTeX template
(XFig): ditto
(ChessDiagram): Add PDFLaTeX template
(Date): ditto
* lib/configure.py: Add "pdflatex" format
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13520 a592a061-630c-0410-9148-cb99ea01b6c8