[LyX/master] When pasting as LaTeX, honor textclass and modules

Kornel Benko kornel at lyx.org
Fri Oct 21 13:51:44 UTC 2022


Am Mon, 17 Oct 2022 10:10:48 -0400
schrieb Scott Kostyshak <skostysh at lyx.org>:

> On Mon, Oct 17, 2022 at 01:34:21PM +0200, Kornel Benko wrote:
> > Am Sun, 16 Oct 2022 15:53:05 +0200
> > schrieb Kornel Benko <kornel at lyx.org>:
> >   
> > > Am Fri, 14 Oct 2022 23:02:47 -0400
> > > schrieb Scott Kostyshak <skostysh at lyx.org>:
> > >   
> > > > On Mon, Jul 18, 2022 at 11:44:05PM +0200, Jean-Marc Lasgouttes wrote:    
> > > > > commit 96e7fcd4e0c600c3dd99e901ff84ff1480167cf8
> > > > > Author: Jean-Marc Lasgouttes <lasgouttes at lyx.org>
> > > > > Date:   Mon Jul 18 00:50:33 2022 +0200
> > > > > 
> > > > >     When pasting as LaTeX, honor textclass and modules
> > > > >     
> > > > >     There are several small parts that are needed here:
> > > > >     
> > > > >     * Implement LayoutModuleList::asString() that returns a comma-separated
> > > > >       list of modules.
> > > > >     
> > > > >     * in Converter::convert(), handle the new tokens $$c for the current
> > > > >       textclass and $$m for the list of modules.
> > > > >     
> > > > >     * in Buffer::importFile(), pass the current buffer as parameter instead
> > > > >       of nullptr.
> > > > >     
> > > > >     * in pasteClipboardText(), copy the parameters of the current buffer to
> > > > >       the internal one used for importation, so that the textclass and
> > > > >       modules information is available to convert().
> > > > >     
> > > > >     * finally, modify configure.py to pass "-c $$c -m $$m" to tex2lyx for
> > > > >       the latexclipoard->lyx converter.
> > > > >     
> > > > >     Fixes bug #11312.
> > > > > ---      
> > > > 
> > > > Starting with this commit, "Paste from LaTeX" no longer seems to work
> > > > for me. I get the following in the terminal:
> > > > 
> > > >   Creating file /tmp/lyx_tmpdir.sJMMXUAnpRwt/Buffer_importStringMMGtph.lyx
> > > >   Cannot read layout file `'.
> > > >   Error: Could not load module "-f".
> > > >   support/Systemcall.cpp (306): Systemcall: 'tex2lyx -fixedenc utf8 -c "article"
> > > > -m "" -f "Buffer_importStringMMGtph.tex" "Buffer_importStringMMGtph.lyx"'
> > > > finished with exit code 1 Error: Cannot convert file
> > > > ---------------------------------------- An error occurred while running:
> > > >   tex2lyx -fixedenc utf8 -c "article" -m "" -f "Buffer_importStringMMGtph.tex"
> > > >   "Buffer_importStringMMGtph.lyx"
> > > > 
> > > > Scott    
> > > 
> > > The placeholder $$m may be empty, but the parameter '-m' still requires a value.
> > > Maybe this patch helps?
> > > BTW, I was unable to 'Paste from LaTeX' to a new document. (Missing this dialog
> > > entry in Edit->Paste Special)  
> > 
> > With a clipboard I get this dialog now. And have a working workaround.
> > If no modules are present, so using the fixme module to feed the tex2lyx with does the
> > job.
> > 
> > We may need either
> > 1.) a dummy module
> > or
> > 2.) correct tex2lyx to accept "" as module-list  
> 
> Thanks for taking a look, Kornel. I have no idea what the best approach
> is. Let me know if I should test.
> 
> Scott

The easiest way I can see is really to allow for empty module list in tex2lyx.cpp.
This works for me. Maybe Jean-Marc has better idea?
Testing it is always good :)

	Kornel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tex2lyx.cpp.patch
Type: text/x-patch
Size: 581 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20221021/a547d417/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: Digitale Signatur von OpenPGP
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20221021/a547d417/attachment.asc>


More information about the lyx-devel mailing list