RMarkdown'da Microsoft Word'e altı çizili
RMarkdown'da bazı kelimelerin altını nasıl çizeceğimi anlamaya çalışıyorum. HTML'ye örüyorsam, bunu yapabilirim:
<u>These words are underlined</u>
Bu durumda iyi çalışıyor. Ancak Microsoft Word'e örüldüğümde altını çizme kalıcı olmuyor. RMarkdown'da bunu yerel olarak yapmak için kalın ve italik komutlar gibi herhangi bir değişiklik yapıldığına inanmıyorum. Herhangi bir öneri?
Teşekkürler
Yanıtlar
Aklıma gelen her şeyi denedim - mümkün değil gibi görünüyor (gerçekten çalışan çözümleri duymak harika olurdu)
Aşağıdakileri denedim:
<u> text </u>
<ins> text </ins>
<span style="text-decoration:underline"> text </span>
$\text{\underline{LaTeX makes it possible}}$
$\underline{LaTeX makes it possible}$
Bunların çoğu html_document için çalışırken - hiçbiri Rmarkdown için Word için gerçekten işe yaramadı.
<u>- bariz çözüm - işe yaramadı.<ins>bu da sıklıkla önerilmektedir - işe yaramadı.html5biçimlendirme - işe yaramadıLaTeX- işe yaramadı
Belki de bu mümkün değil.
Ne için 's değerinde ... (;. Anladım kadarıyla bu HTML etiketlerini kullanarak mümkün değildir nedeni HTML etiketleri çalışır HTML render HTML kodunu tarafından değindiği olmadığını olduğunda rmarkdown, knitrya da pandocve sade geçti Metin olarak son HTML belgesine kadar. HTML olması durumunda tarayıcı bu "metin" ile ne yapacağını bilir.Ancak Word veya Lateks'te olduğu gibi görüntülenecek olan metindir.
Bununla birlikte, Word çıktısı için , memur memur paketine bazı ek Word işlevleri ekleyen officedown paketine bir göz atabilirsiniz , örneğin aşağıdaki örnek RMD, Word'de metnin nasıl altı çizili olacağını gösterir:rmarkdown
---
title: "officedown template"
output: officedown::rdocx_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.cap = TRUE)
library(officedown)
library(officer)
ft <- fp_text(underlined = TRUE)
```
This document presents most of the features of the package `r ftext("officedown", ft)`.
Sorunun iki bölümü vardır:
1.) Bir word dosyasına örgü yaparken html'yi işlemek için Rmarkdown / pandoc'u almak. Bunun nasıl elde edileceği burada açıklanmıştır: Rmarkdown'daki HTML etiketleri, kullanıcı @tarleb tarafından belgeye dönüştürülür (lütfen bu cevabı benimkinin temeli olduğu için yükseltmeyi düşünün).
2.) <u>altını çizmek için az ya da çok kullanımdan kaldırıldı. Ancak, <u>etiketlerin çalışması için basitçe a içine sarılması gerekir <p>.
Yani bu, istediğinizi elde etmelidir:
---
output:
word_document:
md_extensions: +raw_html-markdown_in_html_blocks
pandoc_args: ['--lua-filter', 'read_html.lua']
---
<p><u>This text will be underlined.</u> This not anymore</p>
<u>But this will not.</u>
<p style="text-decoration: underline;">Neither will this.</p>
read_html.luaaynı dizinde bu içeriğe sahip bir dosya ile:
function RawBlock (raw)
if raw.format:match 'html' and not FORMAT:match 'html' then
return pandoc.read(raw.text, raw.format).blocks
end
end
Bir geçici çözüm
RMarkdown, Pandoc'a dayanmaktadır ve Pandoc's Markdown, alt çizgiyi doğal olarak desteklemez. Pandoc's Markdown'da altı çizili HTML etiketi ile uygulanmaktadır <u>...</u>. Ancak, <u>...</u>docx veya pdf'de altı çizili metne dönüştürülemez (pandoc 2.10.1 ile test edilmiştir). Bir çözüm, MS Word'de metin stilini değiştirmektir.
<u>...</u>Gibi bir yedek seçin***...***.--- output: word_document: default --- This is a regular paragraph. ***This paragraph is bold italic at first. It will be underlined later.***Rmarkdown belgesini docx'e örün
Değiştir kalın italik metin ile alt çizgi metinde Word'de.
- Tuşuna basın
Ctrl + H. - Metin biçimini olarak ayarlayın
Format > Font.- Kalın İtalik metni bulun .
- Normal Altı Çizili metinle değiştirin.
- Basın
Replace All
- Tuşuna basın
Kullandıysanız
<u>...</u>, bunları ile değiştirin***...***.Tuşuna basın
Ctrl + F.normal ifade seçeneğini kontrol edin.
yerine
<u>(.+)<\/u>sahip***$1***.Basın
AllyanındakiReplace.1. adıma ve 2. adıma dönün.
Tavsiye
Rmarkdown ve Pandoc Markdown'un yerel sözdizimine bağlı kalmanızı öneririm. Sözdiziminin sınırlı olduğu düşünülürse, farklı çıktı biçimleriyle iyi çalışır. Sınırlı sözdizimi Markdown'ın gücüdür! O kadar basit ki, birçok farklı çıktı formatına dönüştürülebilir. İçerik ve stil ayrımı kavramını da takip etmenizi tavsiye ederim . Beni içeriği tekrar tekrar biçimlendirmekten kurtarıyor.