Làm cách nào để tạo hộp văn bản cho ghi chú trong phần đánh dấu?


86

Tôi đang viết một tài liệu trong markdown. Tôi đang sử dụng pandoc tuyệt vời để tạo các tệp docx và tex từ nguồn đánh dấu. Tôi muốn có một hộp văn bản cho các thủ thuật và lưu ý cho người đọc theo cách mà các sách lập trình thường làm. Tôi không thể tìm ra cách làm điều này trong markdown. Bạn có thể giúp?


Microsoft sử dụng cú pháp của riêng họ cho điều này trong tài liệu của họ, nhưng nó không có khả năng hoạt động trong môi trường của bạn. Bao gồm ở đây để đầy đủ và so sánh với các câu trả lời bên dưới. github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/…
brianary

Câu trả lời:


95

Những gì tôi thường làm để đặt hộp cảnh báo (ví dụ: Ghi chú hoặc Cảnh báo) trong văn bản đánh dấu (không chỉ khi sử dụng pandoc mà còn ở mọi nơi hỗ trợ đánh dấu đó) là bao quanh nội dung bằng hai dòng ngang:

---
**NOTE**

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

---

sẽ giống như thế này:


GHI CHÚ

Nó hoạt động với tất cả các hương vị đánh dấu (dòng trống bên dưới quan trọng).


Điều tốt là bạn không cần phải lo lắng về hương vị đánh dấu nào được hỗ trợ hoặc tiện ích mở rộng nào được cài đặt hoặc kích hoạt.

CHỈNH SỬA : Như @ filups21 đã đề cập trong các nhận xét, có vẻ như một đường ngang được đại diện bởi ***RMarkdown. Vì vậy, giải pháp được đề cập trước đây không hoạt động với tất cả các hương vị đánh dấu như nó đã được tuyên bố ban đầu.


4
Đây là hữu ích, nhưng nó không làm việc với RMarkdown / Rstduio / Knitr
bjw

1
bjw - một đường ngang trong rmarkdown được ***đặt trước một dòng trống. Ngoài ra, bạn có thể đặt ghi chú trong một đoạn trích dẫn bằng cách bắt đầu dòng bằng >(cũng đứng trước một dòng trống).
filups21

80

Với GitHub, tôi thường chèn một blockquote.

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

trở thành ...

LƯU Ý: Nội dung ghi chú.

Tất nhiên, luôn có HTML đơn giản ...


@KamilSJaron: hả? Không, họ không. Bạn đang nghĩ về các khối mã?
naught101

@ naught101 Ah, tôi đang đọc blockquote dưới dạng backquote. Tuy nhiên, ba dấu ngoặc kép thực sự không kết thúc.
Kamil S Jaron

3
Tôi thích giải pháp phổ quát này hơn. Tôi cũng thích sử dụng biểu tượng cảm xúc Unicode để đặt tiền tố cho ghi chú, chẳng hạn như > ℹ️ This is an informationhoặc > ⚠️ This is a warning.
Pierre_loic

1
Đây và bảng k bùn là câu trả lời duy nhất giải quyết được câu hỏi này. Các quy tắc cứng kludge bởi câu trả lời đầu đề xuất không hiển thị một hộp và do đó thất bại trong việc giải quyết câu hỏi này. Thật vậy, câu trả lời này cùng với mod biểu tượng Unicode của @ Pierre_loic hầu hết sao chép các ghi chú reStructuredText .
Cecil Curry

16

Giải pháp đơn giản nhất mà tôi đã tìm thấy cho cùng một vấn đề là sử dụng bảng nhiều dòng với một hàng và không có tiêu đề (có một hình ảnh trong cột đầu tiên và văn bản trong cột thứ hai):

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

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

Một cách tiếp cận khác có thể hoạt động (đối với PDF) là sử dụng chỉ thị fbox mặc định của Latex :

 \fbox{My text!}

Hoặc mô-đun FancyBox để có các tính năng nâng cao hơn (và hộp đẹp hơn): http://www.ctan.org/tex-archive/macros/latex/contrib/fancybox .


1
Bạn có biết liệu có thể xác định ghi chú pandoc-markdown sẽ trông như thế nào bên trong tệp mẫu pandoc không? Ví dụ: chỉnh sửa ~ / .pandoc / templates / default.latex?
tmaric

11

Sử dụng tiện ích mở rộng lời khuyên . Đối với mkdocs , nó có thể được định cấu hình trong mkdocs.ymltệp:

markdown_extensions:
    - admonition

Sau đó, chèn ghi chú vào tệp md của bạn như sau:

!!! note

     This is a note.

Xem một ví dụ ở đây .


8

Tương tự như giải pháp của Etienne, một bảng đơn giản định dạng độc đáo:

| | |
|-|-|
|`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.|

Một cách thay thế khác (đi kèm với sự nhấn mạnh hơn), là đặt nội dung làm tiêu đề của bảng không có nội dung:

|`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.|
|-|-|

Cuối cùng, bạn có thể bao gồm một đường ngang (ngắt dòng theo chủ đề) để tạo một hộp đóng (mặc dù kiểu dòng hơi khác so với dòng tiêu đề trong bảng):

| | |
|-|-|
|`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.|

---

Lưu ý dòng trống sau văn bản.


Tôi rất thích giải pháp này, nhưng khi tôi chuyển đổi nó qua pandoc và xelatex sang pdf, có vẻ như nó phân bổ 50% cho NOTEcột "" và 50% cho cột kia; người ta có thể sử dụng bảng nhiều dòng theo stackoverflow.com/questions/27219629 - nhưng sau đó có các vấn đề định dạng khác.
sdbbs

6

Đây là một ví dụ đơn giản dựa trên latex.

---
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

kết quả là: nhập mô tả hình ảnh ở đây

Thật không may vì đây là cao su, bạn không còn có thể bao gồm đánh dấu bên trong hộp TODO (thường không phải là vấn đề lớn) và nó sẽ không hoạt động khi chuyển đổi sang các định dạng khác ngoài PDF (ví dụ: html).


5

Các phương pháp sau hoạt động trên GitHub, GitLab ... và trên Stackoverflow , hiện sử dụng CommonMark !


> Hộp một dòng được tạo bằng Blockquote

Hộp một dòng được tạo bằng Blockquote


`Hộp một dòng được làm bằng Gậy` `

One-Line Box made with Backticks


``
Hộp làm bằng ba miếng lót sau
''

Box made with Triple Backticks  


~ ~ ~
Hộp được làm bằng Ba dấu ngã
(loại bỏ khoảng cách giữa các dấu ngã để làm cho hộp này thành tác phẩm)
~ ~ ~

Box made with Triple Tildes


Hộp được tạo với Bốn dấu cách ở đầu mỗi dòng:

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


... hay sử dụng các đường ngang?

Ba dấu gạch ngang (---) tạo thành một đường ngang:


Lưu ý : "Trọng tâm của bạn quyết định thực tế của bạn." - Qui-Gon Jinn.


Đối với các cấu hình khác, tôi thực sự khuyên bạn nên sử dụng Hướng dẫn đánh dấu GitLab tuyệt vời .
Bạn cũng có thể kiểm tra cú pháp định dạng cơ bản của GitHub ít chi tiết hơn .
Bạn có thể so sánh các triển khai Markdown bằng Babelmark .

Gợi ý hữu ích:

  • để buộc một dòng mới, hãy đặt hai khoảng trắng ở cuối dòng;

  • để thoát các ký tự đặc biệt, hãy sử dụng \.


3

Bạn đã thử sử dụng tab kép chưa? Để làm một hộp:

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

Nó hoạt động đối với tôi trong một tài liệu Rmarkdown thông thường với đầu ra html. Phần hai tab sẽ xuất hiện trong một hộp hình chữ nhật tròn màu xám nhạt.


Hoạt động trên VS Code và GitHub nữa!
Nagev

Đó là một khối mã.
CivFan

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.