A Typst library for Academicons through the desktop fonts.
This is based on the code from duskmoon314
and the package for typst-fontawesome.
p.s. The library is based on the Academicons desktop fonts (v1.9.4)
Usage
Install the fonts
You can download the fonts from the official website
After downloading the zip file, you can install the fonts depending on your OS.
Typst web app
You can simply upload the ttf
files to the web app and use them with this package.
Mac
You can double click the ttf
files to install them.
Windows
You can right-click the ttf
files and select Install
.
Import the library
Using the typst packages
You can install the library using the typst packages:
#import "@preview/use-academicons:0.1.0": *
Manually install
Copy all files start with lib
to your project and import the library:
#import "lib.typ": *
There are three files:
lib.typ
: The main entrypoint of the library.lib-impl.typ
: The implementation ofai-icon
.lib-gen.typ
: The generated icon map and functions.
I recommend renaming these files to avoid conflicts with other libraries.
Use the icons
You can use the ai-icon
function to create an icon with its name:
#ai-icon("lattes")
Or you can use the ai-
prefix to create an icon with its name:
#ai-lattes()
(This is equivalent to #ai-icon().with("lattes")
)
Full list of icons
You can find all icons on the official website
Customization
The ai-icon
function passes args to text
, so you can customize the icon by passing parameters to it:
#ai-icon("lattes", fill: blue)
Stacking icons
The ai-stack
function can be used to create stacked icons:
#ai-stack(ai-icon-args: (fill: black), "doi", ("cv", (fill: blue, size: 20pt)))
Declaration is ai-stack(box-args: (:), grid-args: (:), ai-icon-args: (:), ..icons)
- The order of the icons is from the bottom to the top.
ai-icon-args
is used to set the default args for all icons.- You can also control the internal
box
andgrid
by passing thebox-args
andgrid-args
to theai-stack
function. - Currently, four types of icons are supported. The first three types leverage the
ai-icon
function, and the last type is just a content you want to put in the stack.str
, e.g.,"lattes"
array
, e.g.,("lattes", (fill: white, size: 5.5pt))
arguments
, e.g.arguments("lattes", fill: white)
content
, e.g.ai-lattes(fill: white)
Example
See the use-academicons.typ
file for a complete example.
Contribution
Feel free to open an issue or a pull request if you find any problems or have any suggestions.
R helper
The helper.R
script is used to get unicodes for icons and generate typst code.
Repo structure
helper.R
: The helper script to get unicodes and generate typst code.lib.typ
: The main entrypoint of the library.lib-impl.typ
: The implementation ofai-icon
.lib-gen.typ
: The generated functions of icons.example.typ
: An example file to show how to use the library.gallery.typ
: The generated gallery of icons. It is used in the example file.
License
This library is licensed under the MIT license. Feel free to use it in your project.