Markdown'da bir not için nasıl metin kutusu oluşturabilirim?


94

Markdown'da bir belge yazıyorum. Markdown kaynağından docx ve tex dosyaları oluşturmak için harika pandoc kullanıyorum. Kitapları programlamanın sıklıkla yaptığı gibi okuyuculara ipuçları ve notlar için bir metin kutusu istiyorum. Markdown'da bunu nasıl yapacağımı çözemiyorum. Yardım edebilir misin?


Microsoft, belgelerinde bunun için kendi sözdizimini kullanır, ancak ortamınızda çalışması olası değildir. Aşağıdaki cevaplarla tamlık ve karşılaştırma için buraya dahil edilmiştir. github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/…
brianary

Yanıtlar:


103

İşaretleme metinlerine uyarı kutusu (örneğin Not veya Uyarı) koymak için genellikle yaptığım şey (yalnızca pandoc kullanırken değil, aynı zamanda bu işaretlemenin desteklendiği her yerde) içeriği iki yatay çizgiyle çevreliyor:

---
**NOTE**

It works with almost all markdown flavours (the below blank line matters).

---

bunun gibi bir şey olurdu:


NOT

Tüm indirim çeşitleriyle çalışır (aşağıdaki boş satır önemlidir).


İşin iyi yanı, hangi markdown çeşidinin desteklendiği veya hangi uzantının yüklü veya etkin olduğu konusunda endişelenmenize gerek olmamasıdır.

DÜZENLEME : @ filups21'in yorumlarda bahsettiği gibi, RMarkdown'da yatay bir çizginin temsil edildiği ***görülüyor. Bu nedenle, daha önce bahsedilen çözüm, başlangıçta iddia edildiği gibi tüm indirim tatları ile çalışmaz.


4
Bu kullanışlı, ancak RMarkdown / Rstduio / Knitr ile çalışmıyor
bjw

2
bjw - rmarkdown'da yatay bir çizginin ***önünde boş bir satır bulunur. Alternatif olarak, notu bir blok alıntıya, ile satıra başlayarak >(ayrıca öncesinde boş bir satır) koyabilirsiniz .
filups21

88

GitHub ile genellikle bir blok alıntı eklerim.

> **_NOTE:_**  The note content.

olur ...

NOT: Not içeriği.

Tabii ki, her zaman düz HTML vardır ...


@KamilSJaron: eh? Hayır değiller. Kod bloklarını mı düşünüyorsunuz?
naught101

@ naught101 Ah, blok alıntıyı backquote olarak okuyordum. Ancak, üçlü geri alıntılar gerçekten de sarmalanmıyor.
Kamil S Jaron

4
Bu evrensel çözümü tercih ediyorum. Notun önüne > ℹ️ This is an informationveya gibi Unicode emojilerini kullanmaktan da keyif alıyorum > ⚠️ This is a warning.
pierre_loic

1
Bu ve masa kludge , bu soruyu taşınabilir bir şekilde çözen tek cevaptır. En üstteki cevap tarafından önerilen zor kural kludge bir kutu göstermez ve bu nedenle bu soruyu çözemez. Gerçekten de, bu cevap @ pierre_loic'in Unicode simgeleri moduyla birleştiğinde çoğunlukla reStructuredText notlarını kopyalar .
Cecil Curry

16

Tam olarak aynı soruna bulduğum en basit çözüm, tek satırlı ve başlıksız çok satırlı bir tablo kullanmaktır (ilk sütunda bir resim ve ikinci sütunda bir metin vardır):

----------------------- ------------------------------------
![Tip](images/tip.png)\ Table multiline text bla bla bla bla
                        bla bla bla bla bla bla bla ... the
                        blank line below is important 

----------------------------------------------------------------

İşe yarayabilecek başka bir yaklaşım (PDF için) Lateks varsayılan fbox yönergesini kullanmaktır:

 \fbox{My text!}

Veya daha gelişmiş özellikler (ve daha iyi görünen kutular) için FancyBox modülü: http://www.ctan.org/tex-archive/macros/latex/contrib/fancybox .


1
Pandoc-markdown notunun pandoc şablon dosyası içinde nasıl görüneceğini tanımlamanın mümkün olup olmadığını biliyor musunuz? Örneğin, ~ / .pandoc / templates / default.latex?
tmaric

11

Uyarı uzantısını kullanın . İçin mkdocs , bu yapılandırılabilir mkdocs.ymldosyası:

markdown_extensions:
    - admonition

Ardından notu md dosyalarınıza aşağıdaki gibi ekleyin:

!!! note

     This is a note.

Burada bir örneğe bakın .


8

Etienne'in çözümüne benzer şekilde, basit bir tablo güzelce biçimlendirilir:

| | |
|-|-|
|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|

Diğer bir alternatif (daha çok vurgulanır), içeriği gövdesiz bir tablonun başlığı yapmaktır:

|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|
|-|-|

Son olarak, kapalı bir kutu oluşturmak için yatay bir çizgi (tematik kesme) ekleyebilirsiniz (çizgi stili tablodaki başlık satırından biraz farklı olsa da):

| | |
|-|-|
|`NOTE` | This is something I want you to notice. It has a lot of text, and I want that text to wrap within a cell to the right of the `NOTE`, instead of under it.|

---

Metinden sonraki boş satırı not edin.


Bu çözümü çok beğendim, ancak bunu pandoc ve xelatex aracılığıyla pdf'ye çevirdiğimde, " NOTE" sütununa% 50, diğerine% 50 ayırıyor gibi görünüyor ; stackoverflow.com/questions/27219629 uyarınca çok satırlı tablolar kullanılabilir - ancak başka biçimlendirme sorunları da vardır.
sdbbs

7

İşte basit bir lateks bazlı örnek.

---
header-includes:
    - \usepackage[most]{tcolorbox}
    - \definecolor{light-yellow}{rgb}{1, 0.95, 0.7}
    - \newtcolorbox{myquote}{colback=light-yellow,grow to right by=-10mm,grow to left by=-10mm, boxrule=0pt,boxsep=0pt,breakable}
    - \newcommand{\todo}[1]{\begin{myquote} \textbf{TODO:} \emph{#1} \end{myquote}}
---

blah blah

\todo{something}

blah

sonuç: görüntü açıklamasını buraya girin

Ne yazık ki, bu lateks olduğu için, artık TODO kutusunun içine işaretleme ekleyemezsiniz (bu genellikle büyük bir sorun değildir) ve PDF dışındaki biçimlere (örneğin html) dönüştürürken çalışmaz.


5

Aşağıdaki yöntemler GitHub, GitLab ... ve artık CommonMark kullanan Stackoverflow üzerinde çalışır !


> Blok Alıntıyla yapılan Tek Satırlık Kutu

Blok alıntı ile yapılan Tek Satırlık Kutu


`Backticks ile yapılan Tek Satırlı Kutu`

One-Line Box made with Backticks


``
Üçlü Backticks ile yapılan kutu
''

Box made with Triple Backticks  


~ ~ ~
Üçlü Tildes ile yapılan kutu
(bu işi yapmak için tildeler arasındaki boşlukları kaldırın)
~ ~

Box made with Triple Tildes


Her satırın başında Four Spaces ile yapılan kutu :

    “Sometimes we must let go of our pride and do what is requested of us.”
    Padmé Amidala


... veya yatay çizgiler mi kullanıyorsunuz?

Üç çizgi (---) yatay bir çizgi oluşturur:


Not : "Odağınız gerçekliğinizi belirler." - Qui-Gon Jinn.


Daha fazla konfigürasyon için mükemmel GitLab Markdown Kılavuzunu şiddetle tavsiye ediyorum .
Daha az ayrıntılı GitHub temel biçimlendirme sözdizimini de kontrol edebilirsiniz .
Markdown uygulamalarını Babelmark kullanarak karşılaştırabilirsiniz .

Yararlı ipuçları:

  • yeni satırı zorlamak için satırın sonuna iki boşluk koyun;

  • özel karakterlerden kaçınmak için \ kullanın.


3

Çift sekme kullanmayı denediniz mi? Bir kutu yapmak için:

Start on a fresh line
Hit tab twice, type up the content
Your content should appear in a box

Benim için html çıktısı olan normal bir Rmarkdown belgesinde çalışıyor. Çift şeritli kısım, yuvarlatılmış dikdörtgen açık gri bir kutu içinde görünmelidir.


VS Code ve GitHub'da da çalışıyor!
Nagev


0

Başka bir çözüm de CSS bitişikliği kullanmak ve h4 (veya daha yüksek) kullanmaktır:

#### note

This is the note content
h4 {
  display: none; /* hide */
}

h4 + p {
  /* style the note however you want */
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.