我使用latex
命令並希望將一個簡單的 ASCII 圖表插入到我的.tex
文件中:
┌───► Intensity transformation
┌───────────► Spatial │
│ (spatial domain processing)─┤
│ │
│ └───► Spatial Filtering
│
│
Image ───► which ──┤
processing domain? │
│
│
│
│
└───────────► Transform
(frequency domain processing)
但我得到了大量的LaTeX Error: Unicode character ... not set up for use with LaTeX
。例如,如何在不使用其他排版系統的情況下解決問題XeTeX
?
答案1
如果你有使用 ASCII 字元就沒有問題。
事實上,您可以使用(使用 unicode tex 更容易)支援 Unicode 框繪圖範圍的字體,但這裡更多地本著經典 tex 的精神,我用數學字元填充。
\documentclass{article}
\DeclareUnicodeCharacter{2500}{\makebox[\fontcharwd\font`x][l]{$-$}}
\DeclareUnicodeCharacter{2502}{\makebox[\fontcharwd\font`x][l]{$|$}}
\DeclareUnicodeCharacter{250C}{\makebox[\fontcharwd\font`x][l]{$\lceil$}}
\DeclareUnicodeCharacter{25BA}{\makebox[\fontcharwd\font`x][l]{$\rightarrow$}}
\DeclareUnicodeCharacter{2514}{\makebox[\fontcharwd\font`x][l]{$\lfloor$}}
\DeclareUnicodeCharacter{2524}{\makebox[\fontcharwd\font`x][c]{\llap{$-$}$|$}}
\begin{document}
\small
\begin{verbatim}
┌───► Intensity transformation
┌───────────► Spatial │
│ (spatial domain processing)─┤
│ │
│ └───► Spatial Filtering
│
│
Image ───► which ──┤
processing domain? │
│
│
│
│
└───────────► Transform
(frequency domain processing)
\end{verbatim}
\end{document}
答案2
例如,DejaVu-Mono Unicode 字型包括所需的字元。
我在 OpTeX 中嘗試過:
\fontfam[DejaVu]
\famvardef\tt{\Dejavu\mono\setff{-liga;-tlig}\rm}
\begtt \typosize[8/10]
┌───► Intensity transformation
┌───────────► Spatial │
│ (spatial domain processing)─┤
│ │
│ └───► Spatial Filtering
│
│
Image ───► which ──┤
processing domain? │
│
│
│
│
└───────────► Transform
(frequency domain processing)
\endtt
\bye
結果如預期: