mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-24 21:55:29 +00:00
Add possibility to export the R code from a sweave-enabled document
(patch from yihui, part of #7555) http://www.lyx.org/trac/ticket/7555#comment:18 This adds the new format "R/S code" with extension .R and a converter from .Rnw. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@39509 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
1a0b35288d
commit
7fc83acb5e
@ -3015,6 +3015,7 @@ lib_scripts_files = Split('''
|
||||
lyxpreview-lytex2bitmap.py
|
||||
lyxpreview-platex2bitmap.py
|
||||
lyxpreview_tools.py
|
||||
lyxstangle.R
|
||||
lyxsweave.R
|
||||
prefs2prefs.py
|
||||
prefs2prefs_lfuns.py
|
||||
|
@ -1484,6 +1484,7 @@ dist_layouts_DATA =\
|
||||
scriptsdir = $(pkgdatadir)/scripts
|
||||
dist_scripts_DATA = \
|
||||
scripts/bash_completion \
|
||||
scripts/lyxstangle.R \
|
||||
scripts/lyxsweave.R
|
||||
# Note that we "chmod 755" manually these files in install-data-hook.
|
||||
dist_scripts_PYTHON = \
|
||||
|
@ -513,6 +513,7 @@ def checkFormatEntries(dtl_tools):
|
||||
\Format platex tex "LaTeX (pLaTeX)" "" "" "%%" "document,menu=export"
|
||||
\Format literate nw NoWeb N "" "%%" "document,menu=export"
|
||||
\Format sweave Rnw "Sweave" S "" "%%" "document,menu=export"
|
||||
\Format r R "R/S code" "" "" "%%" "document,menu=export"
|
||||
\Format lilypond ly "LilyPond music" "" "" "%%" "vector"
|
||||
\Format lilypond-book lytex "LilyPond book (LaTeX)" "" "" "%%" "document,menu=export"
|
||||
\Format latex tex "LaTeX (plain)" L "" "%%" "document,menu=export"
|
||||
@ -612,21 +613,13 @@ def checkConverterEntries():
|
||||
|
||||
checkLuatex()
|
||||
|
||||
''' If we're running LyX in-place then tex2lyx will be found in
|
||||
../src/tex2lyx. Add this directory to the PATH temporarily and
|
||||
search for tex2lyx.
|
||||
Use PATH to avoid any problems with paths-with-spaces.
|
||||
'''
|
||||
path_orig = os.environ["PATH"]
|
||||
os.environ["PATH"] = os.path.join('..', 'src', 'tex2lyx') + \
|
||||
os.pathsep + path_orig
|
||||
|
||||
# First search for tex2lyx with version suffix (bug 6986)
|
||||
# First search for tex2lyx with version suffix (bug 6986). If nothing
|
||||
# has been found, use 'tex2lyx' which is present in the build tree
|
||||
# when running in place.
|
||||
checkProg('a LaTeX/Noweb -> LyX converter', ['tex2lyx' + version_suffix, 'tex2lyx'],
|
||||
rc_entry = [r'''\converter latex lyx "%% -f $$i $$o" ""
|
||||
\converter literate lyx "%% -n -f $$i $$o" ""'''])
|
||||
|
||||
os.environ["PATH"] = path_orig
|
||||
\converter literate lyx "%% -n -f $$i $$o" ""'''],
|
||||
not_found = 'tex2lyx')
|
||||
|
||||
#
|
||||
checkProg('a Noweb -> LaTeX converter', ['noweave -delay -index $$i > $$o'],
|
||||
@ -639,6 +632,9 @@ def checkConverterEntries():
|
||||
\converter sweave xetex "%%" ""
|
||||
\converter sweave luatex "%%" ""'''])
|
||||
#
|
||||
checkProg('a Sweave -> R/S code converter', ['Rscript --verbose --no-save --no-restore $$s/scripts/lyxstangle.R $$i $$e $$r'],
|
||||
rc_entry = [ r'\converter sweave r "%%" ""' ])
|
||||
#
|
||||
checkProg('an HTML -> LaTeX converter', ['html2latex $$i', 'gnuhtml2latex $$i', \
|
||||
'htmltolatex -input $$i -output $$o', 'java -jar htmltolatex.jar -input $$i -output $$o'],
|
||||
rc_entry = [ r'\converter html latex "%%" ""' ])
|
||||
|
16
lib/scripts/lyxstangle.R
Normal file
16
lib/scripts/lyxstangle.R
Normal file
@ -0,0 +1,16 @@
|
||||
## file lyxstangle.R
|
||||
## This file is part of LyX, the document processor.
|
||||
## Licence details can be found in the file COPYING.
|
||||
|
||||
## author Yihui Xie
|
||||
|
||||
## Full author contact details are available in file CREDITS
|
||||
|
||||
## Rscript $$s/scripts/lyxstangle.R $$i $$e $$r
|
||||
|
||||
.cmdargs = commandArgs(TRUE)
|
||||
|
||||
options(encoding = .cmdargs[2])
|
||||
|
||||
## run Stangle to extract R code
|
||||
Stangle(.cmdargs[1])
|
Loading…
Reference in New Issue
Block a user