半肾
精华
|
战斗力 鹅
|
回帖 0
注册时间 2019-8-30
|
是的, 你没有看错.
本帖的目的就是把装机量巨大的Word, 排版自由度极高的InDesign,
诞生了AA的HTML, 一秒就能正确显示的记事本都放在一边,
用晦涩(?)的Latex排版出字符画.
在2017年有这样的一篇论文: https://nips2017creativity.github.io/doc/ASCII_Art_Synthesis.pdf
作者用了当时崭露头角的深度学习方法, 做出了比较优秀的线稿转ASCII ART模型.
然而, 在向世界展示自己的作品的时候, 因为没有一个排版AA的方案,
作者只能以图片的形式加入AA画.
这种妥协让我哭泣.
从那以后, 为了不让其他人经历类似的悲伤.
用Latex排版ASCII ART就成了我一个小小的执念.
今天, 我的愿望终于实现了.
在三名热心网友的帮助下, 一个可以排版AA的包诞生了.
- \ProvidesPackage{jart}[2023/03/05 Japanese ASCII Art]
- \RequirePackage{fancyvrb}
- \RequirePackage{xfp}
- \usepackage{fontspec}
- \newcommand{\turnoffxecjk}{\xeCJKsetup{xeCJKactive=false}}
- \newfontfamily\verbatimfont[%
- NFSSFamily = {myverbatimfont}%
- ]{aahub.ttf}
- \fvset{fontsize=\tiny,xleftmargin=2em}
- \newdimen\jart@num
- \jart@num=8pt\relax
- \newdimen\jart@px
- \jart@px=8pt\relax
- \DefineVerbatimEnvironment{jart}{Verbatim}{%
- formatcom=\turnoffxecjk,%
- fontfamily=myverbatimfont,%
- numbers=none,%
- framesep=0.5em,%
- rulecolor=white,%
- baselinestretch=\fpeval{\jart@num/\jart@px}%
- }
复制代码
这个包的使用也非常简单, 只需要把这个文件保存为jart.sty, 放在你的tex主文件旁边,
在加入
之后在jart环境里插入aa画即可.
- \begin{jart}
- , - ─ ─ - 、
- / , - 、_ \
- / /`′ ヽ \ 〉
- 〈 // ./'\ ヽ |/
- `' イ l l‐_- ヽト、 ヽ l
- | (| | ひ fラlヽト{、
- / ハヽ 。′ノ {
- / /r ヘ 弋l-r ´ス. ヽ
- / / > } }皿r┘ |) }
- \end{jart}
复制代码 注意, 这个包里我用了aahub这个字体, 这个字体可以从 https://font.aahub.org/ 处获取.
下载ttf文件置于sty文件旁边即可.
这个包的原理其实很简单, 我新建立了一个常用于展示代码的verbatim环境,
人工指定了比较合适的字体宽高设置.
这样任何本环境内的字符, 都会以AA画的格式进行排版.
虽然这样说起来很简单, 使用各种Tex命令对一个小白来说真是太困难了.
我手里甚至有一本Latex Companion, 不能说完全理解了, 只能说根本串不起来.
之后好不容易在网友的帮助下跑通了包, 得到了正确的排版.
又发现它和xeCJK(在latex排版中日韩文的最优包之一)不兼容, 我做了一个不可以使用日文的日式ASCII ART排版包.![](https://static.saraba1st.com/image/smiley/face2017/001.png)
![](https://p.sda1.dev/10/58e59c537b2178e18aa4aa17fece76f2/TIM_dg9h6FJyK7.png)
但这个问题最终也在有能网友的帮助下解决了.
请看, 一个页良好排版的字符画!
![](https://p.sda1.dev/10/df487684df209dc4418fd35f8e6c97ab/0001.png)
于是从此以后, 再也不会有作者为 "Latex无法排版AA画" 而苦恼了.
私以为我是给AA画做出了卓越的贡献, AA名人堂以后肯定有我一席之地.
![](https://static.saraba1st.com/image/smiley/face2017/040.png)
|
评分
-
查看全部评分
|