*TeXの世界の外

*TeXの世界の外

重複請求について - 私はテストしましたすべての Unicode エラーを無視するように Latex に指示しますか?- 「解決策」では、LaTeX で「⌀」ではなく「?」が表示されるようになりました。

高品質で非常に役立つ回答を提供してくれた人々に感謝します。


テキストに⌀を追加したらpdflatexがクラッシュしてしまいました

パッケージ inputenc エラー: Unicode 文字 \u8:⌀ は LaTeX で使用するために設定されていません。

\DeclareUnicodeCharacter または同様のものを使用してこの文字の特別な処理を導入できることはわかっていますが、入力に新しい UTF-8 文字が現れるたびにこれを行うのは受け入れられません。

私は LaTeX を PDF ジェネレーターとしてのみ使用しているため (LaTeX は入力から生成され、pdflatex は PDF 出力を生成します)、pdflatex (または他の PDF 生成 LaTeX コンパイラー) で動作する必要があります。

MWE:

\begin{document}
\end{document}

私の文書宣言が存在するMWE

\documentclass{article}
\usepackage[a4paper, total={6.5in, 10.5in}]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cprotect}
\usepackage{fvextra}
\usepackage{textcomp}

% make TOC work correctly
\makeatletter
\def\l@section{\@dottedtocline{1}{1em}{2em}}
\makeatother
\usepackage{index}
\makeindex

\DeclareUnicodeCharacter{00A0}{~}

\DefineVerbatimEnvironment{escape}
  {Verbatim}
  {fontfamily=\rmdefault,breaklines,breaksymbolleft={}}
\CustomVerbatimCommand\escapeinline{Verb}{fontfamily=\rmdefault,breaklines,breaksymbolleft={}}

\begin{document}
\end{document}

答え1

これを次のように考えることができます。LaTeX(または任意のシステム)がページ/画面に「⌀」(または任意の文字)を描くには、その文字の「形状」(視覚的外観)が利用可能である必要があります。どこか

*TeXの世界の外

ほとんどの「現代的な」アプリケーション、テキストエディタ、ブラウザなどでは、これはフォントフォールバック機構:

  1. アプリケーション (ブラウザなど) は、まず現在のフォントでその文字のグリフを検索します。(tex.stackexchange.com の Web サイトでこれらの文字を入力すると、このサイトの CSS で指定された「Lucida Grande」フォントで表示されます。)
  2. 現在のフォントが文字をサポートしていない場合、アプリケーションはいくつかのシステムにインストールされているフォントでその文字のグリフが含まれているものを探し、そのフォントからグリフを取得します。(この場合、コンピューターにインストールされているフォントでは、ブラウザには「Cambria」フォントの「⌀」文字が表示されます。この文字は「Lucida Grande」フォントには存在しないためです。) ここに画像の説明を入力してください

  3. そのようなフォントがない場合は、四角いボックス、疑問符、空白、または文字が欠落していることを示す何らかの表示(おそらく「最後の手段」の代替フォントによるもの)が表示されることがあります。たとえば、次のテキストでは0から9までの数字を示していますが、奇数桁には最初の数字を使用しています。「ブラーフミー」Unicodeブロック(フォントをインストールしてあります)そして、「マサラム・ゴンディ」ユニコードブロック(Unicode バージョン 10.0.0 に追加され、2017 年 6 月にリリースされたばかりですが)、私 (そしておそらくあなたも) にはフォントがインストールされていません。

    0

答え2

のデフォルト定義が存在しないというエラーが表示されます。これは標準フォントのいずれにも存在しません。

包括的なリストは、\diameter以下によって提供されることを示しています。

  • mathabx
  • MnSymbol
  • wasysym

そして、何らかのシンボルを利用可能にするためだけにこれらのパッケージの 1 つを追加することは、非常に議論の余地があるでしょう。

正確な詳細を示すエラーメッセージが表示されます。たとえば、選択してwasysymコードを次のように変更します。

\documentclass{article}
\usepackage[a4paper, total={6.5in, 10.5in}]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{cprotect}
\usepackage{fvextra}
\usepackage{textcomp}

\usepackage{wasysym} % for \diameter

% make TOC work correctly
\makeatletter
\def\l@section{\@dottedtocline{1}{1em}{2em}}
\makeatother
\usepackage{index}
\makeindex

%\DeclareUnicodeCharacter{00A0}{~} % not needed in recent versions of LaTeX
\DeclareUnicodeCharacter{2300}{\diameter}

\DefineVerbatimEnvironment{escape}
  {Verbatim}
  {fontfamily=\rmdefault,breaklines,breaksymbolleft={}}
\CustomVerbatimCommand\escapeinline{Verb}{fontfamily=\rmdefault,breaklines,breaksymbolleft={}}

\begin{document}
\end{document}

必要ありませんinputencが、するグリフをサポートするフォントが必要です。

他のソフトウェアでは、現在のフォントでグリフが利用できない場合に、自動的にフォントを置換する場合があることに注意してください。LuaLaTeX と XeLaTeX は、優れたタイポグラフィを目的としており、自動置換によって衝突が発生する可能性があるため、自動置換を行いません。以前と同じ考え方です。代替フォントから選択する必要があるため、カーネルはすべての Unicode 文字の定義を提供できません。


ただし、ユーザーがシンボルを取得するために U+2300 を入力した可能性もあります\varnothing。これは、ドキュメントが技術的なトピックではなく数学に関するものである場合によく起こります。この場合、ロードするパッケージは次のようになりますamssymb

\usepackage{amssymb}

\DeclareUnicodeCharacter{2300}{\varnothing}

関連情報