上下文
我目前正在学习数据库课程。在该课程中,我们使用放松,一个关系代数计算器。在该计算器中,您可以使用UTF - 8字符作为运算符。以下是允许的查询:。还有π price σ model = 2001 Laptop
一些其他运算符:π
,,,,,,,,,,,,,,,,,,,,,,,,,,,和。σ
ρ
←
→
τ
γ
∧
∨
¬
=
≠
≥
≤
∩
∪
÷
-
⨯
⨝
⟕
⟖
⟗
⋉
⋊
▷
我正在做一项家庭作业,涉及在该网站中编写查询。因此,我想完成以下任务。首先,让我介绍一些有助于您理解我的问题的内容。
我知道可以使用 LuaLaTeX 在我的文档中使用 UTF-8 字符。
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmathfont[math-style=upright]{XITS Math}
\begin{document}
$A ⨝ B$
\end{document}
我还知道可以在minted
环境中排版内联数学。
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}[escapeinside=||, mathescape = true]{text}
foo |$\pi$| bar
\end{minted}
\end{document}
我可以整合这些知识并完成以下任务:在minted
环境中插入 UTF-8 字符。
\documentclass{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\usepackage{minted}
\setmathfont[math-style=upright]{XITS Math}
\begin{document}
\begin{minted}[escapeinside=||, mathescape = true]{text}
foo |$⨝$| bar
\end{minted}
\end{document}
但是,我想删除环境中的|$
and部分。这样,我就可以将查询从 RelaX 复制到我的文档中,而无需事先格式化查询。$|
minted
请注意,使用该包并使用 . 设置等宽字符的字体⨝
时,字符无法正确显示(请参阅下面的最低限度工作)fontspec
\setmonofont{...}
\documentclass{article}
\usepackage{fontspec}
\usepackage{minted}
\setmonofont{CMU Typewriter Text}
\begin{document}
\begin{minted}{text}
This is displayed:
/etc/puppet/hieradata/
├── common.yaml
└── virtual
├── false.yaml
└── true.yaml
This is not correctly displayed: ⨝
\end{minted}
\end{document}
我认为发生这种情况是因为⨝
不支持CMU Typewriter Text
。这引出了我的问题。
问题
LuaLaTeX是否支持π
任何等宽字体可以显示我提到的所有字符(即,,,,,,,,,,,,,,,,,,,,,,,,,,,,和)σ
ρ
←
→
τ
γ
∧
∨
¬
=
≠
≥
≤
∩
∪
÷
-
⨯
⨝
⟕
⟖
⟗
⋉
⋊
▷
答案1
事实上,Kurinto Type 是Kurinto 字体。虽然我对它们的质量表示怀疑(作者说它们是为使用 MSWord 输入而设计的),但它们涵盖了您需要的所有字符。
\documentclass{standalone}
\usepackage{fontspec}
\setmainfont{Kurinto Type}
\begin{document}
π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤, ∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷
\end{document}
答案2
texlive 附带一个有用的程序albatross
,可以显示具有字形的字体:
$ albatross 0x2A1D
__ __ __
.---.-.| | |--.---.-.| |_.----.-----.-----.-----.
| _ || | _ | _ || _| _| _ |__ --|__ --|
|___._||__|_____|___._||____|__| |_____|_____|_____|
Unicode code point [2A1D] mapping to ?
┌─────────────────────────────────────────────────────────────────────────────┐
│ Font name │
├─────────────────────────────────────────────────────────────────────────────┤
│ FreeMono │
├─────────────────────────────────────────────────────────────────────────────┤
│ FreeSerif │
├─────────────────────────────────────────────────────────────────────────────┤
│ Segoe UI Symbol │
├─────────────────────────────────────────────────────────────────────────────┤
│ Symbola │
├─────────────────────────────────────────────────────────────────────────────┤
│ Unifont │
└─────────────────────────────────────────────────────────────────────────────┘
因此尝试使用 FreeMono 作为可能的等宽字体
\documentclass{article}
\tracinglostchars2
\usepackage{fontspec}
\setmainfont{Noto Serif}
\setmonofont{FreeMono}
\begin{document}
\begin{verbatim}
This is displayed:
/etc/puppet/hieradata/
├── common.yaml
└── virtual
├── false.yaml
└── true.yaml
This is not correctly displayed: ⨝
\end{verbatim}
\end{document}
生产
答案3
您可以从其他具有这些符号的字体中借用缺少的符号,例如 Symbola。
\documentclass{article}
\usepackage{fontspec}
\usepackage{minted}
\usepackage{newunicodechar,graphicx}
\setmonofont{CMU Typewriter Text}
\newfontface{\missing}{Symbola}[FakeBold=6]
\ExplSyntaxOn
\clist_map_inline:nn {∧, ∨, ≠, ≥, ≤, ∩, ∪, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊, ▷}
{
\newunicodechar{#1}{\resizebox{0.5em}{!}{\missing #1}}
}
\ExplSyntaxOff
\begin{document}
\begin{minted}{text}
This is displayed:
/etc/puppet/hieradata/
├── common.yaml
└── virtual
├── false.yaml
└── true.yaml
This is not correctly displayed: ⨝
∧ ∨ ≠ ≥ ≤ ∩ ∪ ⨯ ⨝ ⟕, ⟖ ⟗ ⋉ ⋊ ▷
π, σ, ρ, ←, →, τ, γ, ∧, ∨, ¬, =, ≠, ≥, ≤,
∩, ∪, ÷, -, ⨯, ⨝, ⟕, ⟖, ⟗, ⋉, ⋊ and ▷
\end{minted}
\end{document}
答案4
https://www.fileformat.info/info/unicode/char/2A1D/fontsupport.htm产生以下列表:
Cambria、Cambria Math、Code2000、EversonMono、EversonMono-Bold、EversonMono-BoldOblique、EversonMono-Oblique、FreeMono、FreeSerif、PragmataPro Liga Regular、Quivira、Segoe UI Symbol、STIX Two Math、Symbola、Unifont
我已经删除了字形不好的条目。不要问我哪些字体适当地等宽字体;可能所有名称中都带有“Mono”。
除了其他答案中所说的内容之外,您还可以尝试 Everson 的字体:
\documentclass{article}
\pagestyle{empty}
\usepackage{fontspec}
\usepackage{minted}
\setmonofont{your copy of Everson Mono.ttf}
\begin{document}
\begin{minted}{text}
This is displayed:
/etc/puppet/hieradata/
├── common.yaml
└── virtual
├── false.yaml
└── true.yaml
This IS correctly displayed: ⨝
\end{minted}
\end{document}
运行lualatex --shell-escape
收益率