问题描述
我可以增加线条的大小或宽度吗?
例如,以下内容在第二个“ a”之后包裹,我希望所有内容都在一行上。
#install.packages("Rfiglet")
library(Rfiglet)
figlet('starwars',respect.linebreaks = FALSE,smush = TRUE,font = "starwars")
_______.___________. ___ .______ ____ __ ____ ___
/ | | / \ | _ \ \ \ / \ / / / \
| (----`---| |----` / ^ \ | |_) | \ \/ \/ / / ^ \
\ \ | | / /_\ \ | / \ / / /_\ \
.----) | | | / _____ \ | |\ \----. \ /\ / / _____ \
|_______/ |__| /__/ \__\ | _| `._____| \__/ \__/ /__/ \__\
.______ _______.
| _ \ / |
| |_) | | (----`
| / \ \
| |\ \----.----) |
| _| `._____|_______/
options(width = 999)
没有任何改变。
解决方法
根据内部的figlet
函数,很可能根据输入的字符数来确定是否必须以1行或2行打印文本。
figlet
函数返回一个字符向量,我们可以通过使用hack来实现所需的功能。当输出分布在两行中时,我们可以使用paste
合并这两行,并将类更改回'figlet'
。
library(Rfiglet)
tmp <- figlet('starwars',respect.linebreaks = TRUE,smush = FALSE,font = "starwars")
n <- length(tmp)
tmp1 <- paste(tmp[1:(n/2)],tmp[(n/2 + 1):n])
class(tmp1) <- 'figlet'
tmp1
_______..___________. ___ .______ ____ __ ____ ___ .______ _______.
/ || | / \ | _ \ \ \ / \ / / / \ | _ \ / |
| (----``---| |----` / ^ \ | |_) | \ \/ \/ / / ^ \ | |_) | | (----`
\ \ | | / /_\ \ | / \ / / /_\ \ | / \ \
.----) | | | / _____ \ | |\ \----. \ /\ / / _____ \ | |\ \----..----) |
|_______/ |__| /__/ \__\ | _| `._____| \__/ \__/ /__/ \__\ | _| `._____||_______/