My R Markdown(.Rmd)文件如下所示:
---
title: Foo
author: Marius Hofert
header-includes:
    - \usepackage{bm}
output:
    pdf_document
vignette: >
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteIndexEntry{Foo}
---
\[
\begin{align}
   \bm{U}=a\bm{X}\quad\boldmath{U}=a\boldmath{X}\quad\mathbf{U}=a\mathbf{X}.
\end{align}
\]
输出(通过R CMD build和查看获得./inst/doc/*.html)是这样的:
为了获得斜体粗体矢量,我想\bm{X}在我的.Rmd文档中使用,但它失败了(虽然我加载了包bm).为什么?没有这output: pdf_document部分也会发生同样的事情
UPDATE
如果我在跑
---
title: Foo
author: Marius Hofert
header-includes:
    - \usepackage{bm}
output:
    pdf_document
vignette: >
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteIndexEntry{Foo}
---
\[
\begin{align}
   \bm{U}=a\bm{X}\quad\boldmath{U}=a\boldmath{X}\quad\mathbf{U}=a\mathbf{X}.
\end{align}
\]
\[
   \bm{U}=a\bm{X}\quad\boldmath{U}=a\boldmath{X}\quad\mathbf{U}=a\mathbf{X}.
\]
\begin{align}
   \bm{U}=a\bm{X}\quad\boldmath{U}=a\boldmath{X}\quad\mathbf{U}=a\mathbf{X}.
\end{align}
我得到了(没有错误)
在Mac OS上我可以使用终端,写"cd",然后将文件夹从Finder拖放到终端.然后我获得类似"cd/Users/..."的东西,这允许我快速更改到相应的目录.如果我打开带有Mx shell的emacs shell并将文件夹拖放到它,emacs会以dired模式更改并显示我删除的文件夹的内容.如何"退出"或"退出"直接模式并获取一个目录更改为我删除的文件夹的shell?这会给我一些类似上面的东西,这将是非常有用的.
我想在下面的ggplot中调整线型.因此,我在data.frame df中引入另一列来表示线型,但是一旦我将其转换为因子,线型而不是"方法"出现在图例中...(参见试验3).
我怎样才能在传奇中获得"方法"?最后我希望能够
以下是我的尝试:
require(ggplot2)
set.seed(1)
df <- data.frame(x=c(1:4, 2:5),
                 method=rep(c("a", "b"), each=4),
                 lt=rep(c(5,3), each=4),
                 value=rep(c(0,1), each=4)+runif(8))
## trial 1:
ggplot(df, aes(x=x, y=value)) + 
   geom_point() + 
   geom_line(aes(group=method, linetype=method)) 
# fine, but not the linetypes I would like to have
## trial 2:
ggplot(df, aes(x=x, y=value)) + 
   geom_point() + 
   geom_line(aes(group=method, linetype=lt)) 
# correct linetypes, but no legend
## trial 3:
ggplot(df, aes(x=x, y=value)) + 
   geom_point() + 
   geom_line(aes(group=method, linetype=as.factor(lt))) 
# legend, but not the correct one (I would like …我是Mac OS X上一个快乐的Emacs用户,差不多一年了.问题是我几次遇到几乎随机的Emacs崩溃.我的设置是:
GNU Emacs 24.0.95.1(x86_64-apple-darwin,NS apple-appkit-1038.36)[ 在Mac OS X上安装为来自http://emacsformacosx.com/builds的 Emacs-pretest-24.0.95-universal-10.6.8 ] 10.7.3.(Emacs 24的原因是因为Gnus的最新功能).
主要问题当然是我无法找到Emacs崩溃的原因.当我在org-mode中捕获一个新事件时,它有时会崩溃,今天当我按照拖放操作在Gnus中添加一个打开的电子邮件的附件时崩溃 - 这两个任务我经常没有问题.我找到的唯一提示是http://www.quora.com/How-can-I-find-the-cause-of-an-Emacs-crash-on-OS-X所以看起来我并不孤单.
假设Emacs崩溃了,我重新打开它.如果我双击Finder中的文件(在Emacs中打开),则文件无法打开.我宁愿得到一个缓冲区,显示我之前在某个时间点加载的文件.如果我再次双击Finder中的文件,则会打开它.我必须为我想要打开的每个新文件执行此操作.简单的解决方案是在崩溃后我打开Emacs,正常关闭它,然后再打开它.然后运行正常 - 直到下一次崩溃:-)
我知道这太过模糊而且无法提问(?),但我想知道这是否是特定于我的设置的问题,特定于Mac或Emacs 24.因此,如果有人遇到类似的崩溃,那么很高兴知道.两个linux的人告诉我他们每个月都会遇到一次崩溃,所以我猜还有改进的余地:-)
我想dired-mode通过使用打印P.这适用于我通过设置的默认打印命令lpr-switches,但我经常要编辑命令.例如,如果P建议lpr,我想补充一下-o number-up=2.问题是这包含一个空格,-o然后击中空格键给我No match.如何调整lpr(或面临同一问题的其他命令)?
在Mac OS X上的Emacs中打开文件时,文件的路径显示在窗口栏中(窗口上端的此栏包含三个用于退出,最大化和最小化的按钮).如果我有一个shell open(C-c s),它只显示*shell*- 不是很有用,特别是如果有多个shell打开.如何在窗口栏中显示当前工作目录的路径?所以,例如,/ssh:mylogin@mymachine.foo.bar.
我使用TeX-parse-errorEvan的底部的Ivan Andrus定义的函数latexmk函数将我抛入一个空缓冲区,以便在编译(C-c C-c)期间出现错误时自动打开*TeX Help*缓冲区.纠正错误并再次编译后,*TeX Help*缓冲区保持打开状态(尽管错误已更正).有没有办法调整功能(不幸的是,我没有经验的elisp编程),如果错误得到解决和更新(并且仍然打开),如果错误未解决,则关闭*TeX Help*缓冲区?这样可以节省大量的输入,比如C-c '显示*TeX Help*缓冲区并C-x 1再次隐藏它.
我想遍历所有可用(=已安装)软件包的数据集,并找出这些数据集是否有6列或更多列.这是我的试用版:
dat.list <- data(package=.packages(all.available=TRUE))$results # list of all installed packages
colnames(dat.list) # "Package" "LibPath" "Item" (= name of data set) "Title" (= description)
idx <- c()
i <- 3
## for(i in nrow(dat.list)) {
    nme <- dat.list[[i,"Item"]] # data set as string
    data(list=nme, package=dat.list[[i,"Package"]]) # load the data
    ## => fails with warning: In data(list = nme, package = dat.list[[i, "Package"]]) :
    ##    data set 'BJsales.lead (BJsales)' not found
    dat <- eval(as.name(nme)) # assign the data to the variable dat …每次我在.tex文档中插入一个片段(带yasnippet)时,我会在片段后面获得一个换行符.这对于通常用于文本样式的小片段来说非常烦人.我怎么能避免这种情况?
我读了一下这个问题(http://code.google.com/p/yasnippet/issues/detail?id=115或http://yasnippet.googlecode.com/svn/trunk/doc/faq.html)但无法找到解决方案.重现如下(我使用yasnippet版本0.6.1c在Mac OS X 10.6.8上使用Aquamacs 2.3a):
定义〜/ Library/Preferences/Aquamacs Emacs/Preferences.el为:( require'yasnippet)(yas/initialize)(yas/load-directory"〜/ Library/Preferences/Aquamacs Emacs/plugins/yasnippet-0.6.1c /片段")
定义以下片段(称之为"bm.yasnippet"[bm = boldmath];星号*表示光标结束的位置 - 请注意片段后面没有换行符)
# name: \bm{}{}
# key: bm
# --
\bm{$1}*
重新启动Aquamacs并打开.tex文件并键入bm + Tab[这应该插入代码段]
在代码段之后添加换行符.这非常不方便,因为\bm{foo}它通常用于文本样式,因此例如在"向量\bm{x}不是空向量"中.一个典型的原因是片段以换行符结束,然后插入换行符.不过,我专门获得这种行为甚至片段并没有以新行结束.
有没有办法在一行中创建表达式向量?我只知道一个带有丑陋for循环的双线程:
vexpr <- vector("expression", 7)
for(j in 1:7) vexpr[j] <- substitute(expression(italic(X[j.])), list(j.=j))[2]