mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +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-lytex2bitmap.py
|
||||||
lyxpreview-platex2bitmap.py
|
lyxpreview-platex2bitmap.py
|
||||||
lyxpreview_tools.py
|
lyxpreview_tools.py
|
||||||
|
lyxstangle.R
|
||||||
lyxsweave.R
|
lyxsweave.R
|
||||||
prefs2prefs.py
|
prefs2prefs.py
|
||||||
prefs2prefs_lfuns.py
|
prefs2prefs_lfuns.py
|
||||||
|
@ -1484,6 +1484,7 @@ dist_layouts_DATA =\
|
|||||||
scriptsdir = $(pkgdatadir)/scripts
|
scriptsdir = $(pkgdatadir)/scripts
|
||||||
dist_scripts_DATA = \
|
dist_scripts_DATA = \
|
||||||
scripts/bash_completion \
|
scripts/bash_completion \
|
||||||
|
scripts/lyxstangle.R \
|
||||||
scripts/lyxsweave.R
|
scripts/lyxsweave.R
|
||||||
# Note that we "chmod 755" manually these files in install-data-hook.
|
# Note that we "chmod 755" manually these files in install-data-hook.
|
||||||
dist_scripts_PYTHON = \
|
dist_scripts_PYTHON = \
|
||||||
|
@ -513,6 +513,7 @@ def checkFormatEntries(dtl_tools):
|
|||||||
\Format platex tex "LaTeX (pLaTeX)" "" "" "%%" "document,menu=export"
|
\Format platex tex "LaTeX (pLaTeX)" "" "" "%%" "document,menu=export"
|
||||||
\Format literate nw NoWeb N "" "%%" "document,menu=export"
|
\Format literate nw NoWeb N "" "%%" "document,menu=export"
|
||||||
\Format sweave Rnw "Sweave" S "" "%%" "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 ly "LilyPond music" "" "" "%%" "vector"
|
||||||
\Format lilypond-book lytex "LilyPond book (LaTeX)" "" "" "%%" "document,menu=export"
|
\Format lilypond-book lytex "LilyPond book (LaTeX)" "" "" "%%" "document,menu=export"
|
||||||
\Format latex tex "LaTeX (plain)" L "" "%%" "document,menu=export"
|
\Format latex tex "LaTeX (plain)" L "" "%%" "document,menu=export"
|
||||||
@ -612,21 +613,13 @@ def checkConverterEntries():
|
|||||||
|
|
||||||
checkLuatex()
|
checkLuatex()
|
||||||
|
|
||||||
''' If we're running LyX in-place then tex2lyx will be found in
|
# First search for tex2lyx with version suffix (bug 6986). If nothing
|
||||||
../src/tex2lyx. Add this directory to the PATH temporarily and
|
# has been found, use 'tex2lyx' which is present in the build tree
|
||||||
search for tex2lyx.
|
# when running in place.
|
||||||
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)
|
|
||||||
checkProg('a LaTeX/Noweb -> LyX converter', ['tex2lyx' + version_suffix, 'tex2lyx'],
|
checkProg('a LaTeX/Noweb -> LyX converter', ['tex2lyx' + version_suffix, 'tex2lyx'],
|
||||||
rc_entry = [r'''\converter latex lyx "%% -f $$i $$o" ""
|
rc_entry = [r'''\converter latex lyx "%% -f $$i $$o" ""
|
||||||
\converter literate lyx "%% -n -f $$i $$o" ""'''])
|
\converter literate lyx "%% -n -f $$i $$o" ""'''],
|
||||||
|
not_found = 'tex2lyx')
|
||||||
os.environ["PATH"] = path_orig
|
|
||||||
|
|
||||||
#
|
#
|
||||||
checkProg('a Noweb -> LaTeX converter', ['noweave -delay -index $$i > $$o'],
|
checkProg('a Noweb -> LaTeX converter', ['noweave -delay -index $$i > $$o'],
|
||||||
@ -639,6 +632,9 @@ def checkConverterEntries():
|
|||||||
\converter sweave xetex "%%" ""
|
\converter sweave xetex "%%" ""
|
||||||
\converter sweave luatex "%%" ""'''])
|
\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', \
|
checkProg('an HTML -> LaTeX converter', ['html2latex $$i', 'gnuhtml2latex $$i', \
|
||||||
'htmltolatex -input $$i -output $$o', 'java -jar htmltolatex.jar -input $$i -output $$o'],
|
'htmltolatex -input $$i -output $$o', 'java -jar htmltolatex.jar -input $$i -output $$o'],
|
||||||
rc_entry = [ r'\converter html latex "%%" ""' ])
|
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