找回密码
 立即注册
搜索
查看: 2792|回复: 2

[原创] 使用Latex排版ASCII ART

[复制链接]
     
发表于 2023-3-6 09:59 | 显示全部楼层 |阅读模式
是的, 你没有看错.
本帖的目的就是把装机量巨大的Word, 排版自由度极高的InDesign,

诞生了AA的HTML, 一秒就能正确显示的记事本都放在一边,
用晦涩(?)的Latex排版出字符画.

在2017年有这样的一篇论文: https://nips2017creativity.github.io/doc/ASCII_Art_Synthesis.pdf
作者用了当时崭露头角的深度学习方法, 做出了比较优秀的线稿转ASCII ART模型.
然而, 在向世界展示自己的作品的时候, 因为没有一个排版AA的方案,
作者只能以图片的形式加入AA画.

这种妥协让我哭泣.

从那以后, 为了不让其他人经历类似的悲伤.
用Latex排版ASCII ART就成了我一个小小的执念.
今天, 我的愿望终于实现了.

在三名热心网友的帮助下, 一个可以排版AA的包诞生了.


  1. \ProvidesPackage{jart}[2023/03/05 Japanese ASCII Art]
  2. \RequirePackage{fancyvrb}
  3. \RequirePackage{xfp}

  4. \usepackage{fontspec}

  5. \newcommand{\turnoffxecjk}{\xeCJKsetup{xeCJKactive=false}}


  6. \newfontfamily\verbatimfont[%
  7.   NFSSFamily       = {myverbatimfont}%
  8. ]{aahub.ttf}

  9. \fvset{fontsize=\tiny,xleftmargin=2em}

  10. \newdimen\jart@num
  11. \jart@num=8pt\relax

  12. \newdimen\jart@px
  13. \jart@px=8pt\relax

  14. \DefineVerbatimEnvironment{jart}{Verbatim}{%
  15.   formatcom=\turnoffxecjk,%
  16.   fontfamily=myverbatimfont,%
  17.   numbers=none,%
  18.   framesep=0.5em,%
  19.   rulecolor=white,%
  20.   baselinestretch=\fpeval{\jart@num/\jart@px}%
  21. }
复制代码



这个包的使用也非常简单, 只需要把这个文件保存为jart.sty, 放在你的tex主文件旁边,
在加入

  1. \usepackage{jart}
复制代码

之后在jart环境里插入aa画即可.


  1. \begin{jart}
  2.       , - ─ ─ - 、
  3.      /    , - 、_  \
  4.    /   /`′ ヽ \  〉
  5.    〈  // ./'\  ヽ |/
  6.    `' イ l l‐_- ヽト、 ヽ l
  7.      | (| | ひ  fラlヽト{、
  8.      / ハヽ   。′ノ {
  9.    / /r ヘ 弋l-r ´ス. ヽ
  10.   /  / > } }皿r┘ |) }

  11. \end{jart}

复制代码
注意, 这个包里我用了aahub这个字体, 这个字体可以从 https://font.aahub.org/ 处获取.
下载ttf文件置于sty文件旁边即可.

这个包的原理其实很简单, 我新建立了一个常用于展示代码的verbatim环境,
人工指定了比较合适的字体宽高设置.
这样任何本环境内的字符, 都会以AA画的格式进行排版.

虽然这样说起来很简单, 使用各种Tex命令对一个小白来说真是太困难了.
我手里甚至有一本Latex Companion, 不能说完全理解了, 只能说根本串不起来.
之后好不容易在网友的帮助下跑通了包, 得到了正确的排版.
又发现它和xeCJK(在latex排版中日韩文的最优包之一)不兼容, 我做了一个不可以使用日文的日式ASCII ART排版包.




但这个问题最终也在有能网友的帮助下解决了.

请看, 一个页良好排版的字符画!



于是从此以后, 再也不会有作者为 "Latex无法排版AA画" 而苦恼了.
私以为我是给AA画做出了卓越的贡献, AA名人堂以后肯定有我一席之地.

评分

参与人数 4战斗力 +5 收起 理由
朝仓和美 + 2 不明觉厉
AeonsTorn + 1
西瓜田里的飞鱼 + 1 欢乐多
aritionkb + 1 好评加鹅

查看全部评分

回复

使用道具 举报

发表于 2024-10-9 01:25 | 显示全部楼层
回复

使用道具 举报

     
发表于 2024-10-9 01:31 来自手机 | 显示全部楼层
有必要挖坟吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-2-7 15:45 , Processed in 0.029786 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表