清世何须忧庙廊——汉语诗词 LaTeX 排版样式

作者想一些中国古典诗歌,发现大多数早期的例子都是为了英文诗而创作的环境。 下面是作者给出唐诗选集的布局实例。 它不是一般解决方案,而只是一个特定的例子。有喜欢的用户可以下载试用下。Happy LaTeXing!

首先是需要汉字注音的宏包和tcolorbox宏包,我们在导言区插入进去:

%漢字自動注音
\usepackage{xpinyin}
%漢字注音設置
\xpinyinsetup{ratio = .4,font =\ubufont,multiple={\color{black}}}
%制作诗歌显示环境
\usepackage{tcolorbox}

下一步,我们定义下唐诗诗歌的环境:

\newenvironment{poem}[3] %code={\doublespacing},
{\begin{tcolorbox}[left=1mm,right=1mm,top=3mm,bottom=2mm,enhanced,breakable,pad at break*=.5mm,title=#2,
colframe=blue!50!black,colback=blue!10!white,colbacktitle=blue!5!myred!10!white,
fonttitle=\Large\HGBM,coltitle=black,attach boxed title to top center=
{yshift=-0.25mm-\tcboxedtitleheight/2,yshifttext=2mm-\tcboxedtitleheight/2},
boxed title style={boxrule=0.5mm,
frame code={ \path[tcb fill frame] ([xshift=-4mm]frame.west)
-- (frame.north west) -- (frame.north east) -- ([xshift=4mm]frame.east)
-- (frame.south east) -- (frame.south west) -- cycle; },
interior code={ \path[tcb fill interior] ([xshift=-2mm]interior.west)
-- (interior.north west) -- (interior.north east)
-- ([xshift=2mm]interior.east) -- (interior.south east) -- (interior.south west)
-- cycle;} }]
      \index[ian]{#1!#2}\index[ibn]{#2[#1]}\begin{pinyinscope} \begin{center}\subsectionmark{#2}\phantomsection
      \addcontentsline{toc}{subsection}{#2}\label{#1《#2》}\hypertarget{#1《#2》}
      \LARGE\linespread{1.4}\selectfont #3  %\HGBUM\ZSKS
}
{\end{center}\end{pinyinscope}\end{tcolorbox}}

录入的时候如下:

\section{薛正明}
\begin{poemz}{薛正明}{遊鴈蕩}
東風驛路馬蹄香,曉起行春到夕陽。\\
三月鶯啼花柳寺,幾家人住水雲鄉。\\
名山不用問樵字,清世何須憂廟廊。\\
且脫綸巾隨洞客,紫簫吹月夜天涼。
\end{poemz}
此詩本事又可參見\lref{王績《野望》}。另,\textsf{曹丕}\emph{典論\bn 論文}:
「不假良史之辭,不托飛馳之勢,而聲名自傳於後。」\pref{虞世南《蟬》}

显示效果如下:

那么上图中的 引用注释说明如何实现的呢:

%邊註交互引用
\NewDocumentCommand\pref{m}
{\marginpar{\ding{43}\HGB\ubufontc\hyperlink{#1}#1(\pageref{#1})}}
%正文交互引用
\NewDocumentCommand\lref{m}
{{\HGB\ubufontc\hyperlink{#1}#1(\pageref{#1})}}

效果如下:

选自:http://mengxianjun.org/2016/12/11/TangPoem/

汉语诗词 LaTeX 排版样式的更多相关文章

  1. Latex排版全解

    Latex排版全解 LATEX(英语发音:/ˈleɪtɛk/ LAY-tek或英语发音:/ˈlɑːtɛk/ LAH-tek,音译“拉泰赫”),是一种基于TEX的排版系统,由美国电脑学家莱斯利•兰伯特在 ...

  2. Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍

    Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...

  3. Bootstrap 一. 排版样式(内联文本元素,对齐,大小写,缩略语,地址文本,引用文本,列表排版 ,代码 )

    第 2 章 排版样式 在 h1 ~ h6 元素之间,还可以嵌入一个 small 元素作为副标题 <h1>Bootstrap 框架 <small>Bootstrap 小标题< ...

  4. 【分享】LateX排版软件学习教程合集

    来源于:http://www.hejizhan.com/html/xueke/416/x416_13.html  LATEX2e科技排版指南.pdf 8.3 MB  An Example LaTeX ...

  5. Bootstrap -- 网格系统、排版样式类、 <blockquote>、 <abbr> 元素

    Bootstrap -- 网格系统.排版样式类. <blockquote>. <abbr> 元素 1. Bootstrap 提供了一套响应式.移动设备优先的流式网格系统,随着屏 ...

  6. 13 ,CSS 入门基础,行内排版内嵌式排版和外部排版样式

    1.认识 CSS 2.传统 HTML 设计网页版面的缺点 3.CSS 的特点 4.CSS 的排版样式 13.1 认识CSS CSS的英文全名是 Cascading Style Sheets,中文可翻译 ...

  7. bootstrap之排版样式

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 第二百三十二节,Bootstrap排版样式

    Bootstrap排版样式 学习要点: 1.页面排版 本节课我们主要学习一下 Bootstrap 全局 CSS 样式中的排版样式,包括了标题.页面 主体.对齐.列表等常规内容. 一.页面排版 Boot ...

  9. Latex排版全解【转载】

    Latex排版全解 https://www.cnblogs.com/jingwhale/p/4250296.html

随机推荐

  1. go并发版爬虫

    并发版爬虫 代码实现 /crawler/main.go package main import ( "learn/crawler/engine" "learn/crawl ...

  2. vue 父子通信

    节制地使用 $parent 和 $children - 它们的主要目的是作为访问组件的应急方法.更推荐用 props 和 events 实现父子组件通信

  3. 搁置:vue-element-admin

    初衷 了解桌面应用类前端搭建的解决方案 -------------------------------------------------------------------------------- ...

  4. Vue中echarts的使用

    1.安装 npm install echarts --save 2. 导入并挂载 <template>   <!-- 1. 为ECharts准备一个具备大小(宽高)的Dom --&g ...

  5. 11、C++之const类成员变量,const成员函数

    //转载 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变. 在设计类的时候,一个原则就是对于不改变数据成员的成员函数都要在后面加 cons ...

  6. Uva12716 素数筛思想的应用

    Uva12716 题意: 输入整数n,1<= n <=3e7,问有多少个整数对(a,b)满足:1 <= b <= a <= n,且gcd(a,b)== a XOR b 解 ...

  7. gulp常用插件之cssnano使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 cssnano这是一款将你的 CSS 文件做 多方面的的优化,以确保最终生成的文件 对生产环境来说体积是最小的插件. 更多使用文档请点击访问cha ...

  8. Oracle中表与包体用户没有操作权限问题

    一.表1.在stg用户下查看table_name 表是否存在select * from table_name 2 在表所在用户执行(授权)grant select,update on table_na ...

  9. 【Vue2.x笔记3】从源码看watch对象

    初始化 function initWatch (vm: Component, watch: Object) { for (const key in watch) { const handler = w ...

  10. dubbo之心跳机制

    在网络传输中,怎么确保通道连接的可用性是一个很重要的问题,简单的说,在网络通信中有客户端和服务端,一个负责发送请求,一个负责接收请求,在保证连接有效性的背景下,这两个物体扮演了什么角色,心跳机制能有效 ...