Я использую 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
Результат ожидаемый: