【问题标题】:paste0 regular and italicized text in R在R中粘贴0常规和斜体文本
【发布时间】:2020-10-11 06:18:13
【问题描述】:

我需要在一个 R 对象中连接两个字符串:一个是普通文本;另一个是普通文本。另一个是斜体。所以,我尝试了很多组合,例如

paste0(" This is Regular", italic( This is Italics))

期望的结果应该是:

这是常规的这是斜体

有什么办法吗?

谢谢!

【问题讨论】:

  • 基本 R 中没有 italic 函数。paste0 和其他 R 函数返回 characters。它们没有格式的概念,例如斜体或粗体。格式是输出目的地的特征。因此,获取斜体文本的方式将取决于您的输出目的地。它不能在文本文件或 .Rda 文件中完成。对于 PDF、Markdown 或 HTML 文件,可以(以不同的方式)完成,仅举几个例子。
  • 斜体和其他数学注释用于绘图。例如。 plot(iris$Species, main = expression(paste("This is Regular ", italic(" This is Italics")))) 将返回一个简单的绘图,其标题为常规和斜体。在 SO 上搜索示例并使用斜体功能阅读帮助 (?italic)。
  • 谢谢@Limey... 那么对于 HTML,我如何从 paste0 表达式中格式化文本?
  • 谢谢@phiver...我知道如何绘制绘图...但我需要在常规 HTML 页面中使用斜体

标签: r string format concatenation


【解决方案1】:

在绘图标签中,可以使用表达式,见mathematical annotation

 plot(1,xlab=expression("This is regular"~italic("this is italic")))

【讨论】:

    【解决方案2】:

    要提供一个字符串,HTML 解析器将识别出需要以斜体呈现文本的需要,请将文本包装在 <i></i> 中。例如:"This is plain text, but <i>this is in Italics</i>."

    但是,大多数 HTML 处理器会假定您希望文本按原样显示,并且默认情况下会转义其输入。这意味着某些字符的特殊含义——包括<> 将被“关闭”。您需要告诉处理器不要这样做。你如何做到这一点将取决于上下文。我不能告诉你,因为你没有给我上下文。

    例如,您是在写入原始 HTML 文件吗? (您无需执行任何操作。)您正在写入 Markdown 文件吗?如果是这样,怎么做?是纯文本还是渲染块?您是否正在为图形编写标题? (Waldi 提出了一个解决方案。)等等……

    【讨论】:

    • 谢谢!...我在一个块中使用 paste0... 有人认为:concl <- paste0("Não existem diferenças significativas entre as médias das variávies ", var1, " e ", var2) var1 和 var2 是我想以斜体显示的变量名。
    • 然后,您在何时何地尝试渲染您的concl 变量?请提供simple, self-contained example。简而言之,给我一些代码(尽可能少),让我看到concl 以不同于你想要的方式呈现。
    • 好的,我的 Rmd 是:{r variable selection, echo = FALSE, results = "hide"} concl <- paste0("Não existem diferenças significativas entre as médias das variáveis ", var1, " e ", var2) 6. 结论:r concl 这需要通过 knit 输出到 html 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 2021-08-16
    • 2014-07-09
    相关资源
    最近更新 更多