UTF-8 シンボルを正しく追加するにはどうすればいいですか?

UTF-8 シンボルを正しく追加するにはどうすればいいですか?

LaTeX ドキュメントに ☐ 、 ⌧ の 2 つの UTF-8 シンボルを追加し、 も追加しました\usepackage[utf8]{inputenc}。どうすればできますか?

入力は次のようになります。 ここに画像の説明を入力してください

答え1

Unicode エンジン (xetexまたはluatex) を使用する場合は、これらの記号を提供するフォントを見つけるだけです。その点では、DejaVu Sans フォントが非常に優れていると感じています。これらの記号のためだけにドキュメント全体のフォントを変更したくない場合は、 という名前\newfontfamilyを付けたを割り当てる必要があります\boxedsymbols。その後、ローカルでフォントを切り替えて、特殊な記号を印刷できます。

\documentclass{article}
\usepackage{fontspec}
\newfontfamily\boxedsymbols{DejaVu Sans}
\begin{document}
Here we go: {\boxedsymbols ☐ ⌧}
\end{document}

ここに画像の説明を入力してください

ではpdflatex、Unicode文字をアクティブにして、フォントで使用できる似たような記号を印刷するように定義することができます。ここでは、数学記号\square\boxtimesamssymb)を使用します。これらはないドキュメントに入力する実際の Unicode シンボルではなく、視覚的な同等物です。

これらを数式モードでも使用したい場合は、$<symbol>$を に置き換えます\ensuremath{<symbol>}。(これは、 が適切なまれなケースの 1 つです\ensuremath。)

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amssymb}% for \boxtimes
\usepackage{newunicodechar}
\newunicodechar{☐}{$\square$}
\newunicodechar{⌧}{$\boxtimes$}
\begin{document}
Here we go: ☐ ⌧
\end{document}

ここに画像の説明を入力してください

このソリューションで得られる機能pdflatex、つまりフォントを切り替えることなく記号を直接入力できる機能は魅力的で、xetex/luatexバリアントでも実現できます。ただし、これはあまり良い方法ではないことに注意してください。文字がアクティブになり、テキスト内でこれらの文字が見つかるたびにコードが実行されるためです。

\documentclass{article}
\usepackage{fontspec}
\usepackage{newunicodechar}
\newfontfamily\boxedsymbols{DejaVu Sans}
\newunicodechar{☐}{{\boxedsymbols\char`☐}}
\newunicodechar{⌧}{{\boxedsymbols\char`⌧}}
\begin{document}
Here we go: ☐ ⌧
\end{document}

出力は最初のバリアントと同じです。

答え2

パッケージをロードしてwasysym、これらのコマンドを使用できます。\マクロの後のスペースを保持するために が使用されていることに注意してください。

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{wasysym}

\begin{document}

Do you like \LaTeX? \Square\ Yes – \Square\ No

You can answer using \CheckedBox\ or \XBox, but don't leave it empty!

\end{document}

関連情報