<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>LaTex on 夜云泊</title>
    <link>https://lifeislife.cn/tags/latex/</link>
    <description>feedId:57980998056508425+userId:73222296380546048 Recent content in LaTex on 夜云泊</description>
    <generator>Hugo -- 0.161.1</generator>
    <language>zh</language>
    <lastBuildDate>Sat, 24 Sep 2022 17:27:00 +0000</lastBuildDate>
    <atom:link href="https://lifeislife.cn/tags/latex/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>解决 Pandoc 将 MD 转换为 PDF 时报错 (error)\tightlist</title>
      <link>https://lifeislife.cn/posts/%E8%A7%A3%E5%86%B3pandoc%E5%B0%86md%E8%BD%AC%E6%8D%A2%E4%B8%BApdf%E6%97%B6%E6%8A%A5%E9%94%99-error-tightlist/</link>
      <pubDate>Sat, 24 Sep 2022 17:27:00 +0000</pubDate>
      <guid>https://lifeislife.cn/posts/%E8%A7%A3%E5%86%B3pandoc%E5%B0%86md%E8%BD%AC%E6%8D%A2%E4%B8%BApdf%E6%97%B6%E6%8A%A5%E9%94%99-error-tightlist/</guid>
      <description>&lt;p&gt;使用 Pandoc 将&lt;code&gt;test.md&lt;/code&gt;转换位 PDF 时，出现如下错误：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;! Undefined control sequence.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;lt;recently read&amp;gt; &lt;span class=&#34;se&#34;&gt;\t&lt;/span&gt;ightlist 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;l.213 &lt;span class=&#34;se&#34;&gt;\e&lt;/span&gt;nd&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;frame&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pandoc: Error producing PDF from TeX &lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make: *** &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;test.pdf&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Error &lt;span class=&#34;m&#34;&gt;43&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;这是因为在 Markdown 文件中使用&lt;code&gt;-&lt;/code&gt;表示无序列表，被转化成了&lt;code&gt;\tightlist&lt;/code&gt;但是 Pandoc 版本太老，不支持这个命令。（严格来说是 Pandoc 没有处理这个 LaTeX 命令，不是不支持，因为这是 LaTeX 命令和 Pandoc 没关系）。&lt;/p&gt;
&lt;p&gt;有两种方式解决，一是升级 Pandoc 版本，二是将处理&lt;code&gt;\tightlist&lt;/code&gt;的命令加到自己使用的模板中。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-TeX&#34; data-lang=&#34;TeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\providecommand&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\tightlist&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;&lt;span class=&#34;c&#34;&gt;%
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;\setlength&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\itemsep&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;0pt&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\setlength&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;\parskip&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;0pt&lt;span class=&#34;nb&#34;&gt;}}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;或者&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-TeX&#34; data-lang=&#34;TeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\def\tightlist&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
      <content:encoded><![CDATA[<p>使用 Pandoc 将<code>test.md</code>转换位 PDF 时，出现如下错误：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">! Undefined control sequence.
</span></span><span class="line"><span class="cl">&lt;recently read&gt; <span class="se">\t</span>ightlist 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">l.213 <span class="se">\e</span>nd<span class="o">{</span>frame<span class="o">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">pandoc: Error producing PDF from TeX <span class="nb">source</span>
</span></span><span class="line"><span class="cl">make: *** <span class="o">[</span>test.pdf<span class="o">]</span> Error <span class="m">43</span>
</span></span></code></pre></div><p>这是因为在 Markdown 文件中使用<code>-</code>表示无序列表，被转化成了<code>\tightlist</code>但是 Pandoc 版本太老，不支持这个命令。（严格来说是 Pandoc 没有处理这个 LaTeX 命令，不是不支持，因为这是 LaTeX 命令和 Pandoc 没关系）。</p>
<p>有两种方式解决，一是升级 Pandoc 版本，二是将处理<code>\tightlist</code>的命令加到自己使用的模板中。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-TeX" data-lang="TeX"><span class="line"><span class="cl"><span class="k">\providecommand</span><span class="nb">{</span><span class="k">\tightlist</span><span class="nb">}{</span><span class="c">%
</span></span></span><span class="line"><span class="cl">  <span class="k">\setlength</span><span class="nb">{</span><span class="k">\itemsep</span><span class="nb">}{</span>0pt<span class="nb">}</span><span class="k">\setlength</span><span class="nb">{</span><span class="k">\parskip</span><span class="nb">}{</span>0pt<span class="nb">}}</span>
</span></span></code></pre></div><p>或者</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-TeX" data-lang="TeX"><span class="line"><span class="cl"><span class="k">\def\tightlist</span><span class="nb">{}</span>
</span></span></code></pre></div>]]></content:encoded>
    </item>
    <item>
      <title>解决 LaTeX 编译 Missing character There is no (U&#43;00A0) in font</title>
      <link>https://lifeislife.cn/posts/%E8%A7%A3%E5%86%B3latex%E7%BC%96%E8%AF%91missing-character-there-is-no-u-00a0-u-00a0-in-font/</link>
      <pubDate>Sun, 11 Sep 2022 22:20:02 +0000</pubDate>
      <guid>https://lifeislife.cn/posts/%E8%A7%A3%E5%86%B3latex%E7%BC%96%E8%AF%91missing-character-there-is-no-u-00a0-u-00a0-in-font/</guid>
      <description>&lt;h2 id=&#34;保留现场&#34;&gt;保留现场&lt;/h2&gt;
&lt;p&gt;在 LaTeX 编译中报错：Missing character: There is no   (U+00A0) (U+00A0) in font JetBrains Mono。&lt;/p&gt;
&lt;h2 id=&#34;探究原因&#34;&gt;探究原因&lt;/h2&gt;
&lt;p&gt;如果要搞清楚具体原因，就得从字符与字符编码说起了。解决办法直接跳到下一节吧。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;字符&lt;/strong&gt;，就是“a”，“A”，“你”等书写符号。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;字符集&lt;/strong&gt;，通常就是某种语言字符集合，比如英语就是&lt;strong&gt;ASCII 字符集&lt;/strong&gt;，中文有&lt;strong&gt;GBK 字符集&lt;/strong&gt;等&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;注意，不是每种语言只对应一种字符集（比如 GB2312，GBK，GB18030 都包含了常用汉字，后者是前者的超集），而且字符集也不是只对应一种语言，例如 Unicode 字符集就包含所有语言字符，字符集只是设计者为了给字符编码（Code Point/Numbering）设计编码时，为了收录到命名的字符集合，但是通常设计者都为字符集设计了对应的编码规范。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;字符编码&lt;/strong&gt;,给字符集里的字符编号。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;编码页&lt;/strong&gt;，在 unicode 发明之前，各个地区都用 2 字节编码自己的字符集，相同的编码对应不同的字符，为了本地化，Windows 发明了编码页，来对应不同的字符集。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;字符编码&lt;/strong&gt;，对给定的字符编码编码成字节表示。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;早期，字符被编号后，存储时就按照编号的方式存储，没有 encoding 的过程，后来发明 Unicode 后，发现如果按照 Unicode 的编号直接存储的话，对于英文字符就有很大存储浪费，因为任意字符都需要 2 字节存储，后来人们发明 UTF-8 这种编码方式，这样 UTF-8 就可以一个字节表示英文字符，2 个以上字节表示汉字字符。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;字体&lt;/strong&gt;，定义了字符的图形表示，现在的软件展示字符时用 Unicode 表示，字体是 Unicode 编码和字符图形的映射，而以往比如 WindowsCMD 控制台，没有对应 Unicode，则用编码页来区分，所以字体就是字符编码金和代码页到字符图形的映射。&lt;/p&gt;
&lt;p&gt;文本文件存储在磁盘上，都是一系列的字节流，如果不告诉文本编辑器该文件的编码方式，编辑器会尝试用默认的编码（依赖于操作系统设置）又或者自己探测（detect，比如文件开头有 FFEF 或者 EFFF 字节就表明 UTF-16 编码，有很多 10，110 开头的字节，很可能是 UTF-8 编码）并尝试解码，&lt;strong&gt;如果没有猜对，那就会显示乱码&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;回到出错的问题，提示我们在&lt;strong&gt;字体 JetBrains Mono&lt;/strong&gt;中没有&lt;strong&gt;U+00A0&lt;/strong&gt;，我们搜索一下就知道这是一个 Unicode 字符&lt;strong&gt;NO-BREAK SPACE&lt;/strong&gt;。我们通过上面的了解也知道了，字体就是字符编码到字符图像的映射，但是一个字体尤其是一些有专门用途的字体（比如 JetBrains Mono 设计初衷是为软件工程显示代码用的），它不会映射所有的字符，JetBrains Mono 这个字体里就没有映射 U+00A0。&lt;strong&gt;这就导致在 LaTeX 编译时无法在字体中找到对应的字符图像显示&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;所有解决办法就是要不替换掉这个字符，要不换个字体。&lt;/p&gt;
&lt;h2 id=&#34;解决方法&#34;&gt;解决方法&lt;/h2&gt;
&lt;p&gt;VSCode 正则搜索&lt;code&gt;\U00A0&lt;/code&gt;即可搜索到相关字符，将其替换成空格。&lt;/p&gt;
&lt;h2 id=&#34;参考&#34;&gt;参考&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://www.jianshu.com/p/d7edb679cd3d&#34;&gt;字符，字符集，字符编码，编码页，字体 - 简书&lt;/a&gt;&lt;/p&gt;
</description>
      <content:encoded><![CDATA[<h2 id="保留现场">保留现场</h2>
<p>在 LaTeX 编译中报错：Missing character: There is no   (U+00A0) (U+00A0) in font JetBrains Mono。</p>
<h2 id="探究原因">探究原因</h2>
<p>如果要搞清楚具体原因，就得从字符与字符编码说起了。解决办法直接跳到下一节吧。</p>
<p><strong>字符</strong>，就是“a”，“A”，“你”等书写符号。</p>
<p><strong>字符集</strong>，通常就是某种语言字符集合，比如英语就是<strong>ASCII 字符集</strong>，中文有<strong>GBK 字符集</strong>等</p>
<blockquote>
<p>注意，不是每种语言只对应一种字符集（比如 GB2312，GBK，GB18030 都包含了常用汉字，后者是前者的超集），而且字符集也不是只对应一种语言，例如 Unicode 字符集就包含所有语言字符，字符集只是设计者为了给字符编码（Code Point/Numbering）设计编码时，为了收录到命名的字符集合，但是通常设计者都为字符集设计了对应的编码规范。</p>
</blockquote>
<p><strong>字符编码</strong>,给字符集里的字符编号。</p>
<p><strong>编码页</strong>，在 unicode 发明之前，各个地区都用 2 字节编码自己的字符集，相同的编码对应不同的字符，为了本地化，Windows 发明了编码页，来对应不同的字符集。</p>
<p><strong>字符编码</strong>，对给定的字符编码编码成字节表示。</p>
<blockquote>
<p>早期，字符被编号后，存储时就按照编号的方式存储，没有 encoding 的过程，后来发明 Unicode 后，发现如果按照 Unicode 的编号直接存储的话，对于英文字符就有很大存储浪费，因为任意字符都需要 2 字节存储，后来人们发明 UTF-8 这种编码方式，这样 UTF-8 就可以一个字节表示英文字符，2 个以上字节表示汉字字符。</p>
</blockquote>
<p><strong>字体</strong>，定义了字符的图形表示，现在的软件展示字符时用 Unicode 表示，字体是 Unicode 编码和字符图形的映射，而以往比如 WindowsCMD 控制台，没有对应 Unicode，则用编码页来区分，所以字体就是字符编码金和代码页到字符图形的映射。</p>
<p>文本文件存储在磁盘上，都是一系列的字节流，如果不告诉文本编辑器该文件的编码方式，编辑器会尝试用默认的编码（依赖于操作系统设置）又或者自己探测（detect，比如文件开头有 FFEF 或者 EFFF 字节就表明 UTF-16 编码，有很多 10，110 开头的字节，很可能是 UTF-8 编码）并尝试解码，<strong>如果没有猜对，那就会显示乱码</strong>。</p>
<p>回到出错的问题，提示我们在<strong>字体 JetBrains Mono</strong>中没有<strong>U+00A0</strong>，我们搜索一下就知道这是一个 Unicode 字符<strong>NO-BREAK SPACE</strong>。我们通过上面的了解也知道了，字体就是字符编码到字符图像的映射，但是一个字体尤其是一些有专门用途的字体（比如 JetBrains Mono 设计初衷是为软件工程显示代码用的），它不会映射所有的字符，JetBrains Mono 这个字体里就没有映射 U+00A0。<strong>这就导致在 LaTeX 编译时无法在字体中找到对应的字符图像显示</strong>。</p>
<p>所有解决办法就是要不替换掉这个字符，要不换个字体。</p>
<h2 id="解决方法">解决方法</h2>
<p>VSCode 正则搜索<code>\U00A0</code>即可搜索到相关字符，将其替换成空格。</p>
<h2 id="参考">参考</h2>
<p><a href="https://www.jianshu.com/p/d7edb679cd3d">字符，字符集，字符编码，编码页，字体 - 简书</a></p>
]]></content:encoded>
    </item>
    <item>
      <title>LaTex-listing 环境设置</title>
      <link>https://lifeislife.cn/posts/latex-listing%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE/</link>
      <pubDate>Sun, 21 Aug 2022 14:28:42 +0000</pubDate>
      <guid>https://lifeislife.cn/posts/latex-listing%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE/</guid>
      <description>&lt;h1 id=&#34;总览&#34;&gt;总览&lt;/h1&gt;
&lt;h1 id=&#34;backgroundcolor-背景颜色&#34;&gt;backgroundcolor 背景颜色&lt;/h1&gt;
&lt;h1 id=&#34;numbers-代码行号&#34;&gt;numbers 代码行号&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    numbers             = left,             &lt;span class=&#34;c&#34;&gt;% 行号靠左
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    basicstyle          = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 基本代码风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    keywordstyle        = &lt;span class=&#34;k&#34;&gt;\bfseries&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 关键字风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    commentstyle        = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 注释的风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    frame       = single,                   &lt;span class=&#34;c&#34;&gt;% 阴影效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    escapeinside=``,                        &lt;span class=&#34;c&#34;&gt;% 英文分号中可写入中文
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    breaklines          =   true,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    language            = C,                &lt;span class=&#34;c&#34;&gt;% 语言选C
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    numbers             = right,            &lt;span class=&#34;c&#34;&gt;% 行号靠左
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    basicstyle          = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 基本代码风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    keywordstyle        = &lt;span class=&#34;k&#34;&gt;\bfseries&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 关键字风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    commentstyle        = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 注释的风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    frame       = single,                   &lt;span class=&#34;c&#34;&gt;% 阴影效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    escapeinside=``,                        &lt;span class=&#34;c&#34;&gt;% 英文分号中可写入中文
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    breaklines          =   true,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    language            = C,                &lt;span class=&#34;c&#34;&gt;% 语言选C
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211015076.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211015076.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h2 id=&#34;stepnumber-间隔显示行号&#34;&gt;stepnumber 间隔显示行号&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    numbers             = right,            &lt;span class=&#34;c&#34;&gt;% 行号靠左
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    stepnumber          = 2,                &lt;span class=&#34;c&#34;&gt;% 每两行显示一次行号
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;firstnumber-开始行号&#34;&gt;firstnumber 开始行号&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;firstnumber = 10 开始行号为 10&lt;/li&gt;
&lt;li&gt;firstnumber = last 开始行号为上一段 listing 的结束行号&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;xleftmarginxrightmarginaboveskipbelow-距离外部元素距离&#34;&gt;xleftmargin/xrightmargin/aboveskip/below 距离外部元素距离&lt;/h1&gt;
&lt;p&gt;设置代码块上下左右的距离，与外部元素的距离，而不是代码与边框的距离。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    basicstyle          = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 基本代码风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    numbers             = left,            &lt;span class=&#34;c&#34;&gt;% 行号靠左
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    keywordstyle        = &lt;span class=&#34;k&#34;&gt;\bfseries&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 关键字风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    commentstyle        = &lt;span class=&#34;k&#34;&gt;\ttfamily&lt;/span&gt;,        &lt;span class=&#34;c&#34;&gt;% 注释的风格
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    frame       = single,                   &lt;span class=&#34;c&#34;&gt;% 阴影效果
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    escapeinside=``,                        &lt;span class=&#34;c&#34;&gt;% 英文分号中可写入中文
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    xleftmargin=0em,xrightmargin=0em, aboveskip=0em,belowskip=0em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    breaklines          =   true,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    language            = C,                &lt;span class=&#34;c&#34;&gt;% 语言选C
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211031682.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211031682.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-Bash&#34; data-lang=&#34;Bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;se&#34;&gt;\l&lt;/span&gt;stset&lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;basicstyle&lt;/span&gt;          &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\t&lt;/span&gt;tfamily,        % 基本代码风格
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;numbers&lt;/span&gt;             &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; left,            % 行号靠左
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;keywordstyle&lt;/span&gt;        &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;fseries,        % 关键字风格
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;commentstyle&lt;/span&gt;        &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\t&lt;/span&gt;tfamily,        % 注释的风格
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;frame&lt;/span&gt;               &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; single,                   % 线框
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;escapeinside&lt;/span&gt;        &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;sb&#34;&gt;``&lt;/span&gt;,                        % 英文分号中可写入中文
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;xleftmargin&lt;/span&gt;         &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;5em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;xrightmargin&lt;/span&gt;        &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0em, 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;aboveskip&lt;/span&gt;           &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;2em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;belowskip&lt;/span&gt;           &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0em,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;breaklines&lt;/span&gt;          &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;   true,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;language&lt;/span&gt;            &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; C,                % 语言选C
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211030490.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211030490.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;frame-边框样式&#34;&gt;frame 边框样式&lt;/h1&gt;
&lt;p&gt;设置边框样式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;none:无框&lt;/li&gt;
&lt;li&gt;single:单线框&lt;/li&gt;
&lt;li&gt;leftline,topline,rightline,bottomline:上下左右的线&lt;/li&gt;
&lt;li&gt;ltrb:上面参数的缩写，frame=lr 表示左右有线&lt;/li&gt;
&lt;li&gt;LTRB:大写表示双线&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  frame               = single,        &lt;span class=&#34;c&#34;&gt;% 线框
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  frame               = shadowbox,        &lt;span class=&#34;c&#34;&gt;% 阴影
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://secure2.wostatic.cn/static/3tyNfsqexLHfHPpcdEmPzT/image.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://secure2.wostatic.cn/static/3tyNfsqexLHfHPpcdEmPzT/image.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  frame               = LR,        &lt;span class=&#34;c&#34;&gt;% 左右边框双线
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211413702.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211413702.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;rulesepcolor-阴影颜色&#34;&gt;rulesepcolor 阴影颜色&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  frame               = shadowbox,        &lt;span class=&#34;c&#34;&gt;% 阴影
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  rulesepcolor= &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt; red!20!green!20!blue!20&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; , &lt;span class=&#34;c&#34;&gt;% 阴影颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211415065.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211415065.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;rulecolor-边框颜色&#34;&gt;rulecolor 边框颜色&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    rulecolor           = &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;red&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;,      &lt;span class=&#34;c&#34;&gt;% 边框颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211422584.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211422584.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;frameround-边框倒角&#34;&gt;frameround 边框倒角&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  frameround          = fftt,        &lt;span class=&#34;c&#34;&gt;% 边框倒角，f表示尖角，t表示倒角，顺序是第一个字母表示右上角，顺时针
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211419962.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211419962.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;framesep-边框与代码的距离&#34;&gt;framesep 边框与代码的距离&lt;/h1&gt;
&lt;p&gt;代码不会移动，动的是边框。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framesep           = 6em,              &lt;span class=&#34;c&#34;&gt;% 边框与代码的距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211435956.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211435956.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framesep           = 6em,              &lt;span class=&#34;c&#34;&gt;% 边框与代码的距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211436155.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211436155.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;framexleftmarginframexrightmarginframeytopmarginframeybottommargin-边框与代码距离&#34;&gt;framexleftmargin/framexrightmargin/frameytopmargin/frameybottommargin 边框与代码距离&lt;/h1&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexleftmargin    = -2em,           &lt;span class=&#34;c&#34;&gt;% 左边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexrightmargin   = -5em,           &lt;span class=&#34;c&#34;&gt;% 右边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexbottommargin  = 2em,            &lt;span class=&#34;c&#34;&gt;% 下边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framextopmargin     = 2em,            &lt;span class=&#34;c&#34;&gt;% 上边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211442407.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211442407.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexleftmargin    = 1em,           &lt;span class=&#34;c&#34;&gt;% 左边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexrightmargin   = 1em,           &lt;span class=&#34;c&#34;&gt;% 右边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framexbottommargin  = 0em,            &lt;span class=&#34;c&#34;&gt;% 下边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    framextopmargin     = 0em,            &lt;span class=&#34;c&#34;&gt;% 上边框与代码距离
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211444676.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211444676.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;breaklines-强制换行&#34;&gt;breaklines 强制换行&lt;/h1&gt;
&lt;p&gt;设置代码超长时自动换行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    breaklines         = false,           &lt;span class=&#34;c&#34;&gt;% 不换行
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211448116.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211448116.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    breaklines         = true,           &lt;span class=&#34;c&#34;&gt;% 不换行
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211447939.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211447939.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h2 id=&#34;numberstylekeywordstyleidentifierstylecommentstylecommentstyle-行号关键字标识符注释的样式&#34;&gt;numberstyle/keywordstyle/identifierstyle/commentstyle/commentstyle 行号、关键字、标识符、注释的样式&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-LaTeX&#34; data-lang=&#34;LaTeX&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-background&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;F7F7F7&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-rule&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;B3B2B3&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-numbers&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;B3B2B3&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-text-color&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;000000&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-keyword&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;435489&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-identifier&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;435489&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-string&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;00999A&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-comment&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;8E8E8E&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\definecolor&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-javadoc-comment&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;HTML&lt;span class=&#34;nb&#34;&gt;}{&lt;/span&gt;006CA9&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;\lstset&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    numberstyle         = &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-numbers&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;,      &lt;span class=&#34;c&#34;&gt;% 行号颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    keywordstyle        = &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-keyword&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;,      &lt;span class=&#34;c&#34;&gt;% 关键字颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    identifierstyle     = &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-identifier&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;,   &lt;span class=&#34;c&#34;&gt;% 变量颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    commentstyle        = &lt;span class=&#34;k&#34;&gt;\color&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;{&lt;/span&gt;listing-comment&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt;,      &lt;span class=&#34;c&#34;&gt;% 注释颜色
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;}&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211618598.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211618598.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
</description>
      <content:encoded><![CDATA[<h1 id="总览">总览</h1>
<h1 id="backgroundcolor-背景颜色">backgroundcolor 背景颜色</h1>
<h1 id="numbers-代码行号">numbers 代码行号</h1>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    numbers             = left,             <span class="c">% 行号靠左
</span></span></span><span class="line"><span class="cl">    basicstyle          = <span class="k">\ttfamily</span>,        <span class="c">% 基本代码风格
</span></span></span><span class="line"><span class="cl">    keywordstyle        = <span class="k">\bfseries</span>,        <span class="c">% 关键字风格
</span></span></span><span class="line"><span class="cl">    commentstyle        = <span class="k">\ttfamily</span>,        <span class="c">% 注释的风格
</span></span></span><span class="line"><span class="cl">    frame       = single,                   <span class="c">% 阴影效果
</span></span></span><span class="line"><span class="cl">    escapeinside=``,                        <span class="c">% 英文分号中可写入中文
</span></span></span><span class="line"><span class="cl">    xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
</span></span><span class="line"><span class="cl">    breaklines          =   true,
</span></span><span class="line"><span class="cl">    language            = C,                <span class="c">% 语言选C
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    numbers             = right,            <span class="c">% 行号靠左
</span></span></span><span class="line"><span class="cl">    basicstyle          = <span class="k">\ttfamily</span>,        <span class="c">% 基本代码风格
</span></span></span><span class="line"><span class="cl">    keywordstyle        = <span class="k">\bfseries</span>,        <span class="c">% 关键字风格
</span></span></span><span class="line"><span class="cl">    commentstyle        = <span class="k">\ttfamily</span>,        <span class="c">% 注释的风格
</span></span></span><span class="line"><span class="cl">    frame       = single,                   <span class="c">% 阴影效果
</span></span></span><span class="line"><span class="cl">    escapeinside=``,                        <span class="c">% 英文分号中可写入中文
</span></span></span><span class="line"><span class="cl">    xleftmargin=2em,xrightmargin=2em, aboveskip=1em,
</span></span><span class="line"><span class="cl">    breaklines          =   true,
</span></span><span class="line"><span class="cl">    language            = C,                <span class="c">% 语言选C
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211015076.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211015076.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h2 id="stepnumber-间隔显示行号">stepnumber 间隔显示行号</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    numbers             = right,            <span class="c">% 行号靠左
</span></span></span><span class="line"><span class="cl">    stepnumber          = 2,                <span class="c">% 每两行显示一次行号
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span>
</span></span></code></pre></div><h2 id="firstnumber-开始行号">firstnumber 开始行号</h2>
<ul>
<li>firstnumber = 10 开始行号为 10</li>
<li>firstnumber = last 开始行号为上一段 listing 的结束行号</li>
</ul>
<h1 id="xleftmarginxrightmarginaboveskipbelow-距离外部元素距离">xleftmargin/xrightmargin/aboveskip/below 距离外部元素距离</h1>
<p>设置代码块上下左右的距离，与外部元素的距离，而不是代码与边框的距离。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    basicstyle          = <span class="k">\ttfamily</span>,        <span class="c">% 基本代码风格
</span></span></span><span class="line"><span class="cl">    numbers             = left,            <span class="c">% 行号靠左
</span></span></span><span class="line"><span class="cl">    keywordstyle        = <span class="k">\bfseries</span>,        <span class="c">% 关键字风格
</span></span></span><span class="line"><span class="cl">    commentstyle        = <span class="k">\ttfamily</span>,        <span class="c">% 注释的风格
</span></span></span><span class="line"><span class="cl">    frame       = single,                   <span class="c">% 阴影效果
</span></span></span><span class="line"><span class="cl">    escapeinside=``,                        <span class="c">% 英文分号中可写入中文
</span></span></span><span class="line"><span class="cl">    xleftmargin=0em,xrightmargin=0em, aboveskip=0em,belowskip=0em,
</span></span><span class="line"><span class="cl">    breaklines          =   true,
</span></span><span class="line"><span class="cl">    language            = C,                <span class="c">% 语言选C
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211031682.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211031682.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-Bash" data-lang="Bash"><span class="line"><span class="cl"><span class="se">\l</span>stset<span class="o">{</span>
</span></span><span class="line"><span class="cl">    <span class="nv">basicstyle</span>          <span class="o">=</span> <span class="se">\t</span>tfamily,        % 基本代码风格
</span></span><span class="line"><span class="cl">    <span class="nv">numbers</span>             <span class="o">=</span> left,            % 行号靠左
</span></span><span class="line"><span class="cl">    <span class="nv">keywordstyle</span>        <span class="o">=</span> <span class="se">\b</span>fseries,        % 关键字风格
</span></span><span class="line"><span class="cl">    <span class="nv">commentstyle</span>        <span class="o">=</span> <span class="se">\t</span>tfamily,        % 注释的风格
</span></span><span class="line"><span class="cl">    <span class="nv">frame</span>               <span class="o">=</span> single,                   % 线框
</span></span><span class="line"><span class="cl">    <span class="nv">escapeinside</span>        <span class="o">=</span><span class="sb">``</span>,                        % 英文分号中可写入中文
</span></span><span class="line"><span class="cl">    <span class="nv">xleftmargin</span>         <span class="o">=</span>5em,
</span></span><span class="line"><span class="cl">    <span class="nv">xrightmargin</span>        <span class="o">=</span>0em, 
</span></span><span class="line"><span class="cl">    <span class="nv">aboveskip</span>           <span class="o">=</span>2em,
</span></span><span class="line"><span class="cl">    <span class="nv">belowskip</span>           <span class="o">=</span>0em,
</span></span><span class="line"><span class="cl">    <span class="nv">breaklines</span>          <span class="o">=</span>   true,
</span></span><span class="line"><span class="cl">    <span class="nv">language</span>            <span class="o">=</span> C,                % 语言选C
</span></span><span class="line"><span class="cl"><span class="o">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211030490.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211030490.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="frame-边框样式">frame 边框样式</h1>
<p>设置边框样式：</p>
<ul>
<li>none:无框</li>
<li>single:单线框</li>
<li>leftline,topline,rightline,bottomline:上下左右的线</li>
<li>ltrb:上面参数的缩写，frame=lr 表示左右有线</li>
<li>LTRB:大写表示双线</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">  frame               = single,        <span class="c">% 线框
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211022328.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">  frame               = shadowbox,        <span class="c">% 阴影
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://secure2.wostatic.cn/static/3tyNfsqexLHfHPpcdEmPzT/image.png">
            <img class="responsive-image" src="https://secure2.wostatic.cn/static/3tyNfsqexLHfHPpcdEmPzT/image.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">  frame               = LR,        <span class="c">% 左右边框双线
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211413702.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211413702.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="rulesepcolor-阴影颜色">rulesepcolor 阴影颜色</h1>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">  frame               = shadowbox,        <span class="c">% 阴影
</span></span></span><span class="line"><span class="cl">  rulesepcolor= <span class="k">\color</span><span class="nb">{</span> red!20!green!20!blue!20<span class="nb">}</span> , <span class="c">% 阴影颜色
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211415065.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211415065.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="rulecolor-边框颜色">rulecolor 边框颜色</h1>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    rulecolor           = <span class="k">\color</span><span class="nb">{</span>red<span class="nb">}</span>,      <span class="c">% 边框颜色
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211422584.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211422584.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="frameround-边框倒角">frameround 边框倒角</h1>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">  frameround          = fftt,        <span class="c">% 边框倒角，f表示尖角，t表示倒角，顺序是第一个字母表示右上角，顺时针
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211419962.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211419962.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="framesep-边框与代码的距离">framesep 边框与代码的距离</h1>
<p>代码不会移动，动的是边框。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    framesep           = 6em,              <span class="c">% 边框与代码的距离
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211435956.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211435956.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    framesep           = 6em,              <span class="c">% 边框与代码的距离
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211436155.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211436155.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="framexleftmarginframexrightmarginframeytopmarginframeybottommargin-边框与代码距离">framexleftmargin/framexrightmargin/frameytopmargin/frameybottommargin 边框与代码距离</h1>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    framexleftmargin    = -2em,           <span class="c">% 左边框与代码距离
</span></span></span><span class="line"><span class="cl">    framexrightmargin   = -5em,           <span class="c">% 右边框与代码距离
</span></span></span><span class="line"><span class="cl">    framexbottommargin  = 2em,            <span class="c">% 下边框与代码距离
</span></span></span><span class="line"><span class="cl">    framextopmargin     = 2em,            <span class="c">% 上边框与代码距离
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211442407.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211442407.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    framexleftmargin    = 1em,           <span class="c">% 左边框与代码距离
</span></span></span><span class="line"><span class="cl">    framexrightmargin   = 1em,           <span class="c">% 右边框与代码距离
</span></span></span><span class="line"><span class="cl">    framexbottommargin  = 0em,            <span class="c">% 下边框与代码距离
</span></span></span><span class="line"><span class="cl">    framextopmargin     = 0em,            <span class="c">% 上边框与代码距离
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211444676.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211444676.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="breaklines-强制换行">breaklines 强制换行</h1>
<p>设置代码超长时自动换行：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    breaklines         = false,           <span class="c">% 不换行
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211448116.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211448116.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    breaklines         = true,           <span class="c">% 不换行
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211447939.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211447939.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h2 id="numberstylekeywordstyleidentifierstylecommentstylecommentstyle-行号关键字标识符注释的样式">numberstyle/keywordstyle/identifierstyle/commentstyle/commentstyle 行号、关键字、标识符、注释的样式</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-LaTeX" data-lang="LaTeX"><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-background<span class="nb">}{</span>HTML<span class="nb">}{</span>F7F7F7<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-rule<span class="nb">}{</span>HTML<span class="nb">}{</span>B3B2B3<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-numbers<span class="nb">}{</span>HTML<span class="nb">}{</span>B3B2B3<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-text-color<span class="nb">}{</span>HTML<span class="nb">}{</span>000000<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-keyword<span class="nb">}{</span>HTML<span class="nb">}{</span>435489<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-identifier<span class="nb">}{</span>HTML<span class="nb">}{</span>435489<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-string<span class="nb">}{</span>HTML<span class="nb">}{</span>00999A<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-comment<span class="nb">}{</span>HTML<span class="nb">}{</span>8E8E8E<span class="nb">}</span>
</span></span><span class="line"><span class="cl"><span class="k">\definecolor</span><span class="nb">{</span>listing-javadoc-comment<span class="nb">}{</span>HTML<span class="nb">}{</span>006CA9<span class="nb">}</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">\lstset</span><span class="nb">{</span>
</span></span><span class="line"><span class="cl">    numberstyle         = <span class="k">\color</span><span class="nb">{</span>listing-numbers<span class="nb">}</span>,      <span class="c">% 行号颜色
</span></span></span><span class="line"><span class="cl">    keywordstyle        = <span class="k">\color</span><span class="nb">{</span>listing-keyword<span class="nb">}</span>,      <span class="c">% 关键字颜色
</span></span></span><span class="line"><span class="cl">    identifierstyle     = <span class="k">\color</span><span class="nb">{</span>listing-identifier<span class="nb">}</span>,   <span class="c">% 变量颜色
</span></span></span><span class="line"><span class="cl">    commentstyle        = <span class="k">\color</span><span class="nb">{</span>listing-comment<span class="nb">}</span>,      <span class="c">% 注释颜色
</span></span></span><span class="line"><span class="cl"><span class="nb">}</span> 
</span></span></code></pre></div><p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211618598.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208211618598.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
]]></content:encoded>
    </item>
    <item>
      <title>Markdown 书写 PDF 输出优雅的解决方案</title>
      <link>https://lifeislife.cn/posts/markdown%E4%B9%A6%E5%86%99pdf%E8%BE%93%E5%87%BA%E4%BC%98%E9%9B%85%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</link>
      <pubDate>Sat, 20 Aug 2022 08:28:03 +0000</pubDate>
      <guid>https://lifeislife.cn/posts/markdown%E4%B9%A6%E5%86%99pdf%E8%BE%93%E5%87%BA%E4%BC%98%E9%9B%85%E7%9A%84%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</guid>
      <description>&lt;h1 id=&#34;折腾背景&#34;&gt;折腾背景&lt;/h1&gt;
&lt;p&gt;Markdown 的简便性是 LaTeX 无法替代的，LaTeX 对排版的精准控制能力又是 Markdown 无法比拟的。一直在寻找一种能够将 Markdown 优雅地转换成 PDF 的解决方案，虽然早就听说也使用过 Pandoc 这把瑞士军刀，但是它太过强大，以致于一直都没用明白。只会简单的转换命令，但是实际效果并不好，最近学会了使用 LaTeX 模板的功能，这才让我眼前一亮，这才是我想要的结果。&lt;/p&gt;
&lt;h2 id=&#34;效果演示&#34;&gt;效果演示&lt;/h2&gt;
&lt;iframe src=&#34;https://lifeislife.cn/myjs/pdfjs/web/viewer.html?file=/misc/Markdown书写PDF输出优雅的解决方案.pdf&#34; style=&#34;width:100%;height:600px&#34;&gt;&lt;/iframe&gt;
&lt;h1 id=&#34;基础环境配置&#34;&gt;基础环境配置&lt;/h1&gt;
&lt;p&gt;Markdown 生成 PDF 主要需要使用 Pandoc 和 LaTeX 两个工具，具体安装方式如下：&lt;/p&gt;
&lt;h2 id=&#34;pandoc-的安装&#34;&gt;Pandoc 的安装&lt;/h2&gt;
&lt;p&gt;Pandoc 是由 John MacFarlane 开发的标记语言转换工具，可实现不同标记语言间的格式转换。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Windows 下的安装：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;下载&lt;a href=&#34;https://github.com/jgm/pandoc/releases&#34;&gt;安装包&lt;/a&gt;直接安装即可&lt;/li&gt;
&lt;li&gt;如果安装了 Chocolate：&lt;code&gt;choco install pandoc&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果安装了 winget：&lt;code&gt;winget install pandoc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Linux/FreeBSD下的安装：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pandoc 已经包含在大部分 Linux 发行版的官方仓库中，直接使用诸如&lt;code&gt;apt/dnf/yum/pacman&lt;/code&gt;之类的安装工具直接安装即可&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;macOS 下的安装：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brew install pandoc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;详细的安装说明参见：&lt;a href=&#34;https://pandoc.org/installing.html&#34;&gt;官方安装文档&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;latex-的安装&#34;&gt;LaTeX 的安装&lt;/h2&gt;
&lt;p&gt;LaTeX 工具，建议安装 texlive。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 下的安装：
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://zhuanlan.zhihu.com/p/41855480&#34;&gt;参考该文章&lt;/a&gt;下载完整 texlive，注意安装后需要再安装 cjk，cjk-fonts 等相关 package&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Linux/FreeBSD下的安装：
&lt;ul&gt;
&lt;li&gt;使用 &lt;code&gt;apt/dnf/yum/pacman/pkg&lt;/code&gt; 等安装工具安装 texlive、texlive-latex 等相关软件包&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;macOS 下的安装：
&lt;ul&gt;
&lt;li&gt;使用 HomeBrew 安装 texlive 即可&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;模板配置&#34;&gt;模板配置&lt;/h1&gt;
&lt;h2 id=&#34;配置-pandoc-模板&#34;&gt;配置 Pandoc 模板&lt;/h2&gt;
&lt;p&gt;为保证生成的 pdf 格式（自动插入封面、目录页、页眉页脚等信息），在本地环境中安装模板，具体步骤是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;下载&lt;a href=&#34;https://github.com/Dunky-Z/MPPL&#34;&gt;MPPL: Markdown to PDF with Pandoc via Latex&lt;/a&gt;仓库&lt;/li&gt;
&lt;li&gt;将&lt;code&gt;template/mppl.latex&lt;/code&gt;拷贝到&lt;code&gt;*/pandoc/templates&lt;/code&gt;目录下
&lt;ul&gt;
&lt;li&gt;Window 下：&lt;code&gt;C:/Users/USERNAME/AppData/Roaming/pandoc/templates&lt;/code&gt;，如果&lt;code&gt;Roaming&lt;/code&gt;没有&lt;code&gt;pandoc&lt;/code&gt;目录，请手动创建！&lt;/li&gt;
&lt;li&gt;Linux/FreeBSD/MacOS：&lt;code&gt;~/.pandoc/templates/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;配置-latex-模板&#34;&gt;配置 LaTeX 模板&lt;/h2&gt;
&lt;p&gt;模板定制主要修改模板最前面的&lt;strong&gt;模板基础配置&lt;/strong&gt;相关内容，主要可修改的包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;公司和组织，目前默认是&amp;quot;MPPL&amp;quot;&lt;/li&gt;
&lt;li&gt;正文缩进，目前默认是 2em（2 个中文字符，4 个英文字符）&lt;/li&gt;
&lt;li&gt;主要中文字体和英文字体：目前都是微软雅黑&lt;/li&gt;
&lt;li&gt;页眉、页脚展示内容，目前是：
&lt;ul&gt;
&lt;li&gt;左页眉：title&lt;/li&gt;
&lt;li&gt;右页眉：&amp;ldquo;企业机密 - 禁止外传&amp;rdquo;&lt;/li&gt;
&lt;li&gt;左页脚：company&lt;/li&gt;
&lt;li&gt;右页脚：页码&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;字体设置&#34;&gt;字体设置&lt;/h2&gt;
&lt;p&gt;目前页面默认的字体是微软雅黑，对于非 Windows 系统，可能不存在该字体，则有以下两种解决方案：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;手工安装微软雅黑字体（需要 msyh,msyhbd 两个文件）&lt;/li&gt;
&lt;li&gt;修改为其他字体，如苹方、文泉驿等&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;若需要多个团队共同使用，建议采用方案一。&lt;/p&gt;
&lt;h1 id=&#34;如何生成-pdf&#34;&gt;如何生成 PDF&lt;/h1&gt;
&lt;h2 id=&#34;pdf-文件指定-metadata-信息&#34;&gt;PDF 文件指定 metadata 信息&lt;/h2&gt;
&lt;p&gt;在每个 Markdown 最前面增加以下主要 metadata 信息，metadata 内容开始行内容为三个“-”，结束行为三个“.”，示例如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;MPPL&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;0.1&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;subtitle&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Markdown to PDF with Pandoc via LaTeX&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;2022-08&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;author&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Dominic&amp;#34;&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;company&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;COMPANYNAME&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;file-code&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;COMPANY-DEPARTMENT-00000000&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;logo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;logo-url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;./img/logo.png&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;history&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;- &lt;span class=&#34;nt&#34;&gt;version&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;V0.1&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;author&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;Dominic&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;date&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;ld&#34;&gt;2022-08-19&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;desc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;创建文档&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;其他可选配置项目如下：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;header-left: 左页眉&lt;/li&gt;
&lt;li&gt;header-right: 右页眉&lt;/li&gt;
&lt;li&gt;footer-left: 左页脚&lt;/li&gt;
&lt;li&gt;footer-right: 右页脚&lt;/li&gt;
&lt;li&gt;CJKmainfont: 主要中文字体&lt;/li&gt;
&lt;li&gt;mainfont: 主要字体&lt;/li&gt;
&lt;li&gt;lot: 是否创建表格目录&lt;/li&gt;
&lt;li&gt;lof: 是否创建图片目录&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;可选配置项中，建议除了 subtitle 外，全部在模板中定制，不在 Markdown 文件中定制&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;markdown-其他编写要求&#34;&gt;Markdown 其他编写要求&lt;/h2&gt;
&lt;p&gt;Pandoc 默认使用的 pandoc_markdown 格式，为避免 Markdown 转 pdf 格式异常，在编写 Markdown 的时候有几个原则要求：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个标题前后都必须有空行&lt;/li&gt;
&lt;li&gt;每个表格前后都必须有空行&lt;/li&gt;
&lt;li&gt;每个代码块前后收必须有空行&lt;/li&gt;
&lt;li&gt;每个列表前后必须有空行&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;总之，不同文本类型之间都要有空行&lt;/strong&gt;。&lt;/p&gt;
&lt;h2 id=&#34;生成-pdf-文件&#34;&gt;生成 PDF 文件&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pandoc --listings --pdf-engine&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;xelatex --template&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mppl.latex README.md -o README.pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;摆脱命令行优雅的-vscode-书写转换方案&#34;&gt;摆脱命令行，优雅的 VSCode 书写转换方案&lt;/h1&gt;
&lt;h2 id=&#34;vscode-与插件安装&#34;&gt;VSCode 与插件安装&lt;/h2&gt;
&lt;p&gt;打开 VSCode 编辑器，在插件页搜索 &lt;code&gt;markdown-preview-enhanced&lt;/code&gt;，接着点击 &lt;code&gt;Install&lt;/code&gt; 按钮。详情参考&lt;a href=&#34;https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/vscode-installation&#34;&gt;VS Code 安装 MPE&lt;/a&gt;。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Markdown Preview Enhanced 以下简称 MPE&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;使用-vscode-书写-markdown&#34;&gt;使用 VSCode 书写 Markdown&lt;/h2&gt;
&lt;p&gt;新建文件以&lt;code&gt;.md&lt;/code&gt;为后缀即可开始编辑 Markdown 文件，使用 MPE 实时预览与导出。&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201459472.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201459472.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h2 id=&#34;配置-mpe-使用-pandoc-导出&#34;&gt;配置 MPE 使用 Pandoc 导出&lt;/h2&gt;
&lt;p&gt;右击 MPE 的预览区域，可以看到 MPE 提供多种导出 PDF 的方案，如使用 Chrome 的 Puppeteer 导出，Prince 导出，Pandoc 导出等等。&lt;/p&gt;
&lt;p&gt;在未使用 Pandoc 前，我也一直使用 MPE 提供的 Chrome 方式导出，但是导出的 PDF 排版总是不尽如意。现在介绍如何使用 Pandoc 方式导出。&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201500627.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201500627.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;p&gt;创建 PDF 文档，你需要在 &lt;code&gt;markdown&lt;/code&gt; 文件中的 &lt;code&gt;front-matter&lt;/code&gt; 里声明 &lt;code&gt;pdf_document&lt;/code&gt; 的输出类型：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;output&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pdf_document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;latex_engine&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;xelatex&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;pandoc_args&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;--&lt;span class=&#34;l&#34;&gt;template=mppl.latex,--listings]&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nn&#34;&gt;---&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;front-matter&lt;/code&gt;：文章的最开头，也就是上文元数据放的地方。和元数据放在一起即可，如图所示：&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201526775.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201526775.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;latex_engine&lt;/code&gt;：默认情况下 PDF 文档由 &lt;code&gt;pdflatex&lt;/code&gt; 生成。你可以用 &lt;code&gt;latex_engine&lt;/code&gt; 选项来定义你想用的引擎。支持的引擎有 &lt;code&gt;pdflatex&lt;/code&gt;，&lt;code&gt;xelatex&lt;/code&gt;，以及 &lt;code&gt;lualatex&lt;/code&gt;。这里需要使用&lt;code&gt;xelatex&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;pandoc_args&lt;/code&gt;：配置 Pandoc 接受的一些参数，这里我们使用 &lt;code&gt;--template=mppl.latex&lt;/code&gt; 和 &lt;code&gt;--listings&lt;/code&gt; 来指定模板和使用 &lt;code&gt;listings&lt;/code&gt;。这里配置的参数就是执行 Pandoc 时使用的参数，以后就不需要命令行输入了。这里使用上文的&lt;code&gt;mppl.latex&lt;/code&gt;模板。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;配置完之后，右击预览界面，选择 Pandoc 导出，稍等片刻，即可生成 PDF 文件。&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201537508.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201537508.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h1 id=&#34;常见问题解决&#34;&gt;常见问题解决&lt;/h1&gt;
&lt;h2 id=&#34;latex-相关错误&#34;&gt;LaTeX 相关错误&lt;/h2&gt;
&lt;p&gt;VSCode 导出出错时报错信息较短，并且常常不知道具体报错原因及位置，因为是 LaTeX 转换成 PDF 的过程中出现的错误。报错位置是 LaTeX 中间源码的位置，而不是 VSCode 中的位置。这时候我常用的方法是先将 Markdown 转为 LaTeX，然后再转为 PDF，在 LaTeX 编辑器里就可以看到错误位置了。&lt;/p&gt;
&lt;p&gt;比如下面这个错误，我们能看到一些报错信息&lt;code&gt;cant use \spacefactor in math mode&lt;/code&gt;，但是并不知道具体哪里的错误。从信息里可以看出和&lt;code&gt;\LaTex&lt;/code&gt;有关，大概能推测出是使用了这个命令，因为文章里使用了这个命令的地方只有一处。但是如果有其他的错误，就很难确定了。&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201655326.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201655326.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;h3 id=&#34;markdown-转换-latex&#34;&gt;Markdown 转换 LaTeX&lt;/h3&gt;
&lt;p&gt;这里还是以模板仓库的&lt;code&gt;README.md&lt;/code&gt;为例，当然这个文件是可以正常转换 PDF 的，不会报错。这里只是拿&lt;code&gt;README.md&lt;/code&gt;做一个如何使用命令的演示。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pandoc --listings --template&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;mppl.latex -s README.md -o README.tex
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;latex-编辑器打开以-texstudio-为例&#34;&gt;LaTeX 编辑器打开，以 TexStudio 为例&lt;/h3&gt;
&lt;p&gt;打开&lt;code&gt;README.tex&lt;/code&gt;文件，编译：


&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201708811.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201708811.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;p&gt;

&lt;!DOCTYPE html&gt;
&lt;html lang=&#34;en&#34;&gt;
&lt;head&gt;
    &lt;meta charset=&#34;UTF-8&#34;&gt;
    &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1.0&#34;&gt;
    &lt;title&gt;Responsive Image&lt;/title&gt;
    &lt;style&gt;
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    
    &lt;div class=&#34;post-img-view&#34;&gt;
        &lt;a data-fancybox=&#34;gallery&#34; href=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201717673.png&#34;&gt;
            &lt;img class=&#34;responsive-image&#34; src=&#34;https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201717673.png&#34; alt=&#34;&#34;  style=&#34;margin: 0 auto;&#34;/&gt;
        &lt;/a&gt;
    &lt;/div&gt;
    

    &lt;script&gt;
        document.addEventListener(&#34;DOMContentLoaded&#34;, function() {
            var images = document.querySelectorAll(&#34;.responsive-image&#34;);
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + &#34;px&#34;;
            });
        });
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;&lt;/p&gt;
&lt;p&gt;我们可以快速的定位到问题出现的位置，只要搜索相关问题即可。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;\LaTeX{} 这个宏不能用在数学模式下。但是因为我在 Markdown 里必须使用美元符号&lt;code&gt;$$&lt;/code&gt;才能表示 LaTeX 环境，才能正确输出 LaTeX 符号，而 Markdown 转换成 LaTeX 源码时，这个宏就会被包裹在数学环境里，就会报错。如果我想在 PDF 里显示这个符号，那就在 Markdown 里不使用美元符号&lt;code&gt;$$&lt;/code&gt;，而是直接输入&lt;code&gt;\LaTeX{}&lt;/code&gt;即可，再导出 PDF 时就不会报错。&lt;/p&gt;
&lt;/blockquote&gt;
</description>
      <content:encoded><![CDATA[<h1 id="折腾背景">折腾背景</h1>
<p>Markdown 的简便性是 LaTeX 无法替代的，LaTeX 对排版的精准控制能力又是 Markdown 无法比拟的。一直在寻找一种能够将 Markdown 优雅地转换成 PDF 的解决方案，虽然早就听说也使用过 Pandoc 这把瑞士军刀，但是它太过强大，以致于一直都没用明白。只会简单的转换命令，但是实际效果并不好，最近学会了使用 LaTeX 模板的功能，这才让我眼前一亮，这才是我想要的结果。</p>
<h2 id="效果演示">效果演示</h2>
<iframe src="/myjs/pdfjs/web/viewer.html?file=/misc/Markdown书写PDF输出优雅的解决方案.pdf" style="width:100%;height:600px"></iframe>
<h1 id="基础环境配置">基础环境配置</h1>
<p>Markdown 生成 PDF 主要需要使用 Pandoc 和 LaTeX 两个工具，具体安装方式如下：</p>
<h2 id="pandoc-的安装">Pandoc 的安装</h2>
<p>Pandoc 是由 John MacFarlane 开发的标记语言转换工具，可实现不同标记语言间的格式转换。</p>
<ul>
<li>
<p>Windows 下的安装：</p>
<ul>
<li>下载<a href="https://github.com/jgm/pandoc/releases">安装包</a>直接安装即可</li>
<li>如果安装了 Chocolate：<code>choco install pandoc</code></li>
<li>如果安装了 winget：<code>winget install pandoc</code></li>
</ul>
</li>
<li>
<p>Linux/FreeBSD下的安装：</p>
<ul>
<li>Pandoc 已经包含在大部分 Linux 发行版的官方仓库中，直接使用诸如<code>apt/dnf/yum/pacman</code>之类的安装工具直接安装即可</li>
</ul>
</li>
<li>
<p>macOS 下的安装：</p>
<ul>
<li><code>brew install pandoc</code></li>
</ul>
</li>
</ul>
<blockquote>
<p>详细的安装说明参见：<a href="https://pandoc.org/installing.html">官方安装文档</a></p>
</blockquote>
<h2 id="latex-的安装">LaTeX 的安装</h2>
<p>LaTeX 工具，建议安装 texlive。</p>
<ul>
<li>Windows 下的安装：
<ul>
<li><a href="https://zhuanlan.zhihu.com/p/41855480">参考该文章</a>下载完整 texlive，注意安装后需要再安装 cjk，cjk-fonts 等相关 package</li>
</ul>
</li>
<li>Linux/FreeBSD下的安装：
<ul>
<li>使用 <code>apt/dnf/yum/pacman/pkg</code> 等安装工具安装 texlive、texlive-latex 等相关软件包</li>
</ul>
</li>
<li>macOS 下的安装：
<ul>
<li>使用 HomeBrew 安装 texlive 即可</li>
</ul>
</li>
</ul>
<h1 id="模板配置">模板配置</h1>
<h2 id="配置-pandoc-模板">配置 Pandoc 模板</h2>
<p>为保证生成的 pdf 格式（自动插入封面、目录页、页眉页脚等信息），在本地环境中安装模板，具体步骤是：</p>
<ul>
<li>下载<a href="https://github.com/Dunky-Z/MPPL">MPPL: Markdown to PDF with Pandoc via Latex</a>仓库</li>
<li>将<code>template/mppl.latex</code>拷贝到<code>*/pandoc/templates</code>目录下
<ul>
<li>Window 下：<code>C:/Users/USERNAME/AppData/Roaming/pandoc/templates</code>，如果<code>Roaming</code>没有<code>pandoc</code>目录，请手动创建！</li>
<li>Linux/FreeBSD/MacOS：<code>~/.pandoc/templates/</code></li>
</ul>
</li>
</ul>
<h2 id="配置-latex-模板">配置 LaTeX 模板</h2>
<p>模板定制主要修改模板最前面的<strong>模板基础配置</strong>相关内容，主要可修改的包括：</p>
<ul>
<li>公司和组织，目前默认是&quot;MPPL&quot;</li>
<li>正文缩进，目前默认是 2em（2 个中文字符，4 个英文字符）</li>
<li>主要中文字体和英文字体：目前都是微软雅黑</li>
<li>页眉、页脚展示内容，目前是：
<ul>
<li>左页眉：title</li>
<li>右页眉：&ldquo;企业机密 - 禁止外传&rdquo;</li>
<li>左页脚：company</li>
<li>右页脚：页码</li>
</ul>
</li>
</ul>
<h2 id="字体设置">字体设置</h2>
<p>目前页面默认的字体是微软雅黑，对于非 Windows 系统，可能不存在该字体，则有以下两种解决方案：</p>
<ol>
<li>手工安装微软雅黑字体（需要 msyh,msyhbd 两个文件）</li>
<li>修改为其他字体，如苹方、文泉驿等</li>
</ol>
<p>若需要多个团队共同使用，建议采用方案一。</p>
<h1 id="如何生成-pdf">如何生成 PDF</h1>
<h2 id="pdf-文件指定-metadata-信息">PDF 文件指定 metadata 信息</h2>
<p>在每个 Markdown 最前面增加以下主要 metadata 信息，metadata 内容开始行内容为三个“-”，结束行为三个“.”，示例如下：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nt">title</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;MPPL&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;0.1&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">subtitle</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;Markdown to PDF with Pandoc via LaTeX&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;2022-08&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">author</span><span class="p">:</span><span class="w"> </span><span class="s2">&#34;Dominic&#34;</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">company</span><span class="p">:</span><span class="w"> </span><span class="l">COMPANYNAME</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">file-code</span><span class="p">:</span><span class="w"> </span><span class="l">COMPANY-DEPARTMENT-00000000</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">logo</span><span class="p">:</span><span class="w"> </span><span class="kc">true</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">logo-url</span><span class="p">:</span><span class="w"> </span><span class="l">./img/logo.png</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">history</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span>- <span class="nt">version</span><span class="p">:</span><span class="w"> </span><span class="l">V0.1</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">author</span><span class="p">:</span><span class="w"> </span><span class="l">Dominic</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">date</span><span class="p">:</span><span class="w"> </span><span class="ld">2022-08-19</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">desc</span><span class="p">:</span><span class="w"> </span><span class="l">创建文档</span><span class="w">
</span></span></span></code></pre></div><p>其他可选配置项目如下：</p>
<ul>
<li>header-left: 左页眉</li>
<li>header-right: 右页眉</li>
<li>footer-left: 左页脚</li>
<li>footer-right: 右页脚</li>
<li>CJKmainfont: 主要中文字体</li>
<li>mainfont: 主要字体</li>
<li>lot: 是否创建表格目录</li>
<li>lof: 是否创建图片目录</li>
</ul>
<blockquote>
<p>可选配置项中，建议除了 subtitle 外，全部在模板中定制，不在 Markdown 文件中定制</p>
</blockquote>
<h2 id="markdown-其他编写要求">Markdown 其他编写要求</h2>
<p>Pandoc 默认使用的 pandoc_markdown 格式，为避免 Markdown 转 pdf 格式异常，在编写 Markdown 的时候有几个原则要求：</p>
<ul>
<li>每个标题前后都必须有空行</li>
<li>每个表格前后都必须有空行</li>
<li>每个代码块前后收必须有空行</li>
<li>每个列表前后必须有空行</li>
</ul>
<p><strong>总之，不同文本类型之间都要有空行</strong>。</p>
<h2 id="生成-pdf-文件">生成 PDF 文件</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pandoc --listings --pdf-engine<span class="o">=</span>xelatex --template<span class="o">=</span>mppl.latex README.md -o README.pdf
</span></span></code></pre></div><h1 id="摆脱命令行优雅的-vscode-书写转换方案">摆脱命令行，优雅的 VSCode 书写转换方案</h1>
<h2 id="vscode-与插件安装">VSCode 与插件安装</h2>
<p>打开 VSCode 编辑器，在插件页搜索 <code>markdown-preview-enhanced</code>，接着点击 <code>Install</code> 按钮。详情参考<a href="https://shd101wyy.github.io/markdown-preview-enhanced/#/zh-cn/vscode-installation">VS Code 安装 MPE</a>。</p>
<blockquote>
<p>Markdown Preview Enhanced 以下简称 MPE</p>
</blockquote>
<h2 id="使用-vscode-书写-markdown">使用 VSCode 书写 Markdown</h2>
<p>新建文件以<code>.md</code>为后缀即可开始编辑 Markdown 文件，使用 MPE 实时预览与导出。</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201459472.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201459472.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h2 id="配置-mpe-使用-pandoc-导出">配置 MPE 使用 Pandoc 导出</h2>
<p>右击 MPE 的预览区域，可以看到 MPE 提供多种导出 PDF 的方案，如使用 Chrome 的 Puppeteer 导出，Prince 导出，Pandoc 导出等等。</p>
<p>在未使用 Pandoc 前，我也一直使用 MPE 提供的 Chrome 方式导出，但是导出的 PDF 排版总是不尽如意。现在介绍如何使用 Pandoc 方式导出。</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201500627.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201500627.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<p>创建 PDF 文档，你需要在 <code>markdown</code> 文件中的 <code>front-matter</code> 里声明 <code>pdf_document</code> 的输出类型：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nt">output</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">  </span><span class="nt">pdf_document</span><span class="p">:</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">latex_engine</span><span class="p">:</span><span class="w"> </span><span class="l">xelatex</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="w">    </span><span class="nt">pandoc_args</span><span class="p">:</span><span class="w"> </span><span class="p">[</span>--<span class="l">template=mppl.latex,--listings]</span><span class="w">
</span></span></span><span class="line"><span class="cl"><span class="nn">---</span><span class="w">
</span></span></span></code></pre></div><ul>
<li>
<p><code>front-matter</code>：文章的最开头，也就是上文元数据放的地方。和元数据放在一起即可，如图所示：</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201526775.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201526775.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
</li>
<li>
<p><code>latex_engine</code>：默认情况下 PDF 文档由 <code>pdflatex</code> 生成。你可以用 <code>latex_engine</code> 选项来定义你想用的引擎。支持的引擎有 <code>pdflatex</code>，<code>xelatex</code>，以及 <code>lualatex</code>。这里需要使用<code>xelatex</code>。</p>
</li>
<li>
<p><code>pandoc_args</code>：配置 Pandoc 接受的一些参数，这里我们使用 <code>--template=mppl.latex</code> 和 <code>--listings</code> 来指定模板和使用 <code>listings</code>。这里配置的参数就是执行 Pandoc 时使用的参数，以后就不需要命令行输入了。这里使用上文的<code>mppl.latex</code>模板。</p>
</li>
</ul>
<p>配置完之后，右击预览界面，选择 Pandoc 导出，稍等片刻，即可生成 PDF 文件。</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201537508.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201537508.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h1 id="常见问题解决">常见问题解决</h1>
<h2 id="latex-相关错误">LaTeX 相关错误</h2>
<p>VSCode 导出出错时报错信息较短，并且常常不知道具体报错原因及位置，因为是 LaTeX 转换成 PDF 的过程中出现的错误。报错位置是 LaTeX 中间源码的位置，而不是 VSCode 中的位置。这时候我常用的方法是先将 Markdown 转为 LaTeX，然后再转为 PDF，在 LaTeX 编辑器里就可以看到错误位置了。</p>
<p>比如下面这个错误，我们能看到一些报错信息<code>cant use \spacefactor in math mode</code>，但是并不知道具体哪里的错误。从信息里可以看出和<code>\LaTex</code>有关，大概能推测出是使用了这个命令，因为文章里使用了这个命令的地方只有一处。但是如果有其他的错误，就很难确定了。</p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201655326.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201655326.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<h3 id="markdown-转换-latex">Markdown 转换 LaTeX</h3>
<p>这里还是以模板仓库的<code>README.md</code>为例，当然这个文件是可以正常转换 PDF 的，不会报错。这里只是拿<code>README.md</code>做一个如何使用命令的演示。</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pandoc --listings --template<span class="o">=</span>mppl.latex -s README.md -o README.tex
</span></span></code></pre></div><h3 id="latex-编辑器打开以-texstudio-为例">LaTeX 编辑器打开，以 TexStudio 为例</h3>
<p>打开<code>README.tex</code>文件，编译：


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201708811.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201708811.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Responsive Image</title>
    <style>
        .post-img-view {
            text-align: center;
        }
        .responsive-image {
            display: block;
            margin: 0 auto;
        }
    </style>
</head>
<body>
    
    <div class="post-img-view">
        <a data-fancybox="gallery" href="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201717673.png">
            <img class="responsive-image" src="https://picbed-1311007548.cos.ap-shanghai.myqcloud.com/markdown_picbed/img/202208201717673.png" alt=""  style="margin: 0 auto;"/>
        </a>
    </div>
    

    <script>
        document.addEventListener("DOMContentLoaded", function() {
            var images = document.querySelectorAll(".responsive-image");
            var maxHeight = window.innerHeight / 3;
            images.forEach(function(image) {
                image.style.maxHeight = maxHeight + "px";
            });
        });
    </script>
</body>
</html></p>
<p>我们可以快速的定位到问题出现的位置，只要搜索相关问题即可。</p>
<blockquote>
<p>\LaTeX{} 这个宏不能用在数学模式下。但是因为我在 Markdown 里必须使用美元符号<code>$$</code>才能表示 LaTeX 环境，才能正确输出 LaTeX 符号，而 Markdown 转换成 LaTeX 源码时，这个宏就会被包裹在数学环境里，就会报错。如果我想在 PDF 里显示这个符号，那就在 Markdown 里不使用美元符号<code>$$</code>，而是直接输入<code>\LaTeX{}</code>即可，再导出 PDF 时就不会报错。</p>
</blockquote>
]]></content:encoded>
    </item>
  </channel>
</rss>
