Re: cmake needs update?
Bo Peng wrote: It can not provide a platform independent way of distributing lyx, There is no 'platform independent way of distribution'. Windows won't like .rpm, Ubuntu won't like .msi. I meant a uniform interface. I will be able to do 'scons rpm' under *nix, and 'scons msi' under windows. I do not know what cmake will do. It is likely to be 'cmake; cpack; rpmbuild'. More info about CPack here: http://www.cmake.org/Wiki/CMake:CPackPackageGenerators Losts of formats supported apparently, we just need Peter (or someone else) to use that. Abdel. TGZ Tar GZip compressed packages. [edit] STGZ Self extracting Tar GZip compressed packages (needs /bin/sh, tar, gunzip and tail for extracting). [edit] NSIS Nullsoft Installer. Requires NSIS for creating the package. [edit] ZIP ZIP compressed packages. Requires zip, WinZip or 7Zip for creating the package. [edit] TBZ2 Tar BZip2 compressed packages. Requires bzip2 for creating the package. [edit] TZ Tar UNIX compress compressed packages. [edit] PackageMaker (OSX only) Mac OSX Package Maker packages. Requires Package Maker for creating the package. [edit] OSXX11 (OSX only) Mac OSX X11 Bundle. Requires hdiutil for creating the package. [edit] CygwinBinary (Cygwin only) Tar Bzip2 compressed Cygwin package. Requires bzip2 for creating the package. [edit] CygwinSource (Cygwin only) Tar Bzip2 compressed Cygwin source package. Requires bzip2 for creating the package. [edit] DEB (UNIX only) Debian packages. Requires only ar for creating the package. In CMake cvs since July 2007, will be in 2.6.0. With CPack 2.4.x you can use the approach described in CMakeUserUseDebian . [edit] RPM RPM packages are currently not supported, but you should look at the RPM module.
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: On Wed, Aug 22, 2007 at 09:25:12AM +0200, Abdelrazak Younes wrote: Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Is this on windows? Yes. Does this happen on any document? When trying to load any _second_ document. Only happens with Qt 4.1, though. Could you please try to disable the pixmap cache in QLPainter.cpp? Doesn't change anything. Here is the backtrace (part of it, as it's exceptionally long): The backtrace is long because there is a recursive loop. #31 0x00985248 in lyx::frontend::GuiView::update_view_state_qt () Ah... this update_view_state_qt() again... This message display handling is mess! #32 0x0087ef89 in lyx::frontend::WorkArea::resizeBufferView () OK, should be easy to solve. Abdel.
Re: Build trouble
On Thu, Aug 23, 2007 at 11:18:47PM +0200, Enrico Forestieri wrote: On Thu, Aug 23, 2007 at 11:53:35PM +0300, Martin Vermeer wrote: On Thu, Aug 23, 2007 at 10:35:18PM +0200, Enrico Forestieri wrote: On Thu, Aug 23, 2007 at 11:00:57PM +0300, Martin Vermeer wrote: ... Could swear that I had done that... second time around it bit ;-/ Update: At least in src/support. In src/frontends/controllers I still get makefile errors on MONOLITHIC_CONTROLLERS, and in qt4 on MONOLITHIC_FRONTEND_QT4. Even when trying a couple of times. Ah well. Try also reconfiguring explicitly. Did that already :-( Does the attached patch help? Not really... the above problem went away by itself (probably the moon rose). But now I am stuck with the following automake problem: -- Building Makefile templates... . src/support/Makefile.am:104: INSTALL_WINDOWS does not appear in AM_CONDITIONAL done. -- ... and Makefile.in is not created in src/support. Commenting out this Windows-specific stanza in src/support/Makefile.am makes the build succeed. If I don't, it always comes back (even when trying make clean) to the above error message. - Martin
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: Another problem: lyx allows opening multiple times the same file. Fixed. We could also offer the user a choice to revert to existing display or to create a new display for the same document. Opinions? Abdel.
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Fixed. Abdel.
Re: [Patch] Inset configurability: separate charstyle and custom insets
I suppose attaching the patch would help. - Martin On Fri, Aug 24, 2007 at 12:31:16AM +0300, Martin Vermeer wrote: Finally I got where Richard was many weeks ago... the custom inset 'endnote' works! Or would, if I would have endnote.sty on my system. Finally I got where Richard was many weeks ago... the custom inset 'endnote' works! Or would, if I would have endnote.sty on my system. What is now not elegant, is that the term 'charstyle' is being used for two different things: 1) general user-definable insets, and 2) specific oldfashioned charstyle-type insets (the alternative now being 'custom', but there could be more: 'short element', e.g.) I think I'll have to rename 'charstyle-1' to something more appropriate (suggestions?). That will be a big but near-trivial patch. - Martin Index: src/MenuBackend.cpp === --- src/MenuBackend.cpp (revision 19756) +++ src/MenuBackend.cpp (working copy) @@ -218,6 +218,7 @@ md_documents, md_bookmarks, md_charstyles, + md_custom, md_endmenu, md_exportformats, md_importformats, @@ -240,6 +241,7 @@ { bookmarks, md_bookmarks }, { branches, md_branches }, { charstyles, md_charstyles }, + { custom, md_custom }, { documents, md_documents }, { end, md_endmenu }, { exportformats, md_exportformats }, @@ -294,6 +296,10 @@ add(MenuItem(MenuItem::CharStyles)); break; + case md_custom: + add(MenuItem(MenuItem::Custom)); + break; + case md_documents: add(MenuItem(MenuItem::Documents)); break; @@ -613,7 +619,7 @@ } -void expandCharStyleInsert(Menu tomenu, Buffer const * buf) +void expandCharStyleInsert(Menu tomenu, Buffer const * buf, std::string s) { if (!buf) { tomenu.add(MenuItem(MenuItem::Command, @@ -627,8 +633,9 @@ CharStyles::iterator end = charstyles.end(); for (; cit != end; ++cit) { docstring const label = from_utf8(cit-name); - tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label, -FuncRequest(LFUN_CHARSTYLE_INSERT, + if (cit-lyxtype == s) + tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, +label, FuncRequest(LFUN_CHARSTYLE_INSERT, label))); } } @@ -877,9 +884,13 @@ break; case MenuItem::CharStyles: - expandCharStyleInsert(tomenu, buf); + expandCharStyleInsert(tomenu, buf, charstyle); break; + case MenuItem::Custom: + expandCharStyleInsert(tomenu, buf, custom); + break; + case MenuItem::FloatListInsert: expandFloatListInsert(tomenu, buf); break; Index: src/MenuBackend.h === --- src/MenuBackend.h (revision 19756) +++ src/MenuBackend.h (working copy) @@ -63,6 +63,9 @@ /** This is the list of elements available * for insertion into document. */ CharStyles, + /** This is the list of user-configurable + insets to insert into document */ + Custom, /** This is the list of floats that we can insert a list for. */ FloatListInsert, Index: src/TextClass.cpp === --- src/TextClass.cpp (revision 19756) +++ src/TextClass.cpp (working copy) @@ -698,7 +698,7 @@ insetlayoutlist_[name] = il; // test name for CS: - if (il.lyxtype == charstyle) { + if (il.lyxtype == charstyle || il.lyxtype == custom) { charstyles().push_back(il); } } Index: lib/ui/stdmenus.inc === --- lib/ui/stdmenus.inc (revision 19567) +++ lib/ui/stdmenus.inc (working copy) @@ -295,6 +295,7 @@ Submenu Float|a insert_float Submenu Note|N insert_note Submenu Branch|B insert_branches + Submenu Custom insets insert_custom Submenu File|e insert_file Item Box box-insert Frameless Separator @@ -404,6 +405,10 @@ Branches End + Menu insert_custom + Custom + End + # # DOCUMENT MENU # Index: lib/layouts/stdcustom.inc === --- lib/layouts/stdcustom.inc (revision 0) +++ lib/layouts/stdcustom.inc (revision 0) @@ -0,0 +1,19 @@ +# Textclass definition file for LaTeX. +# Author : Martin vermeer [EMAIL PROTECTED] +# Custom Inset layouts definition + +Format 5 + +InsetLayout Custom:Endnote + LyXType custom + LatexName endnote + LatexType command + Font + Size Small + EndFont + LabelString foot + Preamble + \usepackage{endnote} + EndPreamble +End +
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Andre Poenitz wrote: On Thu, Aug 23, 2007 at 01:11:52PM +0200, Georg Baum wrote: You still don't get it. All your arguments including this one and that in your other mail are based on the assumption that there were only two alternatives: full support or removal from trunk. Under this premise I agree completely with the removal, but that is not what has been requested. There was a third alternative that would have solved almost all problems: Keep it in trunk (with no obligation of anyone to touch it), and let those who care do the work to keep it up to date. With that alternative all your arguments are moot. No. Because even without obligation most people still would have tried to to put stuff in both frontends - even if they had no real interest in the qt3 frontend - just because they try to be nice. Of course, because the person who did almost all of the interface changes (Abdel, I don't count the changes that were done by a script) complained every few days that he had to care for other frontends when he was still supposed to care, and he was really tired of caring. The most obvious reaction to declaring qt3 unsupported would of course have been Oh nice, now that I don't have to care about this crap anymore that really annoyed me I will enjoy to do it voluntarily. Come on, this theory of eating resources is not impossible, but quite implausible. And those resources would not have been available anymore for other work. Do I really have to tell you that not wasted resources are not automatically available for something else? 1.5 was the first release in a decade that had lots of new GUI stuff. Releases form 0.10 on or so before 1.5 had much smaller GUI changes, and that's not just changes for the sake of changes but as real improvement. I am pretty sure some of this would not have happened if multiple frontends had stayed around. Me too. Unfortunately you totally ignore the fact that none of the new stuff that happened after Denmark until 1.5.0 was supposed to happen, and the stuff that happened before happened _despite_ multiple frontends. That alternative would of course not have guaranteed that 1.5.0 would be released with qt3. Maybe it would indeed have been too much work to keep it up to date, and it would have been abandoned, but this would then have been the decision of _those who where doing the work_. You miss the point that we do not have unlimited resources. If qt3 lived on for a while and had been killed later even more resources would have gone to the kitchen sink. And of course you are the one to decide who wastes his resources and for what, and other developers are not entitled to decide themselves whether they want to be nice and do silly stuff or not. If you are really serious with that: - Why did you not remove gtk at the same time as qt3? - Why did you not work towards one build system far earlier, and why did you create a fourth one? - Why don't you stop the windows installer nonsense? The two versions are wasting far more resouces than qt3 could have ever wasted, because there is no date in sight for the merging, and because far more people are involved. What happened instead is that _you_ dictated that those should stop or jump through some extra hoops. And you haven't been in Greve to prevent it... Can you please stop repeating this again and again? You know why I have not been there (for those who don't know: I'd really liked to be there, but I had a very good reason not to go that has nothing to do with LyX or LyX developers). I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). Only as a true team you can create a great product. This involves from time to time doing stuff that you don't like, but that must be done. If everybody is working on his pet projects only then the whole product will fall apart sooner or later. My impression (which may be wrong, because I did only skim the list from time to time) is that exactly that happens and a common goal does not exist. Georg
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
On Friday 24 August 2007 08:22:38 Abdelrazak Younes wrote: Fixed. We could also offer the user a choice to revert to existing display or to create a new display for the same document. Opinions? When in doubt do what emacs does: create a new display for the same document. Abdel. -- José Abílio
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Georg Baum wrote: Of course, because the person who did almost all of the interface changes (Abdel, I don't count the changes that were done by a script) complained every few days that he had to care for other frontends when he was still supposed to care, and he was really tired of caring. I plead guilty :-) The most obvious reaction to declaring qt3 unsupported would of course have been Oh nice, now that I don't have to care about this crap anymore that really annoyed me I will enjoy to do it voluntarily. It sure would have stopped me crying if the beast was just declared unsupported. Others maybe not... Do I really have to tell you that not wasted resources are not automatically available for something else? I am glad that you say that ;-) I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. Why that? The two subjects are unrelated AFAIS. And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). My opinion is that we already have a bunch of new features. So, we should do a bit more cleaning, implement context menu and cleanup some dialogs (spellchecker first of all); then soft freeze the trunk in a month or two. XML can wait for the next round IMHO because we obviously don't have enough people caring for now. Abdel.
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager sm) +{ + /// The implementation is required to avoid an application exit + /// when session state save is triggered by session manager. + /// The default implementation sends a close event to all + /// visible top level widgets when session managment allows + /// interaction. + /// We are changeing that to write all unsaved buffers... + if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the if (sm.allowsInteraction()) { style? Stephan
Re: ftp.lyx.org not accessible.
Bo Peng Thu, 23 Aug 2007 22:56:42 -0700 anyone else see this? Bo Yes, attempting to download ftp://ftp.lyx.org/pub/lyx/bin/1.5.1/ LyX-1.5.1-1-Installer.exe from the wiki fails. Anders
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
Stephan Witt wrote: Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager sm) +{ +/// The implementation is required to avoid an application exit +/// when session state save is triggered by session manager. +/// The default implementation sends a close event to all +/// visible top level widgets when session managment allows +/// interaction. +/// We are changeing that to write all unsaved buffers... +if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the if (sm.allowsInteraction()) { style? Yes, that's what he meant. I'll go even further ;-) if (sm.allowsInteraction() !theBufferList().quitWriteAll()) sm.cancel(); I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. Abdel.
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Abdelrazak Younes wrote: Georg Baum wrote: I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. Why that? The two subjects are unrelated AFAIS. No. This thread would not exist if I had not tried to put a mathed fix in trunk. Me complaining about a compile error with qt 4.2.1 then lead to a quick fix by Richard, a discussion about the minimum required qt version and people trying to rewrite history. And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). My opinion is that we already have a bunch of new features. So, we should do a bit more cleaning, implement context menu and cleanup some dialogs (spellchecker first of all); then soft freeze the trunk in a month or two. XML can wait for the next round IMHO because we obviously don't have enough people caring for now. You see? I doubt that this opinion is consensus. Georg
Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
Georg Baum wrote: Abdelrazak Younes wrote: Georg Baum wrote: I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. Why that? The two subjects are unrelated AFAIS. No. This thread would not exist if I had not tried to put a mathed fix in trunk. Me complaining about a compile error with qt 4.2.1 then lead to a quick fix by Richard, a discussion about the minimum required qt version and people trying to rewrite history. I see... difficult to follow :-) And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). My opinion is that we already have a bunch of new features. So, we should do a bit more cleaning, implement context menu and cleanup some dialogs (spellchecker first of all); then soft freeze the trunk in a month or two. XML can wait for the next round IMHO because we obviously don't have enough people caring for now. You see? I doubt that this opinion is consensus. Well, we need to express opinions to reach consensus, don't we? I know that my opinions are in general not shared with old devs but this is my opinion :-) I want more frequent releases, this is the only way IMHO to avoid big destabilization of the tree. If the XML branch is ready for writing _and_ reading, then we should switch now and not wait for another six months. If it is not ready, then I think the time frame for inclusion is already passed. Abdel.
An issue about wrong PDF page size, and the hack I used to solve it
After updating to 1.5.0/1 from 1.4.4, I had this same issue: http://www.mail-archive.com/[EMAIL PROTECTED]/msg55698.html which persisted even after upgrading ImageMagick to the latest version. In the end, I solved this problem by editing the file: /Applications/LyX-151.app/Contents/Resources/scripts/convertDefault.py and changing this line: defopt = -define pdf:use-cropbox=true to defopt = Hope this helps someone; my pdf images were created using pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4) on Mac OS X. I have put one such image at this address: http://www.dis.uniroma1.it/~acensi/pri/lyx.pdf By the way, it seems that convertDefault.py does not use the PATH that I set in the preferences dialog. Or it is set via an environment variable? -- Andrea Censi Life is too important to be taken seriously (Oscar Wilde) Web: http://www.dis.uniroma1.it/~censi
Re: Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
Abdelrazak Younes wrote: Well, we need to express opinions to reach consensus, don't we? Of course. I simply think that this consensus is still quite a bit away. Georg
Vertical space in a table cell gives latex errors
I have a table with a tall row, because one cell is fixed-width with multiple lines. In another cell I wanted to place a single symbol, preferably centered vertically. I tried changing the column's vertical adjustment, but this had no effect whatsoever. So I tried forcing my way with insert-vertical space before and after the symbol. Latex puked on this. Perhaps \vfill in a cell isn't supported by latex - then LyX ought to disable the insertion as well. Helge Hafting
Re: cmake needs update?
On Fri, Aug 24, 2007 at 07:53:48AM +0200, Abdelrazak Younes wrote: Andre Poenitz wrote: On Thu, Aug 23, 2007 at 10:19:28PM +0200, Joost Verburg wrote: [EMAIL PROTECTED] wrote: While cmake can create MSVC projects, the current implementation does not handle all the dependencies like scons does. For example, the thesaurus is not supported. To create Windows releases, scons in the only option right now. Umm... sorry if I've asked this before, but I thought the installer could use a Windows executable of LyX that's been created with any build system on Windows? Sure. If cmake is able to generate an executable linked to all dependencies, I can use it instead. Currently only scons can do that. How does an executable look like that's not linked to its dependencies? [No joke, I really want to grasp the difference between cmake and scons] There's no difference, it's just that Thesaurus is not look for by _our_ CMake system, that's all. In effect, this means that the thesaurus is disabled for CMake builds. Ah.. got it now. Andre'
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
Abdelrazak Younes schrieb: Stephan Witt wrote: Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager sm) +{ +/// The implementation is required to avoid an application exit +/// when session state save is triggered by session manager. +/// The default implementation sends a close event to all +/// visible top level widgets when session managment allows +/// interaction. +/// We are changeing that to write all unsaved buffers... +if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the if (sm.allowsInteraction()) { style? Yes, that's what he meant. I'll go even further ;-) if (sm.allowsInteraction() !theBufferList().quitWriteAll()) sm.cancel(); I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. I tested this patch with Qt 4.1.2 and it is working without drawbacks. AFAIK older Qt versions are not supported anymore were I had problems with the popping up of the dialog asking the user to confirm the file save operation. So two years ago the patch did not work (with Qt 3.x). I cannot tell anything about the behaviour on Windows. Do you need a new patch from me or will you change it yourself? I'm online next week again. Thanks, Stephan
Lyx problems in importing txt2tags .tex files
Hello, I already submitted this question to the user's mailing list, but the lack of feed back made me realize that this is probably more appropriate for the developer's mailing list. So here it goes: I'm using txt2tags 2.3 for windows, and LyX 1.5 on a WinXP txt2tags (http://txt2tags.sourceforge.net/) is a python script that can output .tex files. I would like to produce files with the txt2tags markup and further refine them on LyX. However I have a problem importing the .tex files produced by txt2tags into LyX. The title and author field are missing in the .lyx file, replaced by a clear page mention. The final .dvi lacks those fields entirely. Here follows a txt2tags xp1.tex file: ## \documentclass[11pt,a4paper]{article} \usepackage{amsfonts,graphicx} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} \pagestyle{plain} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \begin{document} \maketitle \clearpage This is standard text \section*{this is a section*} This is more text % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) % cmdline: txt2tags -t tex G:/MPI/xp1.t2t \end{document} ## And here is the corresponding xp1.lyx file: ## #LyX file created by tex2lyx 0.1.2 \lyxformat 245 \begin_document \begin_header \textclass article \begin_preamble \usepackage{amsfonts} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \end_preamble \options a4paper \language english \inputencoding latin1 \fontscheme default \graphics default \paperfontsize 11 \spacing single \papersize default \use_geometry false \use_amsmath 0 \cite_engine basic \use_bibtopic false \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle plain \tracking_changes false \output_changes false \end_header \begin_body \begin_layout Standard \clearpage \end_layout \begin_layout Standard This is standard text \end_layout \begin_layout Section* this is a section* \end_layout \begin_layout Standard This is more text \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Standard % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) \end_layout \begin_layout Standard \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Standard % cmdline: txt2tags -t tex G:/MPI/xp1.t2t \end_layout \begin_layout Standard \end_layout \end_inset \end_layout \end_body \end_document ## Now, if I insert a date in the txt2tags file, the resulting LyX file still does not display title and author, but shows the date followed by the clear page mention. But the .dvi document shows indeed the title, author and date, in a preceding page. Here are the files: xp2.tex ## \documentclass[11pt,a4paper]{article} \usepackage{amsfonts,graphicx} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} \pagestyle{plain} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \begin{document} \date{23.08.2007} \maketitle \clearpage This is standard text \section*{this is a section*} This is more text % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) % cmdline: txt2tags -t tex G:/MPI/xp2.t2t \end{document} ## and resulting xp2.lyx ## #LyX 1.5.1 created this file. For more info see http://www.lyx.org/ \lyxformat 276 \begin_document \begin_header \textclass article \begin_preamble \usepackage{amsfonts} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \end_preamble \options a4paper \language english \inputencoding latin1 \font_roman default \font_sans default \font_typewriter default \font_default_family default \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \paperfontsize 11 \spacing single \papersize default \use_geometry false \use_amsmath 0 \use_esint 0 \cite_engine basic \use_bibtopic false
Re: Build trouble
On Fri, Aug 24, 2007 at 10:17:29AM +0300, Martin Vermeer wrote: Commenting out this Windows-specific stanza in src/support/Makefile.am makes the build succeed. If I don't, it always comes back (even when trying make clean) to the above error message. It won't come back after Monday (or maybe Sunday evening). I'll remove that Windows specific build part with my next commit. Andre'
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
Stephan Witt wrote: Abdelrazak Younes schrieb: I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. I tested this patch with Qt 4.1.2 and it is working without drawbacks. AFAIK older Qt versions are not supported anymore were I had problems with the popping up of the dialog asking the user to confirm the file save operation. So two years ago the patch did not work (with Qt 3.x). OK, thanks for the clarification. I cannot tell anything about the behaviour on Windows. I'll try without the #ifdef to test it out. Do you need a new patch from me or will you change it yourself? No, that's fine, I'll do it. Any objection to this patch? Jose, do you want it for 1.5? Abdel.
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
On Fri, Aug 24, 2007 at 10:01:16AM +0200, Georg Baum wrote: And those resources would not have been available anymore for other work. Do I really have to tell you that not wasted resources are not automatically available for something else? No. I know that's not always the case. [...] And of course you are the one to decide who wastes his resources and for what, and other developers are not entitled to decide themselves whether they want to be nice and do silly stuff or not. If you are really serious with that: - Why did you not remove gtk at the same time as qt3? One reason was that qt4 was supposed to be complete replacement to qt3 and I never really tested Gtk, so I was not sure I was not missing something important. Another (and probably more important) reason was that the Gtk frontend did not attract core developers, so it did not eat the kind of resources I was concerned about. - Why did you not work towards one build system far earlier, Because I did not to too much work on LyX in the last few years so the build system creep did not really hit me. Apart from that, bot cmake and scons are more or less invisible if they are not used, and both Peter and Bo never complained when their respective toy was broken by someone. The current activity is mainly triggered by my feeling that LyX building is so slow that it hampers development. I know for sure that each time _I_ tried to do some 'real' LyX work in the last few years I got distracted by build issues quicker than the work itself was ripe. and why did you create a fourth one? One reason is that I do not want a to start a shoot-out before all potential contender had a chance to show their nice sides. A second reason is that qmake has two abilities than none of the other three systems have: It knows about Qt, so no special code for .ui or such needed, and it has _real_ MSVS integration including project management, integrated help, designer and so on based on .pro files as primary source of information. It was also the easiest way for me to produce dynamic libraries which I needed to test my hypothesis that using static liking is part of the current build slowness. Also, the final solution in the build system arena might as well be some hybrid solution as e.g. using autoconf for the actual configuration and using the fastest 'build backend'. - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. [And I doubt your purse is big enough to qualify as _really good reason_ ;-}] The two versions are wasting far more resouces than qt3 could have ever wasted, because there is no date in sight for the merging, and because far more people are involved. You may be right. I ignored that battle so far. Would you think it helped if I just threw a dice and removed one of them [I am rather more than less serious here]? And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). We started a list, didn't we. What does it look like now? Andre'
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
On Fri, Aug 24, 2007 at 10:43:09AM +0200, Stephan Witt wrote: I'll provide a modified patch when there is a need for. Do you want the if (sm.allowsInteraction()) { style? Yes. Even if it's not everyones favourite it is very beneficial to have a uniform style to be able to do certain kinds of refactoring or searches scriptable. Andre'
Re: Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
On Fri, Aug 24, 2007 at 12:11:49PM +0200, Abdelrazak Younes wrote: Well, we need to express opinions to reach consensus, don't we? I know that my opinions are in general not shared with old devs but this is my opinion :-) I want more frequent releases, this is the only way IMHO to avoid big destabilization of the tree. If the XML branch is ready for writing _and_ reading, then we should switch now and not wait for another six months. If it is not ready, then I think the time frame for inclusion is already passed. You may actually have point here. Andre'
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Andre Poenitz wrote: A second reason is that qmake has two abilities than none of the other three systems have: It knows about Qt, so no special code for .ui or such needed, and it has _real_ MSVS integration including project management, integrated help, designer and so on based on .pro files as primary source of information. Are you sure that those feature are available in the open source version of Qt? Don't tell your boss but we are not using the official version of Qt but a patched version in order to compile with MSVC. Also, the final solution in the build system arena might as well be some hybrid solution as e.g. using autoconf for the actual configuration and using the fastest 'build backend'. I'd be OK personally with an autoconf/QMake provided that we make sure that the MSYS autoconf works well in this case. - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. [And I doubt your purse is big enough to qualify as _really good reason_ ;-}] Well, it's not like we are wasting an awful lot of resources here either. Up to now only Joost and Uwe are wasting their time in the competition. But I don't think their time would get automatically invested to core development if they agree (please correct me if I am wrong Joost and Uwe). Bo and Christian both tried to get involved and failed AFAIK. But I agree that this situation is utterly confusing for the end-users. Abdel.
Re: Release Plan
On Fri, 24 Aug 2007 14:41:27 +0200 Andre Poenitz [EMAIL PROTECTED] wrote: On Fri, Aug 24, 2007 at 12:11:49PM +0200, Abdelrazak Younes wrote: Well, we need to express opinions to reach consensus, don't we? I know that my opinions are in general not shared with old devs but this is my opinion :-) I want more frequent releases, this is the only way IMHO to avoid big destabilization of the tree. If the XML branch is ready for writing _and_ reading, then we should switch now and not wait for another six months. If it is not ready, then I think the time frame for inclusion is already passed. You may actually have point here. Andre' I didn't expect to be saying this, but hey! Let's take some calculated risk. José knows what state the XML patch is in, but I would say that even if it is only 3/4 ready, it should go in -- now. If we keep the tree compilable, it will all be fixed. Having some version of XML, warts-and-all, will place LyX closer to the mainstream. It does matter for attracting developer mindshare. - Martin
Re: [PATCH] Layout Modularity, Part I
Andre Poenitz wrote: If people really want me to change all of these, I'll do so. But this was modeled on the existing Layout_ptr. I guess I'll just rename Layout_ptr into LayoutPtr to avoid this in the furture. I'll change TextClass_ptr to TextClassPtr later. I don't want to do it now as it will involve patching the trunk, merging back into branch, etc, which is a pain. It'll be easier later. Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: [PATCH] Simplify bookmars handling and further improvments...
José Matos wrote: On Wednesday 22 August 2007 13:40:09 Abdelrazak Younes wrote: Jose, do you want me to proceed? Yes. Please coordinate with Bo since this is his code. I've committed it. Abdel. Author: younes Date: Fri Aug 24 15:53:45 2007 New Revision: 19770 URL: http://www.lyx.org/trac/changeset/19770 Log: Bugfix: the current cursor font was not reset when going to a bookmark. Modified: lyx-devel/branches/BRANCH_1_5_X/src/BufferView.cpp lyx-devel/branches/BRANCH_1_5_X/src/frontends/LyXView.cpp lyx-devel/branches/BRANCH_1_5_X/status.15x Modified: lyx-devel/branches/BRANCH_1_5_X/src/BufferView.cpp URL: http://www.lyx.org/trac/file/lyx-devel/branches/BRANCH_1_5_X/src/BufferView.cpp?rev=19770 == --- lyx-devel/branches/BRANCH_1_5_X/src/BufferView.cpp (original) +++ lyx-devel/branches/BRANCH_1_5_X/src/BufferView.cpp Fri Aug 24 15:53:45 2007 @@ -546,6 +546,7 @@ break; } setCursor(dit); + buffer_-text().setCurrentFont(cursor_); // Note: return bottom (document) level pit. return boost::make_tuple(cursor_.bottom().pit(), cursor_.bottom().pos(), top_id); } @@ -561,6 +562,7 @@ it.pit() = bottom_pit; it.pos() = min(bottom_pos, it.paragraph().size()); setCursor(it); + buffer_-text().setCurrentFont(cursor_); return boost::make_tuple(it.pit(), it.pos(), it.paragraph().id()); } Modified: lyx-devel/branches/BRANCH_1_5_X/src/frontends/LyXView.cpp URL: http://www.lyx.org/trac/file/lyx-devel/branches/BRANCH_1_5_X/src/frontends/LyXView.cpp?rev=19770 == --- lyx-devel/branches/BRANCH_1_5_X/src/frontends/LyXView.cpp (original) +++ lyx-devel/branches/BRANCH_1_5_X/src/frontends/LyXView.cpp Fri Aug 24 15:53:45 2007 @@ -244,7 +244,6 @@ if (work_area_-bufferView().moveToPosition(pit, pos, 0, 0).get1()) { if (work_area_-bufferView().fitCursor()) work_area_-bufferView().updateMetrics(false); - newBuffer-text().setCurrentFont(work_area_-bufferView().cursor()); updateMenubar(); updateToolbars(); updateLayoutChoice(); Modified: lyx-devel/branches/BRANCH_1_5_X/status.15x URL: http://www.lyx.org/trac/file/lyx-devel/branches/BRANCH_1_5_X/status.15x?rev=19770 == --- lyx-devel/branches/BRANCH_1_5_X/status.15x (original) +++ lyx-devel/branches/BRANCH_1_5_X/status.15x Fri Aug 24 15:53:45 2007 @@ -80,6 +80,8 @@ - Fix crash when using down cursor in an empty math subscript (Bug 4117). +- Reset current cursor font when going to a bookmark. + * DOCUMENTATION - Fix installation links for Hebrew (bug 4165)
Re: [PATCH] Layout Modularity, Part I
Abdelrazak Younes wrote: Abdelrazak Younes wrote: Richard Heck wrote: (iii) remember layout base class _and_ module in BufferParams. Maybe the solution is to have a global TextClassModule along the global TextClassList instead of having local copies of TextClass? Or integrate the module access to the TextClassList itself? Changes to BufferParams don't help. The problem is in CutAndPaste, where we keep a copy of the TextClass in use with a given selection. Yes, the copy is in fact in the temporary Buffer created in put/pasteClipbaord. I understand that passing the TextClass is not nice but maybe the solution is to store the temporary Buffer instead of discarding it? In effect, this would mean that this: typedef limited_stackpairParagraphList, textclass_type CutStack; is replaced by this: typedef limited_stackBuffer CutStack; IIUC, the TextClass problem would vanish by itself, won't it? Maybe it is worth it? Maybe. But I'm loathe to mess with CutAndPaste at this point. I don't understand that code (yet), as I haven't studied it. Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: [Patch] Inset configurability: separate charstyle and custom insets
Martin Vermeer wrote: I suppose attaching the patch would help. - Martin On Fri, Aug 24, 2007 at 12:31:16AM +0300, Martin Vermeer wrote: Finally I got where Richard was many weeks ago... the custom inset 'endnote' works! Or would, if I would have endnote.sty on my system. What is now not elegant, is that the term 'charstyle' is being used for two different things: 1) general user-definable insets, and 2) specific oldfashioned charstyle-type insets (the alternative now being 'custom', but there could be more: 'short element', e.g.) I think I'll have to rename 'charstyle-1' to something more appropriate (suggestions?). That will be a big but near-trivial patch. I'll try to think about this over the next little while. I'm swamped right now trying to get the layout modularity stuff into trunk before school starts and I'm back to work rh - Martin Index: src/MenuBackend.cpp === --- src/MenuBackend.cpp (revision 19756) +++ src/MenuBackend.cpp (working copy) @@ -218,6 +218,7 @@ md_documents, md_bookmarks, md_charstyles, + md_custom, md_endmenu, md_exportformats, md_importformats, @@ -240,6 +241,7 @@ { bookmarks, md_bookmarks }, { branches, md_branches }, { charstyles, md_charstyles }, + { custom, md_custom }, { documents, md_documents }, { end, md_endmenu }, { exportformats, md_exportformats }, @@ -294,6 +296,10 @@ add(MenuItem(MenuItem::CharStyles)); break; + case md_custom: + add(MenuItem(MenuItem::Custom)); + break; + case md_documents: add(MenuItem(MenuItem::Documents)); break; @@ -613,7 +619,7 @@ } -void expandCharStyleInsert(Menu tomenu, Buffer const * buf) +void expandCharStyleInsert(Menu tomenu, Buffer const * buf, std::string s) { if (!buf) { tomenu.add(MenuItem(MenuItem::Command, @@ -627,8 +633,9 @@ CharStyles::iterator end = charstyles.end(); for (; cit != end; ++cit) { docstring const label = from_utf8(cit-name); - tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label, - FuncRequest(LFUN_CHARSTYLE_INSERT, + if (cit-lyxtype == s) + tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, +label, FuncRequest(LFUN_CHARSTYLE_INSERT, label))); } } @@ -877,9 +884,13 @@ break; case MenuItem::CharStyles: - expandCharStyleInsert(tomenu, buf); + expandCharStyleInsert(tomenu, buf, charstyle); break; + case MenuItem::Custom: + expandCharStyleInsert(tomenu, buf, custom); + break; + case MenuItem::FloatListInsert: expandFloatListInsert(tomenu, buf); break; Index: src/MenuBackend.h === --- src/MenuBackend.h (revision 19756) +++ src/MenuBackend.h (working copy) @@ -63,6 +63,9 @@ /** This is the list of elements available * for insertion into document. */ CharStyles, + /** This is the list of user-configurable + insets to insert into document */ + Custom, /** This is the list of floats that we can insert a list for. */ FloatListInsert, Index: src/TextClass.cpp === --- src/TextClass.cpp (revision 19756) +++ src/TextClass.cpp (working copy) @@ -698,7 +698,7 @@ insetlayoutlist_[name] = il; // test name for CS: - if (il.lyxtype == charstyle) { + if (il.lyxtype == charstyle || il.lyxtype == custom) { charstyles().push_back(il); } } Index: lib/ui/stdmenus.inc === --- lib/ui/stdmenus.inc (revision 19567) +++ lib/ui/stdmenus.inc (working copy) @@ -295,6 +295,7 @@ Submenu Float|a insert_float Submenu Note|N insert_note Submenu Branch|B insert_branches + Submenu Custom insets insert_custom Submenu File|e insert_file Item Box box-insert Frameless Separator @@ -404,6 +405,10 @@ Branches End + Menu insert_custom +
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Andre Poenitz wrote: On Fri, Aug 24, 2007 at 10:01:16AM +0200, Georg Baum wrote: - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. The windows installer problem is IMHO not a technical one, so no need to touch any installer code. The two versions are wasting far more resouces than qt3 could have ever wasted, because there is no date in sight for the merging, and because far more people are involved. You may be right. I ignored that battle so far. Would you think it helped if I just threw a dice and removed one of them [I am rather more than less serious here]? You should know by now that such dictator-like behaviour is always wrong IMO. Besides that the problem is not that there are two installers in svn. The problem is that there are two installers visible for the users. Georg
Re: [Patch] Inset configurability: separate charstyle and custom insets
Index: lib/layouts/stdcustom.inc === --- lib/layouts/stdcustom.inc (revision 0) +++ lib/layouts/stdcustom.inc (revision 0) @@ -0,0 +1,19 @@ +# Textclass definition file for LaTeX. +# Author : Martin vermeer [EMAIL PROTECTED] +# Custom Inset layouts definition + +Format 5 + +InsetLayout Custom:Endnote + LyXType custom + LatexName endnote + LatexType command + Font + Size Small + EndFont + LabelString foot + Preamble + \usepackage{endnote} + EndPreamble +End + I think you want endnotes.sty here, rather than endnote.sty. Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
[Patch - 1.5] Fix bug 3427, Document Largely Off-screen on Opening
http://bugzilla.lyx.org/show_bug.cgi?id=3427 As I cannot reproduce the problem on Windows, please test the patch on Unix. This patch has already been committed to trunk last week. Abdel. Index: src/BufferView.cpp === --- src/BufferView.cpp (revision 19770) +++ src/BufferView.cpp (working copy) @@ -126,7 +126,7 @@ : width_(0), height_(0), buffer_(0), wh_(0), cursor_(*this), multiparsel_cache_(false), anchor_ref_(0), offset_ref_(0), - intl_(new Intl), last_inset_(0) + need_centering_(false), intl_(new Intl), last_inset_(0) { xsel_cache_.set = false; intl_-initKeyMapper(lyxrc.use_kbmap); @@ -593,19 +593,34 @@ } -void BufferView::center() +void BufferView::updateOffsetRef() { + // No need to update offset_ref_ in this case. + if (!need_centering_) + return; + + // We are not properly started yet, delay until resizing is + // done. + if (height_ == 0) + return; + CursorSlice bot = cursor_.bottom(); TextMetrics tm = text_metrics_[bot.text()]; - pit_type const pit = bot.pit(); - tm.redoParagraph(pit); - ParagraphMetrics const pm = tm.parMetrics(pit); - anchor_ref_ = pit; - offset_ref_ = bv_funcs::coordOffset(*this, cursor_, cursor_.boundary()).y_ - + pm.ascent() - height_ / 2; + ParagraphMetrics const pm = tm.parMetrics(bot.pit()); + Point p = bv_funcs::coordOffset(*this, cursor_, cursor_.boundary()); + offset_ref_ = p.y_ + pm.ascent() - height_ / 2; + + need_centering_ = false; } +void BufferView::center() +{ + anchor_ref_ = cursor_.bottom().pit(); + need_centering_ = true; +} + + FuncStatus BufferView::getStatus(FuncRequest const cmd) { FuncStatus flag; @@ -1481,6 +1496,8 @@ if (!singlepar) tm.redoParagraph(pit); + updateOffsetRef(); + int y0 = tm.parMetrics(pit).ascent() - offset_ref_; // Redo paragraphs above anchor if necessary. Index: src/BufferView.h === --- src/BufferView.h(revision 19769) +++ src/BufferView.h(working copy) @@ -290,6 +290,10 @@ pit_type anchor_ref_; /// int offset_ref_; + /// + void updateOffsetRef(); + /// + bool need_centering_; /// keyboard mapping object. boost::scoped_ptrIntl const intl_; Index: status.15x === --- status.15x (revision 19770) +++ status.15x (working copy) @@ -82,6 +82,8 @@ - Reset current cursor font when going to a bookmark. +- Fix Document Largely Off-screen on Opening (Bug 3427). + * DOCUMENTATION - Fix installation links for Hebrew (bug 4165)
Re: [Patch] Inset configurability: separate charstyle and custom insets
Index: lib/layouts/stdcustom.inc === --- lib/layouts/stdcustom.inc (revision 0) +++ lib/layouts/stdcustom.inc (revision 0) @@ -0,0 +1,19 @@ +# Textclass definition file for LaTeX. +# Author : Martin vermeer [EMAIL PROTECTED] +# Custom Inset layouts definition + +Format 5 + +InsetLayout Custom:Endnote + LyXType custom + LatexName endnote + LatexType command + Font + Size Small + EndFont + LabelString foot + Preamble + \usepackage{endnote} + EndPreamble +End + And the LabelString looks like a cut-and-paste error. rh -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: Lyx crashed after inserting, deleting and inserting float object
Thomas Schmidt wrote: Hello developers. I have maybe a bug in Lyx 1.5.1. If i'm inserting a float object field and delete this object directly after inserting (because i clicked at the wrin one) i can't insert a further float object. Every time i do this, lyx crashes directly. I can produce this crash on a Windows Vista System with actual Version of Lyx. This evening i can test it under Windows XP and maybe on Linux (Ubuntu Feisty). Can anyone confirm this crash? If yes, i'll make a bugreport at bugzilla.lyx.org Ouch! Confirmed on WinXP too! Please fill-it in. Abdel.
Lyx crashed after inserting, deleting and inserting float object
Hello developers. I have maybe a bug in Lyx 1.5.1. If i'm inserting a float object field and delete this object directly after inserting (because i clicked at the wrin one) i can't insert a further float object. Every time i do this, lyx crashes directly. I can produce this crash on a Windows Vista System with actual Version of Lyx. This evening i can test it under Windows XP and maybe on Linux (Ubuntu Feisty). Can anyone confirm this crash? If yes, i'll make a bugreport at bugzilla.lyx.org Regards Thomas -- Mit freundlichen Grüßen Thomas Schmidt --- Erstellt mit Operas revolutionärem E-Mail-Modul: http://www.opera.com/mail/
Re: [Patch] Inset configurability: separate charstyle and custom insets
On Fri, Aug 24, 2007 at 10:12:52AM -0400, Richard Heck wrote: Index: lib/layouts/stdcustom.inc === --- lib/layouts/stdcustom.inc (revision 0) +++ lib/layouts/stdcustom.inc (revision 0) @@ -0,0 +1,19 @@ +# Textclass definition file for LaTeX. +# Author : Martin vermeer [EMAIL PROTECTED] +# Custom Inset layouts definition + +Format 5 + +InsetLayout Custom:Endnote + LyXType custom + LatexName endnote + LatexType command + Font + Size Small + EndFont + LabelString foot + Preamble + \usepackage{endnote} + EndPreamble +End + And the LabelString looks like a cut-and-paste error. rh Oops... thanks. Corrected. - Martin
Re: Lyx crashed after inserting, deleting and inserting float object
Abdelrazak Younes wrote: Thomas Schmidt wrote: Hello developers. I have maybe a bug in Lyx 1.5.1. If i'm inserting a float object field and delete this object directly after inserting (because i clicked at the wrin one) i can't insert a further float object. Every time i do this, lyx crashes directly. I can produce this crash on a Windows Vista System with actual Version of Lyx. This evening i can test it under Windows XP and maybe on Linux (Ubuntu Feisty). Can anyone confirm this crash? If yes, i'll make a bugreport at bugzilla.lyx.org Ouch! Confirmed on WinXP too! Please fill-it in. Here is the backtrace for 1.5.2svn, the problem seems to be an empty paragraph in the new float while there should be at least one! Abdel. lyx-qt4.exe!std::vectorunsigned long,std::allocatorunsigned long ::operator[](unsigned int _Pos=0x) Line 741 + 0x17 bytes C++ lyx-qt4.exe!lyx::Paragraph::getChar(int pos=0x) Line 286 + 0x1d bytes C++ Here text_ is empty! lyx-qt4.exe!lyx::Paragraph::isInset(int pos=0x) Line 329 + 0xc bytes C++ lyx-qt4.exe!lyx::Paragraph::isHfill(int pos=0x) Line 325 + 0xc bytes C++ lyx-qt4.exe!lyx::`anonymous namespace'::numberOfHfills(const lyx::Paragraph par={...}, const lyx::Row row={...}) Line 101 + 0xc bytes C++ lyx-qt4.exe!lyx::TextMetrics::computeRowMetrics(const int pit=0x0001, const lyx::Row row={...}) Line 311 + 0xd bytes C++ lyx-qt4.exe!lyx::Text::cursorX(const lyx::BufferView bv={...}, const lyx::CursorSlice sl={...}, bool boundary=false) Line 1709 C++ lyx-qt4.exe!lyx::InsetText::cursorPos(const lyx::BufferView bv={...}, const lyx::CursorSlice sl={...}, bool boundary=false, int x=0x, int y=0x) Line 357 + 0x17 bytes C++ lyx-qt4.exe!lyx::InsetCollapsable::cursorPos(const lyx::BufferView bv={...}, const lyx::CursorSlice sl={...}, bool boundary=false, int x=0x, int y=0x) Line 248 C++ lyx-qt4.exe!lyx::bv_funcs::coordOffset(const lyx::BufferView bv={...}, const lyx::DocIterator dit={...}, bool boundary=false) Line 168 + 0x52 bytes C++ lyx-qt4.exe!lyx::bv_funcs::getPos(const lyx::BufferView bv={...}, const lyx::DocIterator dit={...}, bool boundary=false) Line 242 + 0x15 bytes C++ lyx-qt4.exe!lyx::Cursor::getPos(int x=0x00aa, int y=0x0035) Line 421 + 0x1f bytes C++ lyx-qt4.exe!lyx::Cursor::dispatch(const lyx::FuncRequest cmd0={...}) Line 305 C++ lyx-qt4.exe!lyx::Text::dispatch(lyx::Cursor cur={...}, lyx::FuncRequest cmd={...}) Line 1280 + 0x3a bytes C++ lyx-qt4.exe!lyx::InsetText::doDispatch(lyx::Cursor cur={...}, lyx::FuncRequest cmd={...}) Line 264 C++ lyx-qt4.exe!lyx::Inset::dispatch(lyx::Cursor cur={...}, lyx::FuncRequest cmd={...}) Line 145 + 0x1a bytes C++ lyx-qt4.exe!lyx::Cursor::dispatch(const lyx::FuncRequest cmd0={...}) Line 319 C++ lyx-qt4.exe!lyx::LyXFunc::dispatch(const lyx::FuncRequest cmd={...}) Line 1860 C++ lyx-qt4.exe!lyx::dispatch(const lyx::FuncRequest action={...}) Line 1483 C++ lyx-qt4.exe!lyx::LyXView::dispatch(const lyx::FuncRequest cmd={...}) Line 513 + 0x9 bytes C++
TikZ / pdftex_t support?!
Hi! I have been using XFig for creating images, now I want to add text on top of the images. I see the following possibilities: 1) use overpic - I did that in that in the past, and IIRC I sent a feature request somewhere for better overpic support in LyX, but I cannot find it right now 2) use special text in XFig, and use the pdftex_t export to create LaTeX code that I include with insert-file-child document. 3) use TikZ code for achieving the same - today I wrote a .fig - .tikz converter (*), which outputs .tikz material that I also \include. Now the problem that I have is, that the TeX code (i.e. the included .pdftex_t or .tikz files) includes images with \includegraphics{subdir/foobar.pdf/png}, and these files do not exist in LyX's /tmp dir. I realized that there is a fig2pdftex.py, but it does not seem to take care of that. How does this work for others? (Oh, I am still using 1.4.4 - I hope that my posting is still valid?) What I intuitively tried, was adding a new file format and a new copier via tools/preferences, but tex_copy.py does not take care of included images - shouldn't this considered to be a bug / missing feature? I am using this regexp for extracting included images in my texdep (**) script: re_includegraphics = re.compile( r(?:includegraphics|begin{overpic})(\[[^]]*\])?{([^}]+)}) Ciao, / / /--/ / / ANS * http://kogs-www.informatik.uni-hamburg.de/~meine/software/figpy/#fig2tikz ** http://kogs-www.informatik.uni-hamburg.de/~meine/software/scripts/texdep
Re: Lyx crashed after inserting, deleting and inserting float object
Abdelrazak Younes wrote: Abdelrazak Younes wrote: Thomas Schmidt wrote: Hello developers. I have maybe a bug in Lyx 1.5.1. If i'm inserting a float object field and delete this object directly after inserting (because i clicked at the wrin one) i can't insert a further float object. Every time i do this, lyx crashes directly. I can produce this crash on a Windows Vista System with actual Version of Lyx. This evening i can test it under Windows XP and maybe on Linux (Ubuntu Feisty). Can anyone confirm this crash? If yes, i'll make a bugreport at bugzilla.lyx.org Ouch! Confirmed on WinXP too! Please fill-it in. What's the exact recipe? I cannot reproduce here (linux) A/
Embedding Patch Comments
Comments within. Index: src/EmbeddedFiles.cpp === --- src/EmbeddedFiles.cpp (revision 0) +++ src/EmbeddedFiles.cpp (revision 0) @@ -0,0 +1,317 @@ +// -*- C++ -*- +/** + * \file EmbeddedFiles.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Bo Peng + * + * Full author contact details are available in file CREDITS. + * + */ + +#include config.h + +#include EmbeddedFiles.h +#include Buffer.h +#include BufferParams.h +#include Paragraph.h +#include ParIterator.h +#include debug.h +#include gettext.h +#include Format.h + +#include frontends/alert.h + +#include boost/filesystem/operations.hpp + +#include support/filetools.h +#include support/fs_extras.h +#include support/convert.h + +#include sstream +#include fstream +#include utility + +using std::ofstream; +using std::endl; +using std::vector; +using std::string; +using std::pair; +using std::make_pair; +using std::istream; +using std::ostream; +using std::getline; +using std::istringstream; + +namespace lyx { + +namespace fs = boost::filesystem; +namespace Alert = frontend::Alert; + +using support::FileName; +using support::DocFileName; +using support::makeAbsPath; +using support::addName; +using support::onlyPath; +using support::absolutePath; +using support::onlyFilename; +using support::makeRelPath; +using support::changeExtension; +using support::bformat; +using support::zipFiles; + + +EmbeddedFile::EmbeddedFile(string const file, string const inzip_name, + STATUS status, ParConstIterator const pit) + : DocFileName(file, true), inzip_name_(inzip_name), status_(status), + par_it_(pit), valid_(true) +{} + + +string EmbeddedFile::embeddedFile(Buffer const * buf) const +{ + return addName(buf-temppath(), inzip_name_); +} + + +void EmbeddedFile::setParIter(ParConstIterator const pit) +{ + par_it_ = pit; +} + + +bool EmbeddedFiles::enabled() const +{ + return buffer_-params().embedded; +} + + +void EmbeddedFiles::enable(bool flag) +{ + if (enabled() != flag) { + // file will be changed + buffer_-markDirty(); + buffer_-params().embedded = flag; + } +} + + +void EmbeddedFiles::registerFile(string const filename, + EmbeddedFile::STATUS status, ParConstIterator const pit) +{ + string abs_filename = makeAbsPath(filename, buffer_-filePath()).absFilename(); + // try to find this file from the list + FileList::iterator it; + for (it = file_list_.begin(); it != file_list_.end(); ++it) I've been told that the LyX style is: + FileList::iterator it = file_list_.begin(); + for (; it != file_list_.end(); ++it) +void EmbeddedFiles::update() +{ + // invalidate all files, obsolete files will then not be validated by the + // following document scan. These files will still be kept though, because + // they may be added later and their embedding status will be meaningful + // again (thinking of cut/paste of an InsetInclude). + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) + it-invalidate(); Same for-style here... + + for (ParIterator pit = buffer_-par_iterator_begin(); + pit != buffer_-par_iterator_end(); ++pit) + // For each paragraph, traverse its insets and register embedded files + for (InsetList::const_iterator it = pit-insetlist.begin(); and here... +bool EmbeddedFiles::write(DocFileName const filename) +{ + bool empty = true; + + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) ..and here... + } else { + // get a file list and write a manifest file + vectorpairstring, string filenames; + string const manifest = FileName( + addName(buffer_-temppath(), manifest.txt)).toFilesystemEncoding(); + + // write a manifest file + ofstream os(manifest.c_str()); + os *this; A comment on the previous line would help a bit. I know operator is below, but it's pretty opaque what this is supposed to do. + os.close(); + // prepare list of embedded file + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) { ...and here... +istream operator (istream is, EmbeddedFiles files) +{ + files.clear(); + string tmp; + getline(is, tmp); + // get version + istringstream itmp(tmp); + int version; + itmp.ignore(string(# lyx manifest version ).size()); + itmp version; + + if (version != 1) { + lyxerr This version of lyx can only read lyx manifest version 1 endl; Should be LyX? + // manifest file may be messed up, be carefully Is there explicit
Re: Lyx crashed after inserting, deleting and inserting float object
Alfredo Braunstein wrote: Ouch! Confirmed on WinXP too! Please fill-it in. What's the exact recipe? I cannot reproduce here (linux) Humm, I mean I cannot reproduce with trunk. Sorry for not being able to read. :-/ A/
Re: Embedding Patch Comments
Thank you for reviewing the patch. + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) + it-invalidate(); Same for-style here... I am not quite sure about this style issue. Is FileList::iterator it = file_list_.begin(); for (; it != file_list_.end(); ++it) it-invalid(); recommended over the one I used? Jose? Bo
Re: Embedding Patch Comments
Bo Peng wrote: Thank you for reviewing the patch. + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) + it-invalidate(); Same for-style here... I am not quite sure about this style issue. Is FileList::iterator it = file_list_.begin(); for (; it != file_list_.end(); ++it) it-invalid(); recommended over the one I used? Jose? I personally like much better yours (it scope is local). In any case I think (may be wrong) LyX style is something like FileList::iterator it = file_list_.begin(); FileList::iterator const end = file_list_.end(); for (; it != end; ++it) it-invalid(); A/
Re: Embedding Patch Comments
Bo Peng wrote: Thank you for reviewing the patch. + for (FileList::iterator it = file_list_.begin(); it != file_list_.end(); ++it) + it-invalidate(); Same for-style here... I am not quite sure about this style issue. Is FileList::iterator it = file_list_.begin(); for (; it != file_list_.end(); ++it) it-invalid(); recommended over the one I used? Jose? Not really but this one is recommended to avoid the evaluation of end() at each iteration: FileList::iterator end = file_list_.end(); for (FileList::iterator end = file_list_.begin(); it != end; ++it) it-invalid(); or FileList::iterator it = file_list_.begin(); FileList::iterator end = file_list_.end(); for (; it != end; ++it) it-invalid(); are both fine. Abdel.
Re: Embedding Patch Comments
Not really but this one is recommended to avoid the evaluation of end() at each iteration: At least icc optimizes for such uses..., anyway, I will follow the convention. Jose, can I apply (an updated patch)? I have some confidence in this patch so it should be OK to apply. The next patch will be called embed_basic_gui which adds a dialog with broken interaction with buffer. I will need help on the fourth patch, embed_buffer_interaction, and the fifth, embed_insets, which allows insets to handle embedded files. Cheers, Bo
InsetCharStyle, Etc
Martin, Just a question about what else you've got planned here. Your last commit log said---and I appreciated it---that you now had the functionality of my old patch...though, I'll add, with a much better infrastructure. However, that isn't quite true, because my old patch allowed the Endnote inset to be collapsable as opposed to inline. Can we get that behavior at this point? or is this another step? Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: [patch for [Bug 1656] command gnome-session-save kills lyx!]
On Friday 24 August 2007 12:57:23 Abdelrazak Younes wrote: Jose, do you want it for 1.5? With Jürgen coming soon I will let this decision to him. :-) So apart from style issues (that are easily fixed) this patch can go in devel. :-) Abdel. -- José Abílio
Re: LyX 1.5 patch candidate list (update)
Michael Gerz wrote: http://www.lyx.org/trac/changeset/19331 - Deal with a UI bug This is a minor UI patch, but probably worth doing. http://www.lyx.org/trac/changeset/19332 - Make LYX_ALIGN_LAYOUT always be an available layout This is also very minor and not necessary, although very safe. http://www.lyx.org/trac/changeset/19663 - fix tex4ht detection on older SuSE and current Debian I added this to 1.5 already today. Georg sent it a while back, and it's completely safe. I can do the other two if they are wanted. Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: Remove unused std::time.
Yes. Found in ctime. If we don't use it, just remove it. Done. Bo
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
On Fri, Aug 24, 2007 at 09:03:13AM +0200, Abdelrazak Younes wrote: Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Fixed. Great! Many thanks, Abdel. However, there seems to be some more glitches, still. When opening another document, the following is printed to the console: QWidget::repaint: recursive repaint detected. QPixmap::operator=: Cannot assign to pixmap during painting Painter must be active to set rendering hints [repeated many times here] Painter must be active to set rendering hints QPainter::end: Painter is not active, aborted QPixmap::operator=: Cannot assign to pixmap during painting QPixmap::operator=: Cannot assign to pixmap during painting currentTabChanged 1File/c/work/file2.lyx and, when closing LyX: QPixmap::operator=: Cannot assign to pixmap during painting QPaintDevice: Cannot destroy paint device that is being painted. Be sure to QPainter::end() painters! I suspect that solving these issues might also solve the missing close tab button problem. -- Enrico
[PATCH] Layout Modularity, Part II: The Backend
This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree. 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 second 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 (ViewLaTeX and look at the user preamble), which are themselves in lib/layouts. The GUI will come next. A theorems module will follow, when I get a chance. Other ideas more than welcome! 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 modules? Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto Index: src/TextClass.cpp === --- src/TextClass.cpp (revision 19769) +++ src/TextClass.cpp (working copy) @@ -107,6 +107,7 @@ floatlist_(new FloatList), counters_(new Counters), texClassAvail_(texClassAvail) { + modular_ = false; outputType_ = LATEX; columns_ = 1; sides_ = OneSide; @@ -173,7 +174,7 @@ // Reads a textclass structure from file. -bool TextClass::read(FileName const filename, bool merge) +bool TextClass::read(FileName const filename, ReadType rt) { if (!support::isFileReadable(filename)) { lyxerr Cannot read layout file ` filename '. @@ -208,14 +209,21 @@ { tocdepth,TC_TOCDEPTH } }; - if (!merge) - LYXERR(Debug::TCLASS) Reading textclass - to_utf8(makeDisplayPath(filename.absFilename())) - endl; - else - LYXERR(Debug::TCLASS) Reading input file - to_utf8(makeDisplayPath(filename.absFilename())) - endl; + switch (rt) { + case BASECLASS: + LYXERR(Debug::TCLASS) Reading textclass ; + break; + case MERGE: + LYXERR(Debug::TCLASS) Reading input file ; + break; + case MODULE: + LYXERR(Debug::TCLASS) Reading module file ; + break; + default: + BOOST_ASSERT(false); + } + LYXERR(Debug::TCLASS) to_utf8(makeDisplayPath(filename.absFilename())) + endl; Lexer lexrc(textClassTags, sizeof(textClassTags) / sizeof(textClassTags[0])); @@ -264,7 +272,7 @@ lexrc.printError(Could not find input file: + inc); error = true; -} else if (read(tmp, true)) { +} else if (read(tmp, MERGE)) { lexrc.printError(Error reading input file: + tmp.absFilename()); error = true; @@ -441,12 +449,20 @@ FileName const tempfile(support::tempName()); error = !layout2layout(filename, tempfile); if (!error) - error = read(tempfile, merge); + error = read(tempfile, rt); support::unlink(tempfile); return error; } - if (!merge) { // we are at top level here. + if (rt == MODULE) + LYXERR(Debug::TCLASS) Finished reading module file + to_utf8(makeDisplayPath(filename.absFilename())) + endl; + else if (rt == MERGE) + LYXERR(Debug::TCLASS) Finished reading input file + to_utf8(makeDisplayPath(filename.absFilename())) + endl; + else { // we are at top level here. LYXERR(Debug::TCLASS) Finished reading textclass
Re: LyX 1.5 patch candidate list (update)
On Friday 24 August 2007 18:02:59 Richard Heck wrote: I can do the other two if they are wanted. Go on. :-) Richard -- José Abílio
Re: [PATCH] Layout Modularity, Part II: The Backend
On Friday 24 August 2007 18:22:39 Richard Heck wrote: This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree. I have added this to http://wiki.lyx.org/Devel/LayoutModularity -- José Abílio
Re: Lyx problems in importing txt2tags .tex files
On Friday 24 August 2007 13:14:33 Alexandre Santos wrote: However I have a problem importing the .tex files produced by txt2tags into LyX. The title and author field are missing in the .lyx file, replaced by a clear page mention. The final .dvi lacks those fields entirely. Without looking into further detail... does it works in the initial .tex version? -- José Abílio
Re: Build trouble
On Fri, Aug 24, 2007 at 02:05:48PM +0200, Andre Poenitz wrote: On Fri, Aug 24, 2007 at 10:17:29AM +0300, Martin Vermeer wrote: Commenting out this Windows-specific stanza in src/support/Makefile.am makes the build succeed. If I don't, it always comes back (even when trying make clean) to the above error message. It won't come back after Monday (or maybe Sunday evening). I'll remove that Windows specific build part with my next commit. I am going to remove that, as it is no more needed. Anyway Martin, seems that we both suffer the same pathology: when the word Windows comes into play, nothing works anymore... -- Enrico
Re: Embedding Patch Comments
Jose, can I apply (an updated patch)? The updated patch is updated. Bo Index: src/insets/InsetGraphics.h === --- src/insets/InsetGraphics.h (revision 19780) +++ src/insets/InsetGraphics.h (working copy) @@ -78,6 +78,8 @@ void editGraphics(InsetGraphicsParams const , Buffer const ) const; /// bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; + /// all graphics can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , ParConstIterator const ) const; protected: InsetGraphics(InsetGraphics const ); /// Index: src/insets/InsetExternal.cpp === --- src/insets/InsetExternal.cpp (revision 19780) +++ src/insets/InsetExternal.cpp (working copy) @@ -483,6 +483,13 @@ } +void InsetExternal::registerEmbeddedFiles(Buffer const , + EmbeddedFiles files, ParConstIterator const pit) const +{ + files.registerFile(params_.filename.absFilename(), EmbeddedFile::AUTO, pit); +} + + void InsetExternal::edit(Cursor cur, bool) { InsetExternalMailer(*this).showDialog(cur.bv()); Index: src/insets/InsetGraphics.cpp === --- src/insets/InsetGraphics.cpp (revision 19780) +++ src/insets/InsetGraphics.cpp (working copy) @@ -71,6 +71,7 @@ #include Mover.h #include OutputParams.h #include sgml.h +#include EmbeddedFiles.h #include frontends/alert.h @@ -231,6 +232,14 @@ } +void InsetGraphics::registerEmbeddedFiles(Buffer const , + EmbeddedFiles files, ParConstIterator const pit) const +{ + files.registerFile(params().filename.absFilename(), + EmbeddedFile::AUTO, pit); +} + + void InsetGraphics::edit(Cursor cur, bool) { InsetGraphicsMailer(*this).showDialog(cur.bv()); Index: src/insets/InsetInclude.cpp === --- src/insets/InsetInclude.cpp (revision 19780) +++ src/insets/InsetInclude.cpp (working copy) @@ -939,6 +939,16 @@ } +void InsetInclude::registerEmbeddedFiles(Buffer const buffer, + EmbeddedFiles files, ParConstIterator const pit) const +{ + // include and input are temprarily not considered. + if (isVerbatim(params_) || isListings(params_)) + files.registerFile(includedFilename(buffer, params_).absFilename(), + EmbeddedFile::AUTO, pit); +} + + string const InsetIncludeMailer::name_(include); InsetIncludeMailer::InsetIncludeMailer(InsetInclude inset) Index: src/insets/Inset.h === --- src/insets/Inset.h (revision 19780) +++ src/insets/Inset.h (working copy) @@ -49,6 +49,7 @@ class PainterInfo; class OutputParams; class TocList; +class EmbeddedFiles; namespace graphics { class PreviewLoader; } @@ -440,6 +441,9 @@ /// Add an entry to the TocList /// pit is the ParConstIterator of the paragraph containing the inset virtual void addToToc(TocList , Buffer const , ParConstIterator const ) const {} + /// report files that can be embedded with the lyx file + virtual void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const {}; /// Fill keys with BibTeX information virtual void fillWithBibKeys(Buffer const , BiblioInfo , InsetIterator const ) const { return; } Index: src/insets/InsetInclude.h === --- src/insets/InsetInclude.h (revision 19780) +++ src/insets/InsetInclude.h (working copy) @@ -18,6 +18,7 @@ #include RenderButton.h #include MailInset.h #include Counters.h +#include EmbeddedFiles.h #include support/FileName.h @@ -103,6 +104,9 @@ bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; /// void updateLabels(Buffer const buffer, ParIterator const ); + /// child document can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const; protected: InsetInclude(InsetInclude const ); /// Index: src/insets/InsetExternal.h === --- src/insets/InsetExternal.h (revision 19780) +++ src/insets/InsetExternal.h (working copy) @@ -14,6 +14,7 @@ #include Inset.h #include ExternalTransforms.h +#include EmbeddedFiles.h #include support/FileName.h #include support/Translator.h @@ -147,6 +148,9 @@ void edit(Cursor cur, bool left); /// bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; + /// external file can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const; protected: InsetExternal(InsetExternal const ); Index: src/EmbeddedFiles.cpp === --- src/EmbeddedFiles.cpp (revision 0) +++ src/EmbeddedFiles.cpp (revision 0) @@ -0,0 +1,329 @@ +// -*- C++ -*- +/** + * \file EmbeddedFiles.cpp + * This file is part of LyX, the document processor. + * Licence
Re: Embedding Patch Comments
The updated patch is updated. I guess you know what I meant. :-) And here is another one with some minor adjustments. Bo Index: src/insets/InsetGraphics.h === --- src/insets/InsetGraphics.h (revision 19780) +++ src/insets/InsetGraphics.h (working copy) @@ -78,6 +78,8 @@ void editGraphics(InsetGraphicsParams const , Buffer const ) const; /// bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; + /// all graphics can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , ParConstIterator const ) const; protected: InsetGraphics(InsetGraphics const ); /// Index: src/insets/InsetExternal.cpp === --- src/insets/InsetExternal.cpp (revision 19780) +++ src/insets/InsetExternal.cpp (working copy) @@ -483,6 +483,13 @@ } +void InsetExternal::registerEmbeddedFiles(Buffer const , + EmbeddedFiles files, ParConstIterator const pit) const +{ + files.registerFile(params_.filename.absFilename(), EmbeddedFile::AUTO, pit); +} + + void InsetExternal::edit(Cursor cur, bool) { InsetExternalMailer(*this).showDialog(cur.bv()); Index: src/insets/InsetGraphics.cpp === --- src/insets/InsetGraphics.cpp (revision 19780) +++ src/insets/InsetGraphics.cpp (working copy) @@ -71,6 +71,7 @@ #include Mover.h #include OutputParams.h #include sgml.h +#include EmbeddedFiles.h #include frontends/alert.h @@ -231,6 +232,14 @@ } +void InsetGraphics::registerEmbeddedFiles(Buffer const , + EmbeddedFiles files, ParConstIterator const pit) const +{ + files.registerFile(params().filename.absFilename(), + EmbeddedFile::AUTO, pit); +} + + void InsetGraphics::edit(Cursor cur, bool) { InsetGraphicsMailer(*this).showDialog(cur.bv()); Index: src/insets/InsetInclude.cpp === --- src/insets/InsetInclude.cpp (revision 19780) +++ src/insets/InsetInclude.cpp (working copy) @@ -939,6 +939,16 @@ } +void InsetInclude::registerEmbeddedFiles(Buffer const buffer, + EmbeddedFiles files, ParConstIterator const pit) const +{ + // include and input are temprarily not considered. + if (isVerbatim(params_) || isListings(params_)) + files.registerFile(includedFilename(buffer, params_).absFilename(), + EmbeddedFile::AUTO, pit); +} + + string const InsetIncludeMailer::name_(include); InsetIncludeMailer::InsetIncludeMailer(InsetInclude inset) Index: src/insets/Inset.h === --- src/insets/Inset.h (revision 19780) +++ src/insets/Inset.h (working copy) @@ -49,6 +49,7 @@ class PainterInfo; class OutputParams; class TocList; +class EmbeddedFiles; namespace graphics { class PreviewLoader; } @@ -440,6 +441,9 @@ /// Add an entry to the TocList /// pit is the ParConstIterator of the paragraph containing the inset virtual void addToToc(TocList , Buffer const , ParConstIterator const ) const {} + /// report files that can be embedded with the lyx file + virtual void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const {}; /// Fill keys with BibTeX information virtual void fillWithBibKeys(Buffer const , BiblioInfo , InsetIterator const ) const { return; } Index: src/insets/InsetInclude.h === --- src/insets/InsetInclude.h (revision 19780) +++ src/insets/InsetInclude.h (working copy) @@ -18,6 +18,7 @@ #include RenderButton.h #include MailInset.h #include Counters.h +#include EmbeddedFiles.h #include support/FileName.h @@ -103,6 +104,9 @@ bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; /// void updateLabels(Buffer const buffer, ParIterator const ); + /// child document can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const; protected: InsetInclude(InsetInclude const ); /// Index: src/insets/InsetExternal.h === --- src/insets/InsetExternal.h (revision 19780) +++ src/insets/InsetExternal.h (working copy) @@ -14,6 +14,7 @@ #include Inset.h #include ExternalTransforms.h +#include EmbeddedFiles.h #include support/FileName.h #include support/Translator.h @@ -147,6 +148,9 @@ void edit(Cursor cur, bool left); /// bool getStatus(Cursor , FuncRequest const , FuncStatus ) const; + /// external file can be embedded + void registerEmbeddedFiles(Buffer const , EmbeddedFiles , + ParConstIterator const ) const; protected: InsetExternal(InsetExternal const ); Index: src/EmbeddedFiles.cpp === --- src/EmbeddedFiles.cpp (revision 0) +++ src/EmbeddedFiles.cpp (revision 0) @@ -0,0 +1,329 @@ +// -*- C++ -*- +/** + * \file EmbeddedFiles.cpp + * This file is
Re: Build trouble
On Fri, Aug 24, 2007 at 07:57:51PM +0200, Enrico Forestieri wrote: On Fri, Aug 24, 2007 at 02:05:48PM +0200, Andre Poenitz wrote: On Fri, Aug 24, 2007 at 10:17:29AM +0300, Martin Vermeer wrote: Commenting out this Windows-specific stanza in src/support/Makefile.am makes the build succeed. If I don't, it always comes back (even when trying make clean) to the above error message. It won't come back after Monday (or maybe Sunday evening). I'll remove that Windows specific build part with my next commit. I am going to remove that, as it is no more needed. Anyway Martin, seems that we both suffer the same pathology: when the word Windows comes into play, nothing works anymore... Yes... I have the reputation among colleagues that I can make a Windows machine crash just by walking past it ;-/ - Martin
Re: TikZ / pdftex_t support?!
On Fri, Aug 24, 2007 at 05:33:35PM +0200, Hans Meine wrote: Hi! I have been using XFig for creating images, now I want to add text on top of the images. I see the following possibilities: 1) use overpic - I did that in that in the past, and IIRC I sent a feature request somewhere for better overpic support in LyX, but I cannot find it right now 2) use special text in XFig, and use the pdftex_t export to create LaTeX code that I include with insert-file-child document. 3) use TikZ code for achieving the same - today I wrote a .fig - .tikz converter (*), which outputs .tikz material that I also \include. Now the problem that I have is, that the TeX code (i.e. the included .pdftex_t or .tikz files) includes images with \includegraphics{subdir/foobar.pdf/png}, and these files do not exist in LyX's /tmp dir. I realized that there is a fig2pdftex.py, but it does not seem to take care of that. How does this work for others? (Oh, I am still using 1.4.4 - I hope that my posting is still valid?) What I intuitively tried, was adding a new file format and a new copier via tools/preferences, but tex_copy.py does not take care of included images - shouldn't this considered to be a bug / missing feature? I am using this regexp for extracting included images in my texdep (**) script: re_includegraphics = re.compile( r(?:includegraphics|begin{overpic})(\[[^]]*\])?{([^}]+)}) Ciao, / / /--/ / / ANS * http://kogs-www.informatik.uni-hamburg.de/~meine/software/figpy/#fig2tikz ** http://kogs-www.informatik.uni-hamburg.de/~meine/software/scripts/texdep I am also using XFig, and text in special mode, and include the figure as external material. For me it Just Works. You don't even have to start up a separate XFig session manually, just click the button in LyX. HTH Martin
Re: InsetCharStyle, Etc
On Fri, Aug 24, 2007 at 12:43:16PM -0400, Richard Heck wrote: Martin, Just a question about what else you've got planned here. Your last commit log said---and I appreciated it---that you now had the functionality of my old patch...though, I'll add, with a much better infrastructure. However, that isn't quite true, because my old patch allowed the Endnote inset to be collapsable as opposed to inline. Can we get that behavior at this point? or is this another step? Richard No, that doesn't work yet. Do we need to have a parameter Geometry in the inset layout format? I suppose it's doable. - Martin
Re: Embedding Patch Comments
On Friday 24 August 2007 20:12:07 Bo Peng wrote: I guess you know what I meant. :-) And here is another one with some minor adjustments. I will only look into this next Monday. :-( This should not dissuade other people from commenting the patch. Expect other bombastic revelations as I come from vacations. ;-) ( Actually my opinions on several of the issues that had come to this list, but this does not sell newspapers as the sentence above). ;-) Bo -- José Abílio
Re: Embedding Patch Comments
And here is another one with some minor adjustments. I will only look into this next Monday. :-( I will be happy to spend more time with my kids this weekend, so take your time. :-) Bo
Cleanup in CharStyles, externalize non-existent style detection
The idea is in the attached patch. A lot of unnecessary stuff can disappear. - Martin PS What about the name for meta-charstyles? Soft Insets? That's the next project. Perhaps after Richard's big commit. Index: src/CutAndPaste.cpp === --- src/CutAndPaste.cpp (revision 19769) +++ src/CutAndPaste.cpp (working copy) @@ -455,11 +455,11 @@ InsetCharStyle inset = static_castInsetCharStyle (*it); string const name = inset.params().name; - CharStyles::iterator const found_cs = -tclass2.charstyle(name); - if (found_cs == tclass2.charstyles().end()) { + InsetLayout const il = +tclass2.insetlayout(from_utf8(name)); + inset.setLayout(il); + if (il.labelstring == from_utf8(UNDEFINED)) { // The character style is undefined in tclass2 -inset.setUndefined(); docstring const s = bformat(_( Character style %1$s is undefined because of class @@ -470,11 +470,7 @@ errorlist.push_back(ErrorItem( _(Undefined character style), s, it.paragraph().id(), it.pos(), it.pos() + 1)); - } else if (inset.undefined()) { -// The character style is undefined in -// tclass1 and is defined in tclass2 -inset.setDefined(found_cs); - } + } } } } Index: src/TextClass.cpp === --- src/TextClass.cpp (revision 19769) +++ src/TextClass.cpp (working copy) @@ -698,7 +698,9 @@ insetlayoutlist_[name] = il; // test name for CS: - if (il.lyxtype == charstyle || il.lyxtype == custom) { + if (il.lyxtype == charstyle + || il.lyxtype == custom + || il.lyxtype == end) { charstyles().push_back(il); } } @@ -1011,6 +1013,14 @@ return *counters_.get(); } + +// Return the layout object of an inset given by name. If the name +// is not found as such, the part after the ':' is stripped off, and +// searched again. In this way, an error fallback can be provided: +// An erroneous 'CharStyle:badname' (e.g., after a documentclass switch) +// will invoke the layout object defined by name = 'CharStyle'. +// If that doesn't work either, an empty object returns (shouldn't +// happen). -- Idea JMarc, comment MV InsetLayout const TextClass::insetlayout(docstring const name) const { docstring n = name; @@ -1022,23 +1032,12 @@ break; n = n.substr(0,i); } - static const InsetLayout empty; + static InsetLayout empty; + empty.labelstring = from_utf8(UNDEFINED); return empty; } -CharStyles::iterator TextClass::charstyle(string const s) const -{ - CharStyles::iterator cs = charstyles().begin(); - CharStyles::iterator csend = charstyles().end(); - for (; cs != csend; ++cs) { - if (cs-name == s) - return cs; - } - return csend; -} - - docstring const TextClass::defaultLayoutName() const { // This really should come from the actual layout... (Lgb) Index: src/TextClass.h === --- src/TextClass.h (revision 19769) +++ src/TextClass.h (working copy) @@ -110,8 +110,6 @@ CharStyles charstyles() const { return charstylelist_; }; /// Inset layouts of this doc class InsetLayout const insetlayout(docstring const name) const; - /// Retrieve element of name s: - CharStyles::iterator charstyle(std::string const s) const; /// docstring const defaultLayoutName() const; /// Index: src/insets/InsetCharStyle.cpp === --- src/insets/InsetCharStyle.cpp (revision 19771) +++ src/insets/InsetCharStyle.cpp (working copy) @@ -48,34 +48,26 @@ using std::ostringstream; -void InsetCharStyle::init() -{} - InsetCharStyle::InsetCharStyle(BufferParams const bp, string const s) : InsetCollapsable(bp, Collapsed) { params_.name = s; - setUndefined(); - init(); } InsetCharStyle::InsetCharStyle(BufferParams const bp, -CharStyles::iterator cs) +InsetLayout il) : InsetCollapsable(bp, Collapsed) { - params_.name = cs-name; - setDefined(cs); - init(); + params_.name = il.name; + setLayout(il); } InsetCharStyle::InsetCharStyle(InsetCharStyle const in) : InsetCollapsable(in), params_(in.params_) -{ - init(); -} +{} auto_ptrInset InsetCharStyle::doClone() const @@ -86,27 +78,16 @@ bool InsetCharStyle::undefined() const { - return layout_.latexname.empty(); + return layout_.labelstring == from_utf8(UNDEFINED); } -void InsetCharStyle::setUndefined() +void InsetCharStyle::setLayout(InsetLayout il) { - layout_.latextype.clear(); - layout_.latexname.clear(); - layout_.latexparam.clear(); - layout_.font = Font(Font::ALL_INHERIT); - layout_.labelfont = Font(Font::ALL_INHERIT); - layout_.labelfont.setColor(Color::error); + layout_ = il; } -void InsetCharStyle::setDefined(CharStyles::iterator cs) -{ - layout_ = *cs; -} - - docstring const InsetCharStyle::editMessage() const { return _(Opened CharStyle Inset); @@ -135,16 +116,6 @@
Re: InsetCharStyle, Etc
Martin Vermeer wrote: On Fri, Aug 24, 2007 at 12:43:16PM -0400, Richard Heck wrote: Martin, Just a question about what else you've got planned here. Your last commit log said---and I appreciated it---that you now had the functionality of my old patch...though, I'll add, with a much better infrastructure. However, that isn't quite true, because my old patch allowed the Endnote inset to be collapsable as opposed to inline. Can we get that behavior at this point? or is this another step? No, that doesn't work yet. Do we need to have a parameter Geometry in the inset layout format? I suppose it's doable. That's close to what I had previously, though it should be easier to implement now. Richard -- == Richard G Heck, Jr Professor of Philosophy Brown University http://frege.brown.edu/heck/ == Get my public key from http://sks.keyserver.penguin.de Hash: 0x1DE91F1E66FFBDEC Learn how to sign your email using Thunderbird and GnuPG at: http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto
Re: [PATCH] Layout Modularity, Part II: The Backend
Richard Heck wrote: This is one of a series of patches that will merge the layout modules development in personal/branches/rgheck back into the tree. Some C++ comments: Please don't forget to put a trailing dot at the end of the short title for Doxygen comments. + enum ReadType { BASECLASS, MERGE, MODULE }; Some comments are in order. + bool isModular() { return modular_; }; + /// + bool isModular() const { return modular_; } The first one doesn't bring anything and I am surprised actually that it compiles at all (I guess this is because you don't use it yet). + /// need to reset this. + void markAsModular() { modular_ = true; } I'd prefer: void setModular(bool modular) { modular_ = modular; } + LFUN_MODULES_CLEAR, // rgh, 20070825 + LFUN_MODULE_ADD, // rgh, 20070825 Maybe LFUN_LAYOUT_MODULES_CLEAR/ADD to clarify the intent? +bool BufferParams::addLayoutModule(string modName, bool makeClass) { + LayoutModuleList::const_iterator it = layoutModules_.begin(); + for (; it != layoutModules_.end(); it++) { + if (*it == modName) + break; + } + if (it != layoutModules_.end()) + return false; + layoutModules_.push_back(modName); + if (makeClass) + makeTextClass(); + return true; +} end() is more important because it can be optimized: + LayoutModuleList::const_iterator it = layoutModules_.begin(); + LayoutModuleList::const_iterator end = layoutModules_.end(); + for (; it != end; it++) + if (*it == modName) + return false; + + layoutModules_.push_back(modName); + if (makeClass) + makeTextClass(); + return true; +} +bool BufferParams::addLayoutModules(std::vectorstringmodNames) +{ + bool retval = true; + std::vectorstring::const_iterator it = modNames.begin(); + for (; it != modNames.end(); ++it) Same comment for end(). + retval = addLayoutModule(*it, false); Shouldn't it be: + retval |= addLayoutModule(*it, false); otherwise retval doesn't mean much. In this case retval should be initialised to false. + makeTextClass(); + return retval; I guess I am missing some doxygen comments about the returned booleans. Index: lib/configure.py === --- lib/configure.py(revision 19769) +++ lib/configure.py(working copy) @@ -639,6 +639,9 @@ # for chkconfig.ltx p1 = re.compile(r'\Declare(LaTeX|DocBook)Class') testclasses = list() +#for file in glob.glob( os.path.join('layouts', '*.mod') ) + \ +#glob.glob( os.path.join(srcdir, 'layouts', '*.mod' ) ) : +# print file Don't comment out things, remove them if they are not needed. And if still needed add a FIXME to explain why these lines are commented. Hope this helps, Abdel.
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: On Fri, Aug 24, 2007 at 09:03:13AM +0200, Abdelrazak Younes wrote: Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Fixed. Great! Many thanks, Abdel. However, there seems to be some more glitches, still. When opening another document, the following is printed to the console: This is fixed now but... I suspect that solving these issues might also solve the missing close tab button problem. nope, the close button did not automagically appeared :-( Abdel.
Re: Lyx crashed after inserting, deleting and inserting float object
Alfredo Braunstein wrote: Alfredo Braunstein wrote: Ouch! Confirmed on WinXP too! Please fill-it in. What's the exact recipe? I cannot reproduce here (linux) Humm, I mean I cannot reproduce with trunk. Sorry for not being able to read. :-/ I am able to reproduce with trunk too: 1) Open a document 2) Click on the insert figure float button. 3) Move out of the float with the right arrow key 4) Backspace (the float is deleted) 5) Click again of the same button - BOOM! Abdel.
Re: Lyx crashed after inserting, deleting and inserting float object
Abdelrazak Younes wrote: Humm, I mean I cannot reproduce with trunk. Sorry for not being able to read. :-/ I am able to reproduce with trunk too: 1) Open a document 2) Click on the insert figure float button. Ah! That's the culprit. Strangely, it doesn't crash here if you use menus. Can you confirm? A/
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
On Fri, 24 Aug 2007, Abdelrazak Younes wrote: - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. [And I doubt your purse is big enough to qualify as _really good reason_ ;-}] Well, it's not like we are wasting an awful lot of resources here either. Up to now only Joost and Uwe are wasting their time in the competition. But I don't think their time would get automatically invested to core development if they agree (please correct me if I am wrong Joost and Uwe). Bo and Christian both tried to get involved and failed AFAIK. But I agree that this situation is utterly confusing for the end-users. I've spent quite a bit of time on (understanding) the installer code. However, I haven't given up yet, so I don't accept that we've failed. I decide to postpone that work until 1.5 was out and stable to avoid delaying the release by distractions. Uwe is also doing very good work on the documentation, so I'd _not_ want to distract him now. And the discussions that will be needed will be distracting. So, I've postponed that work to start this fall, but it's not forgotten nor abandonded by me. A fresh start, discussion wise, is needed to begin with but it'll have to wait for a month. /Christian -- Christian Ridderström, +46-8-768 39 44 http://www.md.kth.se/~chr
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
On Fri, 24 Aug 2007, Georg Baum wrote: Andre Poenitz wrote: On Fri, Aug 24, 2007 at 10:01:16AM +0200, Georg Baum wrote: - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. The windows installer problem is IMHO not a technical one, so no need to touch any installer code. I agree, the code isn't the real problem. /C -- Christian Ridderström, +46-8-768 39 44 http://www.md.kth.se/~chr
Re: Lyx crashed after inserting, deleting and inserting float object
On Sat, Aug 25, 2007 at 12:56:55AM +0200, Alfredo Braunstein wrote: Abdelrazak Younes wrote: Humm, I mean I cannot reproduce with trunk. Sorry for not being able to read. :-/ I am able to reproduce with trunk too: 1) Open a document 2) Click on the insert figure float button. Ah! That's the culprit. Strangely, it doesn't crash here if you use menus. Can you confirm? I don't see this. Trunk, either from toolbar or menu. - Martin
Grab configure.py output to a QT dialog?
Hi, Qt experts: Under windows, configure.py does not display anything unless you start lyx from a terminal. This can be very confusing, for example, when lyx starts for the first time, and freezes for 30 min to download and install miktex packages. I am thinking that: 1. run configure.py after lyx gets started 2. show a dialog with configure.py stdout output. The first one should not be very difficult, but I do not know QT well enough to do the second one. Some goggled piece says something like: Hook up a QSocketNotifier to your stdout. Then the QSocketNotifier emits a signal and you connect your slot to it. In your slot, you do a read on the QSocket to get your data and put it where ever you want. I have done something similar to this using QSocketDevice and QSocketNotifier connected to the stdout. It worked for me. Is this enough information for you? I guess we can add a 'showoutput' flag Systemcall that attachs the command stdout to QSocketNotifier, and use a very simple dialog to display the output. This is well beyond my QT knowledge but may be easy for you guys. Note that if QProcess already has something like this, we can use it to replace Systemcall. Cheers, Bo
Re: cmake needs update?
Bo Peng wrote: It can not provide a platform independent way of distributing lyx, There is no 'platform independent way of distribution'. Windows won't like .rpm, Ubuntu won't like .msi. I meant a uniform interface. I will be able to do 'scons rpm' under *nix, and 'scons msi' under windows. I do not know what cmake will do. It is likely to be 'cmake; cpack; rpmbuild'. More info about CPack here: http://www.cmake.org/Wiki/CMake:CPackPackageGenerators Losts of formats supported apparently, we just need Peter (or someone else) to use that. Abdel. TGZ Tar GZip compressed packages. [edit] STGZ Self extracting Tar GZip compressed packages (needs /bin/sh, tar, gunzip and tail for extracting). [edit] NSIS Nullsoft Installer. Requires NSIS for creating the package. [edit] ZIP ZIP compressed packages. Requires zip, WinZip or 7Zip for creating the package. [edit] TBZ2 Tar BZip2 compressed packages. Requires bzip2 for creating the package. [edit] TZ Tar UNIX compress compressed packages. [edit] PackageMaker (OSX only) Mac OSX Package Maker packages. Requires Package Maker for creating the package. [edit] OSXX11 (OSX only) Mac OSX X11 Bundle. Requires hdiutil for creating the package. [edit] CygwinBinary (Cygwin only) Tar Bzip2 compressed Cygwin package. Requires bzip2 for creating the package. [edit] CygwinSource (Cygwin only) Tar Bzip2 compressed Cygwin source package. Requires bzip2 for creating the package. [edit] DEB (UNIX only) Debian packages. Requires only ar for creating the package. In CMake cvs since July 2007, will be in 2.6.0. With CPack 2.4.x you can use the approach described in CMakeUserUseDebian . [edit] RPM RPM packages are currently not supported, but you should look at the RPM module.
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: On Wed, Aug 22, 2007 at 09:25:12AM +0200, Abdelrazak Younes wrote: Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Is this on windows? Yes. Does this happen on any document? When trying to load any _second_ document. Only happens with Qt 4.1, though. Could you please try to disable the pixmap cache in QLPainter.cpp? Doesn't change anything. Here is the backtrace (part of it, as it's exceptionally long): The backtrace is long because there is a recursive loop. #31 0x00985248 in lyx::frontend::GuiView::update_view_state_qt () Ah... this update_view_state_qt() again... This message display handling is mess! #32 0x0087ef89 in lyx::frontend::WorkArea::resizeBufferView () OK, should be easy to solve. Abdel.
Re: Build trouble
On Thu, Aug 23, 2007 at 11:18:47PM +0200, Enrico Forestieri wrote: > On Thu, Aug 23, 2007 at 11:53:35PM +0300, Martin Vermeer wrote: > > > On Thu, Aug 23, 2007 at 10:35:18PM +0200, Enrico Forestieri wrote: > > > On Thu, Aug 23, 2007 at 11:00:57PM +0300, Martin Vermeer wrote: ... > > > > Could swear that I had done that... second time around it bit ;-/ > > > > > > > > Update: At least in src/support. In src/frontends/controllers I still > > > > get makefile errors on MONOLITHIC_CONTROLLERS, and in qt4 on > > > > MONOLITHIC_FRONTEND_QT4. Even when trying a couple of times. Ah well. > > > > > > Try also reconfiguring explicitly. > > > > Did that already :-( > > Does the attached patch help? Not really... the above problem went away by itself (probably the moon rose). But now I am stuck with the following automake problem: -- Building Makefile templates... . src/support/Makefile.am:104: INSTALL_WINDOWS does not appear in AM_CONDITIONAL done. -- ... and Makefile.in is not created in src/support. Commenting out this Windows-specific stanza in src/support/Makefile.am makes the build succeed. If I don't, it always comes back (even when trying make clean) to the above error message. - Martin
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: Another problem: lyx allows opening multiple times the same file. Fixed. We could also offer the user a choice to revert to existing display or to create a new display for the same document. Opinions? Abdel.
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
Enrico Forestieri wrote: Here is another one for you. This happens with Qt 4.1. When loading a second document, lyx crashes as follows: Fixed. Abdel.
Re: [Patch] Inset configurability: separate charstyle and custom insets
I suppose attaching the patch would help. - Martin On Fri, Aug 24, 2007 at 12:31:16AM +0300, Martin Vermeer wrote: > Finally I got where Richard was many weeks ago... the custom inset 'endnote' > works! > > Or would, if I would have endnote.sty on my system. > > Finally I got where Richard was many weeks ago... the custom inset 'endnote' > works! > > Or would, if I would have endnote.sty on my system. > > What is now not elegant, is that the term 'charstyle' is being used for > two different things: 1) general user-definable insets, and 2) specific > oldfashioned charstyle-type insets (the alternative now being 'custom', > but there could be more: 'short element', e.g.) > > I think I'll have to rename 'charstyle-1' to something more appropriate > (suggestions?). That will be a big but near-trivial patch. > > - Martin > Index: src/MenuBackend.cpp === --- src/MenuBackend.cpp (revision 19756) +++ src/MenuBackend.cpp (working copy) @@ -218,6 +218,7 @@ md_documents, md_bookmarks, md_charstyles, + md_custom, md_endmenu, md_exportformats, md_importformats, @@ -240,6 +241,7 @@ { "bookmarks", md_bookmarks }, { "branches", md_branches }, { "charstyles", md_charstyles }, + { "custom", md_custom }, { "documents", md_documents }, { "end", md_endmenu }, { "exportformats", md_exportformats }, @@ -294,6 +296,10 @@ add(MenuItem(MenuItem::CharStyles)); break; + case md_custom: + add(MenuItem(MenuItem::Custom)); + break; + case md_documents: add(MenuItem(MenuItem::Documents)); break; @@ -613,7 +619,7 @@ } -void expandCharStyleInsert(Menu & tomenu, Buffer const * buf) +void expandCharStyleInsert(Menu & tomenu, Buffer const * buf, std::string s) { if (!buf) { tomenu.add(MenuItem(MenuItem::Command, @@ -627,8 +633,9 @@ CharStyles::iterator end = charstyles.end(); for (; cit != end; ++cit) { docstring const label = from_utf8(cit->name); - tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, label, -FuncRequest(LFUN_CHARSTYLE_INSERT, + if (cit->lyxtype == s) + tomenu.addWithStatusCheck(MenuItem(MenuItem::Command, +label, FuncRequest(LFUN_CHARSTYLE_INSERT, label))); } } @@ -877,9 +884,13 @@ break; case MenuItem::CharStyles: - expandCharStyleInsert(tomenu, buf); + expandCharStyleInsert(tomenu, buf, "charstyle"); break; + case MenuItem::Custom: + expandCharStyleInsert(tomenu, buf, "custom"); + break; + case MenuItem::FloatListInsert: expandFloatListInsert(tomenu, buf); break; Index: src/MenuBackend.h === --- src/MenuBackend.h (revision 19756) +++ src/MenuBackend.h (working copy) @@ -63,6 +63,9 @@ /** This is the list of elements available * for insertion into document. */ CharStyles, + /** This is the list of user-configurable + insets to insert into document */ + Custom, /** This is the list of floats that we can insert a list for. */ FloatListInsert, Index: src/TextClass.cpp === --- src/TextClass.cpp (revision 19756) +++ src/TextClass.cpp (working copy) @@ -698,7 +698,7 @@ insetlayoutlist_[name] = il; // test name for CS: - if (il.lyxtype == "charstyle") { + if (il.lyxtype == "charstyle" || il.lyxtype == "custom") { charstyles().push_back(il); } } Index: lib/ui/stdmenus.inc === --- lib/ui/stdmenus.inc (revision 19567) +++ lib/ui/stdmenus.inc (working copy) @@ -295,6 +295,7 @@ Submenu "Float|a" "insert_float" Submenu "Note|N" "insert_note" Submenu "Branch|B" "insert_branches" + Submenu "Custom insets" "insert_custom" Submenu "File|e" "insert_file" Item "Box" "box-insert Frameless" Separator @@ -404,6 +405,10 @@ Branches End + Menu "insert_custom" + Custom + End + # # DOCUMENT MENU # Index: lib/layouts/stdcustom.inc === --- lib/layouts/stdcustom.inc (revision 0) +++ lib/layouts/stdcustom.inc (revision 0) @@ -0,0 +1,19 @@ +# Textclass definition file for LaTeX. +# Author : Martin vermeer <[EMAIL PROTECTED]> +# Custom Inset layouts definition + +Format 5 + +InsetLayout Custom:Endnote + LyXType custom + LatexName endnote + LatexType command + Font + Size Small + EndFont + LabelString foot + Preamble + \usepackage{endnote} + EndPreamble +End +
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Andre Poenitz wrote: > On Thu, Aug 23, 2007 at 01:11:52PM +0200, Georg Baum wrote: >> You still don't get it. All your arguments including this one and that >> in your other mail are based on the assumption that there were only >> two alternatives: full support or removal from trunk. Under this >> premise I agree completely with the removal, but that is not what has >> been requested. >> >> There was a third alternative that would have solved almost all >> problems: Keep it in trunk (with no obligation of anyone to touch it), >> and let those who care do the work to keep it up to date. With that >> alternative all your arguments are moot. > > No. Because even without obligation most people still would have tried to > to put stuff in both frontends - even if they had no real interest in > the qt3 frontend - just because they try to be nice. Of course, because the person who did almost all of the interface changes (Abdel, I don't count the changes that were done by a script) complained every few days that he had to care for other frontends when he was still supposed to care, and he was really tired of caring. The most obvious reaction to declaring qt3 unsupported would of course have been "Oh nice, now that I don't have to care about this crap anymore that really annoyed me I will enjoy to do it voluntarily". Come on, this theory of eating resources is not impossible, but quite implausible. > And those resources would not have been available anymore for other > work. Do I really have to tell you that not wasted resources are not automatically available for something else? > 1.5 was the first release in a decade that had lots of new GUI stuff. > Releases form 0.10 on or so before 1.5 had much smaller GUI changes, > and that's not just changes for the sake of changes but as real > improvement. I am pretty sure some of this would not have happened if > multiple frontends had stayed around. Me too. Unfortunately you totally ignore the fact that none of the new stuff that happened after Denmark until 1.5.0 was supposed to happen, and the stuff that happened before happened _despite_ multiple frontends. >> That alternative would of course not have guaranteed that 1.5.0 would be >> released with qt3. Maybe it would indeed have been too much work to keep >> it up to date, and it would have been abandoned, but this would then have >> been the decision of _those who where doing the work_. > > You miss the point that we do not have unlimited resources. > > If qt3 lived on for a while and had been killed later even more > resources would have gone to the kitchen sink. And of course you are the one to decide who wastes his resources and for what, and other developers are not entitled to decide themselves whether they want to be "nice" and do silly stuff or not. If you are really serious with that: - Why did you not remove gtk at the same time as qt3? - Why did you not work towards one build system far earlier, and why did you create a fourth one? - Why don't you stop the windows installer nonsense? The two versions are wasting far more resouces than qt3 could have ever wasted, because there is no date in sight for the merging, and because far more people are involved. >> What happened instead is that _you_ dictated that those should stop or >> jump through some extra hoops. > > And you haven't been in Greve to prevent it... Can you please stop repeating this again and again? You know why I have not been there (for those who don't know: I'd really liked to be there, but I had a very good reason not to go that has nothing to do with LyX or LyX developers). I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). Only as a true team you can create a great product. This involves from time to time doing stuff that you don't like, but that must be done. If everybody is working on his pet projects only then the whole product will fall apart sooner or later. My impression (which may be wrong, because I did only skim the list from time to time) is that exactly that happens and a common goal does not exist. Georg
Re: [Updated PATCH] BufferView/WorkArea/LyXView reorg a.k.a Multiple WorkAreas
On Friday 24 August 2007 08:22:38 Abdelrazak Younes wrote: > Fixed. We could also offer the user a choice to revert to existing > display or to create a new display for the same document. > > Opinions? When in doubt do what emacs does: create a new display for the same document. > Abdel. -- José Abílio
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Georg Baum wrote: Of course, because the person who did almost all of the interface changes (Abdel, I don't count the changes that were done by a script) complained every few days that he had to care for other frontends when he was still supposed to care, and he was really tired of caring. I plead guilty :-) The most obvious reaction to declaring qt3 unsupported would of course have been "Oh nice, now that I don't have to care about this crap anymore that really annoyed me I will enjoy to do it voluntarily". It sure would have stopped me crying if the beast was just declared unsupported. Others maybe not... Do I really have to tell you that not wasted resources are not automatically available for something else? I am glad that you say that ;-) I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. Why that? The two subjects are unrelated AFAIS. And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). My opinion is that we already have a bunch of new features. So, we should do a bit more cleaning, implement context menu and cleanup some dialogs (spellchecker first of all); then soft freeze the trunk in a month or two. XML can wait for the next round IMHO because we obviously don't have enough people caring for now. Abdel.
Re: [patch for [Bug 1656] command "gnome-session-save" kills lyx!]
Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager & sm) +{ + /// The implementation is required to avoid an application exit + /// when session state save is triggered by session manager. + /// The default implementation sends a close event to all + /// visible top level widgets when session managment allows + /// interaction. + /// We are changeing that to write all unsaved buffers... + if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the "if (sm.allowsInteraction()) {" style? Stephan
Re: ftp.lyx.org not accessible.
Bo Peng Thu, 23 Aug 2007 22:56:42 -0700 anyone else see this? Bo Yes, attempting to download ftp://ftp.lyx.org/pub/lyx/bin/1.5.1/ LyX-1.5.1-1-Installer.exe from the wiki fails. Anders
Re: [patch for [Bug 1656] command "gnome-session-save" kills lyx!]
Stephan Witt wrote: Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager & sm) +{ +/// The implementation is required to avoid an application exit +/// when session state save is triggered by session manager. +/// The default implementation sends a close event to all +/// visible top level widgets when session managment allows +/// interaction. +/// We are changeing that to write all unsaved buffers... +if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the "if (sm.allowsInteraction()) {" style? Yes, that's what he meant. I'll go even further ;-) if (sm.allowsInteraction() && !theBufferList().quitWriteAll()) sm.cancel(); I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. Abdel.
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Abdelrazak Younes wrote: > Georg Baum wrote: >> I have learned my lesson. If I will fix a bug in my branch I will no more >> bring it to lyx-devel, since it only results in frustration. > > Why that? The two subjects are unrelated AFAIS. No. This thread would not exist if I had not tried to put a mathed fix in trunk. Me complaining about a compile error with qt 4.2.1 then lead to a quick fix by Richard, a discussion about the minimum required qt version and people trying to rewrite history. >> And the rest of you should better get a consensus on the goals for 1.6 >> rather soon and then stick to that (even those who do not fully support >> each goal). > > My opinion is that we already have a bunch of new features. So, we > should do a bit more cleaning, implement context menu and cleanup some > dialogs (spellchecker first of all); then soft freeze the trunk in a > month or two. XML can wait for the next round IMHO because we obviously > don't have enough people caring for now. You see? I doubt that this opinion is consensus. Georg
Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
Georg Baum wrote: Abdelrazak Younes wrote: Georg Baum wrote: I have learned my lesson. If I will fix a bug in my branch I will no more bring it to lyx-devel, since it only results in frustration. Why that? The two subjects are unrelated AFAIS. No. This thread would not exist if I had not tried to put a mathed fix in trunk. Me complaining about a compile error with qt 4.2.1 then lead to a quick fix by Richard, a discussion about the minimum required qt version and people trying to rewrite history. I see... difficult to follow :-) And the rest of you should better get a consensus on the goals for 1.6 rather soon and then stick to that (even those who do not fully support each goal). My opinion is that we already have a bunch of new features. So, we should do a bit more cleaning, implement context menu and cleanup some dialogs (spellchecker first of all); then soft freeze the trunk in a month or two. XML can wait for the next round IMHO because we obviously don't have enough people caring for now. You see? I doubt that this opinion is consensus. Well, we need to express opinions to reach consensus, don't we? I know that my opinions are in general not shared with old devs but this is my opinion :-) I want more frequent releases, this is the only way IMHO to avoid big destabilization of the tree. If the XML branch is ready for writing _and_ reading, then we should switch now and not wait for another six months. If it is not ready, then I think the time frame for inclusion is already passed. Abdel.
An issue about wrong PDF page size, and the hack I used to solve it
After updating to 1.5.0/1 from 1.4.4, I had this same issue: http://www.mail-archive.com/[EMAIL PROTECTED]/msg55698.html which persisted even after upgrading ImageMagick to the latest version. In the end, I solved this problem by editing the file: /Applications/LyX-151.app/Contents/Resources/scripts/convertDefault.py and changing this line: defopt = "-define pdf:use-cropbox=true" to defopt = " " Hope this helps someone; my pdf images were created using pdfeTeX 3.141592-1.21a-2.2 (Web2C 7.5.4) on Mac OS X. I have put one such image at this address: http://www.dis.uniroma1.it/~acensi/pri/lyx.pdf By the way, it seems that convertDefault.py does not use the PATH that I set in the preferences dialog. Or it is set via an environment variable? -- Andrea Censi "Life is too important to be taken seriously" (Oscar Wilde) Web: http://www.dis.uniroma1.it/~censi
Re: Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
Abdelrazak Younes wrote: > Well, we need to express opinions to reach consensus, don't we? Of course. I simply think that this consensus is still quite a bit away. Georg
Vertical space in a table cell gives latex errors
I have a table with a tall row, because one cell is fixed-width with multiple lines. In another cell I wanted to place a single symbol, preferably centered vertically. I tried changing the column's vertical adjustment, but this had no effect whatsoever. So I tried forcing my way with insert->vertical space before and after the symbol. Latex puked on this. Perhaps \vfill in a cell isn't supported by latex - then LyX ought to disable the insertion as well. Helge Hafting
Re: cmake needs update?
On Fri, Aug 24, 2007 at 07:53:48AM +0200, Abdelrazak Younes wrote: > Andre Poenitz wrote: > >On Thu, Aug 23, 2007 at 10:19:28PM +0200, Joost Verburg wrote: > >>[EMAIL PROTECTED] wrote: > While cmake can create MSVC projects, the current implementation does > not handle all the dependencies like scons does. For example, the > thesaurus is not supported. To create Windows releases, scons in the > only option right now. > >>>Umm... sorry if I've asked this before, but I thought the installer > >>>could use a Windows executable of LyX that's been created with any build > >>>system on Windows? > >>Sure. If cmake is able to generate an executable linked to all > >>dependencies, I can use it instead. Currently only scons can do that. > > > >How does an executable look like that's not linked to its dependencies? > >[No joke, I really want to grasp the difference between cmake and scons] > > There's no difference, it's just that Thesaurus is not look for by _our_ > CMake system, that's all. In effect, this means that the thesaurus is > disabled for CMake builds. Ah.. got it now. Andre'
Re: [patch for [Bug 1656] command "gnome-session-save" kills lyx!]
Abdelrazak Younes schrieb: Stephan Witt wrote: Andre Poenitz schrieb: On Tue, Aug 21, 2007 at 10:31:57AM +0200, Stephan Witt wrote: // X11 specific stuff goes here... #ifdef Q_WS_X11 + +void GuiApplication::commitData(QSessionManager & sm) +{ +/// The implementation is required to avoid an application exit +/// when session state save is triggered by session manager. +/// The default implementation sends a close event to all +/// visible top level widgets when session managment allows +/// interaction. +/// We are changeing that to write all unsaved buffers... +if ( sm.allowsInteraction() ) { + if ( !theBufferList().quitWriteAll() ) { Spacing. Thanks. Very clear. Did you try it? I'll provide a modified patch when there is a need for. Do you want the "if (sm.allowsInteraction()) {" style? Yes, that's what he meant. I'll go even further ;-) if (sm.allowsInteraction() && !theBufferList().quitWriteAll()) sm.cancel(); I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. I tested this patch with Qt 4.1.2 and it is working without drawbacks. AFAIK older Qt versions are not supported anymore were I had problems with the popping up of the dialog asking the user to confirm the file save operation. So two years ago the patch did not work (with Qt 3.x). I cannot tell anything about the behaviour on Windows. Do you need a new patch from me or will you change it yourself? I'm online next week again. Thanks, Stephan
Lyx problems in importing txt2tags .tex files
Hello, I already submitted this question to the user's mailing list, but the lack of feed back made me realize that this is probably more appropriate for the developer's mailing list. So here it goes: I'm using txt2tags 2.3 for windows, and LyX 1.5 on a WinXP txt2tags (http://txt2tags.sourceforge.net/) is a python script that can output .tex files. I would like to produce files with the txt2tags markup and further refine them on LyX. However I have a problem importing the .tex files produced by txt2tags into LyX. The title and author field are missing in the .lyx file, replaced by a "clear page" mention. The final .dvi lacks those fields entirely. Here follows a txt2tags xp1.tex file: ## \documentclass[11pt,a4paper]{article} \usepackage{amsfonts,graphicx} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} \pagestyle{plain} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \begin{document} \maketitle \clearpage This is standard text \section*{this is a section*} This is more text % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) % cmdline: txt2tags -t tex G:/MPI/xp1.t2t \end{document} ## And here is the corresponding xp1.lyx file: ## #LyX file created by tex2lyx 0.1.2 \lyxformat 245 \begin_document \begin_header \textclass article \begin_preamble \usepackage{amsfonts} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \end_preamble \options a4paper \language english \inputencoding latin1 \fontscheme default \graphics default \paperfontsize 11 \spacing single \papersize default \use_geometry false \use_amsmath 0 \cite_engine basic \use_bibtopic false \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle plain \tracking_changes false \output_changes false \end_header \begin_body \begin_layout Standard \clearpage \end_layout \begin_layout Standard This is standard text \end_layout \begin_layout Section* this is a section* \end_layout \begin_layout Standard This is more text \end_layout \begin_layout Standard \begin_inset ERT status collapsed \begin_layout Standard % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) \end_layout \begin_layout Standard \end_layout \end_inset \begin_inset ERT status collapsed \begin_layout Standard % cmdline: txt2tags -t tex G:/MPI/xp1.t2t \end_layout \begin_layout Standard \end_layout \end_inset \end_layout \end_body \end_document ## Now, if I insert a date in the txt2tags file, the resulting LyX file still does not display title and author, but shows the date followed by the "clear page" mention. But the .dvi document shows indeed the title, author and date, in a preceding page. Here are the files: xp2.tex ## \documentclass[11pt,a4paper]{article} \usepackage{amsfonts,graphicx} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} \pagestyle{plain} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \begin{document} \date{23.08.2007} \maketitle \clearpage This is standard text \section*{this is a section*} This is more text % LaTeX2e code generated by txt2tags 2.3 (http://txt2tags.sf.net) % cmdline: txt2tags -t tex G:/MPI/xp2.t2t \end{document} ## and resulting xp2.lyx ## #LyX 1.5.1 created this file. For more info see http://www.lyx.org/ \lyxformat 276 \begin_document \begin_header \textclass article \begin_preamble \usepackage{amsfonts} \usepackage[pdfstartview=FitH,urlcolor=blue,colorlinks=true,bookmarks=true]{hyperref} % do page numbering ('empty' turns off) \frenchspacing % no aditional spaces after periods \setlength{\parskip}{8pt}\parindent=0pt % no paragraph indentation \title{This is a title} \author{I'm the author} \end_preamble \options a4paper \language english \inputencoding latin1 \font_roman default \font_sans default \font_typewriter default \font_default_family default \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \paperfontsize 11 \spacing single \papersize default \use_geometry false \use_amsmath 0 \use_esint 0 \cite_engine basic \use_bibtopic false
Re: Build trouble
On Fri, Aug 24, 2007 at 10:17:29AM +0300, Martin Vermeer wrote: > Commenting out this Windows-specific stanza in src/support/Makefile.am makes > the build succeed. If I don't, it always comes back (even when trying > make clean) to the above error message. It won't come back after Monday (or maybe Sunday evening). I'll remove that Windows specific build part with my next commit. Andre'
Re: [patch for [Bug 1656] command "gnome-session-save" kills lyx!]
Stephan Witt wrote: Abdelrazak Younes schrieb: I am OK with the patch but I would like to know first if there are any drawbacks, I am not on X11. I tested this patch with Qt 4.1.2 and it is working without drawbacks. AFAIK older Qt versions are not supported anymore were I had problems with the popping up of the dialog asking the user to confirm the file save operation. So two years ago the patch did not work (with Qt 3.x). OK, thanks for the clarification. I cannot tell anything about the behaviour on Windows. I'll try without the #ifdef to test it out. Do you need a new patch from me or will you change it yourself? No, that's fine, I'll do it. Any objection to this patch? Jose, do you want it for 1.5? Abdel.
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
On Fri, Aug 24, 2007 at 10:01:16AM +0200, Georg Baum wrote: > > And those resources would not have been available anymore for other > > work. > > Do I really have to tell you that not wasted resources are not automatically > available for something else? No. I know that's not always the case. > [...] > And of course you are the one to decide who wastes his resources and for > what, and other developers are not entitled to decide themselves whether > they want to be "nice" and do silly stuff or not. If you are really serious > with that: > > - Why did you not remove gtk at the same time as qt3? One reason was that qt4 was supposed to be complete replacement to qt3 and I never really tested Gtk, so I was not sure I was not missing something important. Another (and probably more important) reason was that the Gtk frontend did not attract core developers, so it did not eat the kind of resources I was concerned about. > - Why did you not work towards one build system far earlier, Because I did not to too much work on LyX in the last few years so the build system creep did not really hit me. Apart from that, bot cmake and scons are more or less invisible if they are not used, and both Peter and Bo never complained when their respective toy was broken by someone. The current activity is mainly triggered by my feeling that LyX building is so slow that it hampers development. I know for sure that each time _I_ tried to do some 'real' LyX work in the last few years I got distracted by build issues quicker than the work itself was ripe. > and why did you create a fourth one? One reason is that I do not want a to start a shoot-out before all potential contender had a chance to show their nice sides. A second reason is that qmake has two abilities than none of the other three systems have: It knows about Qt, so no special code for .ui or such needed, and it has _real_ MSVS integration including project management, integrated help, designer and so on based on .pro files as primary source of information. It was also the easiest way for me to produce dynamic libraries which I needed to test my hypothesis that using static liking is part of the current build slowness. Also, the final solution in the build system arena might as well be some hybrid solution as e.g. using autoconf for the actual configuration and using the fastest 'build backend'. > - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. [And I doubt your purse is big enough to qualify as "_really good reason_" ;-}] > The two versions are wasting far more resouces than qt3 could have > ever wasted, because there is no date in sight for the merging, and > because far more people are involved. You may be right. I ignored that battle so far. Would you think it helped if I just threw a dice and removed one of them [I am rather more than less serious here]? > And the rest of you should better get a consensus on the goals for 1.6 > rather soon and then stick to that (even those who do not fully > support each goal). We started a list, didn't we. What does it look like now? Andre'
Re: [patch for [Bug 1656] command "gnome-session-save" kills lyx!]
On Fri, Aug 24, 2007 at 10:43:09AM +0200, Stephan Witt wrote: > I'll provide a modified patch when there is a need for. > Do you want the "if (sm.allowsInteraction()) {" style? Yes. Even if it's not everyones favourite it is very beneficial to have a uniform style to be able to do certain kinds of refactoring or searches scriptable. Andre'
Re: Release Plan (was Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui)
On Fri, Aug 24, 2007 at 12:11:49PM +0200, Abdelrazak Younes wrote: > Well, we need to express opinions to reach consensus, don't we? I know > that my opinions are in general not shared with old devs but this is my > opinion :-) > I want more frequent releases, this is the only way IMHO to avoid big > destabilization of the tree. If the XML branch is ready for writing > _and_ reading, then we should switch now and not wait for another six > months. If it is not ready, then I think the time frame for inclusion is > already passed. You may actually have point here. Andre'
Re: r19659 - /lyx-devel/trunk/src/frontends/qt4/ui/CitationUi.ui
Andre Poenitz wrote: A second reason is that qmake has two abilities than none of the other three systems have: It knows about Qt, so no special code for .ui or such needed, and it has _real_ MSVS integration including project management, integrated help, designer and so on based on .pro files as primary source of information. Are you sure that those feature are available in the open source version of Qt? Don't tell your boss but we are not using the official version of Qt but a patched version in order to compile with MSVC. Also, the final solution in the build system arena might as well be some hybrid solution as e.g. using autoconf for the actual configuration and using the fastest 'build backend'. I'd be OK personally with an autoconf/QMake provided that we make sure that the MSYS autoconf works well in this case. - Why don't you stop the windows installer nonsense? Because I already wasted half a year of my lifetime on Windows installers and I won't touch them even with a three yard pole unless there was a _really good reason_. [And I doubt your purse is big enough to qualify as "_really good reason_" ;-}] Well, it's not like we are wasting an awful lot of resources here either. Up to now only Joost and Uwe are wasting their time in the competition. But I don't think their time would get automatically invested to core development if they agree (please correct me if I am wrong Joost and Uwe). Bo and Christian both tried to get involved and failed AFAIK. But I agree that this situation is utterly confusing for the end-users. Abdel.