Markdown排版问题

以下是笨笨近期从 入门markdown 到使用期间所发现的问题,以及个人处理方式,望参考!


  • 问题一:换行问题

    markdown本身其实是不带换行的相关语法的,虽然有水平线字符等方式实现分割上下文内容,但是总看起来很别扭,总不能为了分割上下文,每篇文章布满水平线

解决方式
因为markdown是兼容HTML语法的,所以可以采用HTML的换行标签<br>来实现换行


  • 问题二:特殊字符问题

    在日常使用中,使用markdown,像其他标记类语言一样,markdown也需要使用部分字符来做标记,如#、>等,因此在使用这些符号时,默认会被识别为markdown语法内容而出现排版问题。

解决方式
像某些编程语言或其他标记语言一样,markdown也是支持转义字符写法的,如\>可以实现转义>,同时,因为是兼容HTML,所以HTML标签中空格等的转义方式在这里也可以实现相同的功能

常见的markdown特殊字符转义方式
&nbsp;  ->  实现空格
&lt;    ->  实现小于号 <
\<      ->  实现同上效果
&gt;    ->  实现大于号 >
\>      ->  实现同上效果
\\      ->  实现反斜杠 \
\`      ->  实现反引号 `
\*      ->  实现星号 *
\_      ->  实现下划线 _
\{\}    ->  实现大括号 {}
\[\]    ->  实现中括号 []
\(\)    ->  实现小括号 ()
\#      ->  实现井号 #
\+      ->  实现加号 +
\-      ->  实现减号 -
\.      ->  实现英文句号 .
\!      ->  实现感叹号 !


  • 问题三:斜体字或加粗字行内排版问题
    这个问题在GitHub上挺常见的,比如要强调一行中的某一两个词语,使用markdown提供的加粗等效果,结果在某些平台上显示时发现没有加粗,反而将所加入的**显示出来

解决方式
在所要加粗或斜体的字体前后加空格,也就是使加粗或斜体的字体与文本其他内容隔开(之前试过,在一些平台还是有点作用的,但是貌似另一些平台还是不可以……


  • 问题四:有序编号乱序问题
    这个问题在博客园挺常见的,在简单的有序编号(编号的文本不会太复杂)情况下,是不会有编号乱序问题的;但是在复杂的有序编号,如编号文本下又带有无序编号文本,就可能出现有序编号乱序了

解决方式
在有序编号的文本下,如果还有无序编号的文本,建议先用Tab键退格缩进(有点类似编程风格);貌似在Mac上行不通,那就采用四个空格的方式实现退格。一般情况下,应该可以解决。
如果实在不行,在编写完文本后,重新挨个删除编号后的空格,百分百不会出现乱序了,哈哈哈(反正这种做法下,也可以看到有序编号,算是实现同等效果了吧)


  • 问题五:表格单元格合并
    这个问题在markdown上,使用markdown语法是解决不了的。

解决方式
因为markdown兼容HTML,所以只能采用table等相关标签解决


总结
其实,之所以会出现这些排版问题,是因为markdown设计的初衷就是为了简化写作过程中对排版的要求,也就是出现这些问题,多半是所写的文章有点排版要求或者是不同编译器本身的问题

个人建议
因为markdown是兼容HTML的,也就是可以使用link标签引入css样式表,所以如果在排版上有要求,可以自制css样式表来自定义markdown标签的附带功能。如果是遇到一些简单的问题,可以试试简单的 换行或者空格或者退格缩进 ,有时候尝试一下可能刚好就解决问题了。当然,如果可以,还是建议不要写太过要求排版的文章,不然就可能和你使用markdown的初衷违背了,这样的话,还不如使用HTML来写文章……


参考阅读

猜你喜欢

转载自www.cnblogs.com/codeplayer1999/p/12453742.html