安迪卡馏分

安迪卡馏分

我用 svg 手工制作了练习。见附件。非常麻烦。

如果我可以用 markdown 写练习曲,然后使用 pandoc magic,我或许可以学习如何创建一个基本练习库。尽可能简单,但也尽可能“像教科书一样”,使用 Andika 的开放四、七和小节等。

在 markdown 之下,我希望学习如何使用比这更复杂的 pandoc 命令行参数进行调整:

~/lk$ pandoc --variable mainfont="Andika" lk-markdown-base-file.md --pdf-engine=xelatex -o lk-md-xelatex-pdf.pdf

我从https://pandoc.org/demos.html,以下是降价内容:

Andika fractions 0123456789

$\frac{1}{1}+\frac{1}{4}=\frac{4}{4}·\frac{1}{1}+\frac{1}{1}·\frac{1}{4}=\frac{4}{4}+\frac{1}{4}=\frac{5}{4}$

$\frac{1}{2}+\frac{1}{5}=\frac{5}{5}·\frac{1}{2}+\frac{2}{2}·\frac{1}{5}=\frac{5}{10}+\frac{2}{10}=$

$\frac{1}{3}+\frac{1}{6}=\frac{6}{6}·\frac{1}{3}+\frac{3}{3}·\frac{1}{6}=\frac{6}{18}+$

$\frac{1}{4}+\frac{1}{7}=\frac{7}{7}·\frac{1}{4}+\frac{4}{4}·\frac{1}{7}=$

$\frac{1}{5}+\frac{1}{8}=\frac{8}{8}·\frac{1}{5}+\frac{5}{5}·$

$\frac{1}{6}+\frac{1}{9}=\frac{9}{9}·\frac{1}{6}+$

$\frac{1}{7}+\frac{1}{10}=\frac{10}{10}·$

$\frac{1}{8}+\frac{1}{11}=$

$\frac{1}{9}+$

使用 svg 制作的 Andika 分数

如果我可以与 Andika 一起完成这样的分数练习而无需编写 svg 程序,那就太棒了!

答案1

总结:

您需要告诉 pandoc 在 YAML 标头中使用哪种字体:

---
mainfont: Andika
mainfontoptions: 
- CharacterVariant=1
- CharacterVariant=4
- CharacterVariant=6
- CharacterVariant=7

mathspec: true
mathfont: Andika
mathfontoptions: 
- CharacterVariant=1
- CharacterVariant=4
- CharacterVariant=6
- CharacterVariant=7
---

# Markdown below

这仅适用于 XeLaTeX。如果您需要适用于 LuaLaTeX 的解决方案,请参阅Mico 的回答

可以使用 otf 字体功能¹激活开放数字。你可以这样做fontspec

\documentclass{article}
\usepackage{fontspec}
\setmainfont[CharacterVariant={1,4,6,7}]{Andika}

\usepackage{parskip}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}

\begin{document}
Andika fractions 0123456789
\end{document}

在此处输入图片描述

Andika 现在可以在文本模式下工作,但不能在数学模式下工作。要在数学模式下使用 Andika,您必须加载mathspec而不是fontspec

\documentclass{article}
\usepackage{mathspec}
\setmainfont[CharacterVariant={1,4,6,7}]{Andika}
\setmathfont(Digits,Latin)[CharacterVariant={1,4,6,7}]{Andika}

\usepackage{parskip}
\setlength{\parindent}{0pt}
\setlength{\parskip}{6pt plus 2pt minus 1pt}

\begin{document}
Andika fractions 0123456789

\(\frac{1}{1}+\frac{1}{4}=\frac{4}{4}\cdot\frac{1}{1}+\frac{1}{1}\cdot\frac{1}{4}=\frac{4}{4}+\frac{1}{4}=\frac{5}{4}\)

\(\frac{1}{2}+\frac{1}{5}=\frac{5}{5}\cdot\frac{1}{2}+\frac{2}{2}\cdot\frac{1}{5}=\frac{5}{10}+\frac{2}{10}=\)

\(\frac{1}{3}+\frac{1}{6}=\frac{6}{6}\cdot\frac{1}{3}+\frac{3}{3}\cdot\frac{1}{6}=\frac{6}{18}+\)

\(\frac{1}{4}+\frac{1}{7}=\frac{7}{7}\cdot\frac{1}{4}+\frac{4}{4}\cdot\frac{1}{7}=\)

\(\frac{1}{5}+\frac{1}{8}=\frac{8}{8}\cdot\frac{1}{5}+\frac{5}{5}\cdot\)

\(\frac{1}{6}+\frac{1}{9}=\frac{9}{9}\cdot\frac{1}{6}+\)

\(\frac{1}{7}+\frac{1}{10}=\frac{10}{10}\cdot\)

\(\frac{1}{8}+\frac{1}{11}=\)

\(\frac{1}{9}+\)

\end{document}

要使用此解决方案,pandoc您必须告诉它使用mathspec上面的选项并指定主字体和数学字体。您可以在 YAML 标头²中执行此操作:

---
mainfont: Andika
mainfontoptions: 
- CharacterVariant=1
- CharacterVariant=4
- CharacterVariant=6
- CharacterVariant=7

mathspec: true
mathfont: Andika
mathfontoptions: 
- CharacterVariant=1
- CharacterVariant=4
- CharacterVariant=6
- CharacterVariant=7
---

Andika fractions 0123456789

$\frac{1}{1}+\frac{1}{4}=\frac{4}{4}\cdot\frac{1}{1}+\frac{1}{1}\cdot\frac{1}{4}=\frac{4}{4}+\frac{1}{4}=\frac{5}{4}$

$\frac{1}{2}+\frac{1}{5}=\frac{5}{5}\cdot\frac{1}{2}+\frac{2}{2}\cdot\frac{1}{5}=\frac{5}{10}+\frac{2}{10}=$

$\frac{1}{3}+\frac{1}{6}=\frac{6}{6}\cdot\frac{1}{3}+\frac{3}{3}\cdot\frac{1}{6}=\frac{6}{18}+$

$\frac{1}{4}+\frac{1}{7}=\frac{7}{7}\cdot\frac{1}{4}+\frac{4}{4}\cdot\frac{1}{7}=$

$\frac{1}{5}+\frac{1}{8}=\frac{8}{8}\cdot\frac{1}{5}+\frac{5}{5}\cdot$

$\frac{1}{6}+\frac{1}{9}=\frac{9}{9}\cdot\frac{1}{6}+$

$\frac{1}{7}+\frac{1}{10}=\frac{10}{10}\cdot$

$\frac{1}{8}+\frac{1}{11}=$

$\frac{1}{9}+$

现在您可以照常调用 pandoc:

$ pandoc input.md --pdf-engine=xelatex -o output.pdf

在此处输入图片描述 –––

  1. 您可以使用otfinfo -f Andika-R.ttf它来列出所有可用的字体功能。
  2. 可以使用简单的 YAML 序列

答案2

1这是一个适用于 LuaLaTeX 和 XeLaTeX 的解决方案,同时使用数字、467和的非默认变体9。此外,它还采用了一个环境,以帮助水平和垂直array对齐所有分数项、+符号和符号。=

请注意,由于 Andika 是一种文本字体,而不是数学字体,因此只有数学术语中的数字采用 Andika;所有其他字形(例如+=)均使用拉丁现代数学呈现。

下面的代码实际上提供了两个解决方案,而不仅仅是一个解决方案。第一个使用显示样式的数学运算,而第二个使用文本样式的数学运算。差异最明显地体现在项的大小上\frac

在此处输入图片描述

\documentclass{article}
\usepackage{array}    % for '\newcolumntype' macro
\usepackage{booktabs} % for '\addlinespace' macro
\newcolumntype{C}{>{{}}c<{{}}}       % column type for = and + operators
\newcolumntype{H}{>{\displaystyle}c}

\usepackage{unicode-math}

\setmainfont{Andika}[CharacterVariant={1,4,6,7}]
\setmathfont{Latin Modern Math}
\setmathfont{Andika}[range=up/{num},
                     CharacterVariant={1,4,6,7}]


\begin{document}
Andika numerals 0123456789

Solution 1: display-style math and fractions
\[
\setlength{\arraycolsep}{0pt}
\begin{array}{*{8}{HC}H}
\frac{1}{1} &+&\frac{1}{4} &=& \frac{4}{4} &\cdot& \frac{1}{1} &+&
   \frac{1}{1} &\cdot& \frac{1}{4} &=& \frac{4}{4} &+&\frac{1}{4} &=& 
   \frac{5}{4}\\ \addlinespace
\frac{1}{2} &+&\frac{1}{5} &=& \frac{5}{5} &\cdot& \frac{1}{2} &+&
   \frac{2}{2} &\cdot& \frac{1}{5} &=& \frac{5}{10} &+&\frac{2}{10}&=& 
   \\ \addlinespace
\frac{1}{3} &+&\frac{1}{6} &=& \frac{6}{6} &\cdot& \frac{1}{3} &+&
   \frac{3}{3} &\cdot& \frac{1}{6} &=& \frac{6}{18} &+&\\ 
   \addlinespace
\frac{1}{4} &+&\frac{1}{7} &=& \frac{7}{7} &\cdot& \frac{1}{4} &+&
   \frac{4}{4} &\cdot& \frac{1}{7} &=& \\ \addlinespace
\frac{1}{5} &+&\frac{1}{8} &=& \frac{8}{8} &\cdot& \frac{1}{5} &+&
   \frac{5}{5} &\cdot& \\ \addlinespace
\frac{1}{6} &+&\frac{1}{9} &=& \frac{9}{9} &\cdot& \frac{1}{6} &+&
   \\ \addlinespace
\frac{1}{7} &+&\frac{1}{10} &=&  \frac{10}{10} &\cdot& 
   \\ \addlinespace
\frac{1}{8} &+&\frac{1}{11} &=& \\ \addlinespace
\frac{1}{9} &+&\\ 
\end{array}
\]


Solution 2: text-style math and fractions
\[
\setlength{\arraycolsep}{0pt}
\begin{array}{*{8}{cC}c}
\frac{1}{1} &+&\frac{1}{4} &=& \frac{4}{4} &\cdot& \frac{1}{1} &+&
   \frac{1}{1} &\cdot& \frac{1}{4} &=& \frac{4}{4} &+&\frac{1}{4} &=& 
   \frac{5}{4}\\ \addlinespace
\frac{1}{2} &+&\frac{1}{5} &=& \frac{5}{5} &\cdot& \frac{1}{2} &+&
   \frac{2}{2} &\cdot& \frac{1}{5} &=& \frac{5}{10} &+&\frac{2}{10}&=& 
   \\ \addlinespace
\frac{1}{3} &+&\frac{1}{6} &=& \frac{6}{6} &\cdot& \frac{1}{3} &+&
   \frac{3}{3} &\cdot& \frac{1}{6} &=& \frac{6}{18} &+&\\ 
   \addlinespace
\frac{1}{4} &+&\frac{1}{7} &=& \frac{7}{7} &\cdot& \frac{1}{4} &+&
   \frac{4}{4} &\cdot& \frac{1}{7} &=& \\ \addlinespace
\frac{1}{5} &+&\frac{1}{8} &=& \frac{8}{8} &\cdot& \frac{1}{5} &+&
   \frac{5}{5} &\cdot& \\ \addlinespace
\frac{1}{6} &+&\frac{1}{9} &=& \frac{9}{9} &\cdot& \frac{1}{6} &+&
   \\ \addlinespace
\frac{1}{7} &+&\frac{1}{10} &=&  \frac{10}{10} &\cdot& 
   \\ \addlinespace
\frac{1}{8} &+&\frac{1}{11} &=& \\ \addlinespace
\frac{1}{9} &+&\\ 
\end{array}
\]
\end{document}

相关内容