pdfLaTeXを使用してボックス描画文字を印刷する

ドキュメントに(ボックス描画ファミリの)Unicode文字を印刷する必要があります。この質問は私のものと非常に似ていますが、XeLaTeXでのみ有効であることがわかりました。 pdfLaTeXでこれを行う有効な方法がありますか、それとも代わりにXeLaTeXを使用する必要がありますか?

回答

記号を使用できます、キーボードまたはマクロで使用可能な場合。

\documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{pmboxdraw} \usepackage{newunicodechar} \newunicodechar{└}{\textSFii} \newunicodechar{├}{\textSFviii} \newunicodechar{─}{\textSFx} \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

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

コメント

  • ' ok逐語的な環境で、しかし私はまだリストリスト環境で同じ問題を抱えています。
  • ありがとう、これはうまくいきます。しかし、\newunicodecharの定義を入力する必要がある理由を説明できますか? ' t pmboxdrawがそもそもこれらの文字を定義しないのはなぜですか?
  • utf8エンコーディングはそのような文字を'知りません。キャラクターとそのコマンドを定義する必要がある理由
  • @Tobia \newunicodecharのようなものは必要ありません。パッケージpmboxdrawはすでに自動的に処理しています。私の回答を参照してください。

回答

これは、ハーバートの回答の拡張であり、トビアのコメントへの回答です。 a>。

パッケージinputencとエンコードオプションutf8を使用すると、TeX入力ファイルでUTF-8を使用できます。 8ビットTeXエンジン。前提条件として、Unicode文字とTeXコードへのマッピング方法を知っておく必要があります。 inputencのUTF-8サポートは、これをフォントエンコーディングと結び付けます。したがって、パッケージpmboxdrawは、pmboxdrawと関連するマッピングファイルpmboxdrawenc.dfuをエンコードする人工フォントを定義します。その後、自動的にロードされます。これにより、ハーバートの例は次のように簡略化されます。

% arara: pdflatex \listfiles \documentclass{article} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{pmboxdraw} \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

結果

コンパイル済み:

This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) 

\listfilesのバージョンリスト:

 *File List* article.cls 2014/09/29 v1.4h Standard LaTeX document class size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) fontenc.sty t1enc.def 2005/09/27 v1.99g Standard LaTeX file inputenc.sty 2015/03/17 v1.2c Input encoding file utf8.def 2016/02/28 v1.1s UTF-8 support for inputenc t1enc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc ot1enc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc omsenc.dfu 2016/02/28 v1.1s UTF-8 support for inputenc pmboxdraw.sty 2011/03/24 v1.1 Poor man"s box drawing characters (HO) ltxcmds.sty 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) kvsetkeys.sty 2012/04/25 v1.16 Key value parser (HO) infwarerr.sty 2010/04/08 v1.3 Providing info/warning/error messages (HO) etexcmds.sty 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) ifluatex.sty 2010/03/01 v1.3 Provides the ifluatex switch (HO) kvdefinekeys.sty 2011/04/07 v1.3 Define keys (HO) pmboxdrawenc.dfu 2011/03/24 v1.1 UTF-8 support for box drawing characters kvoptions.sty 2011/06/30 v3.11 Key value format for package options (HO) keyval.sty 2014/10/28 v1.15 key=value parser (DPC) t1cmtt.fd 2014/09/29 v2.5h Standard LaTeX font definitions *********** 

LuaTeX / XeTeXバージョン

LuaTeXおよびXeTeXはUnicode文字をサポートし、パッケージinputencは非推奨です。ただし、pmboxdrawenc.dfuを使用してサポートをサポートすることはできます。文字がアクティブで、シンボルに展開されます:

% arara: xelatex % or % arara: lualatex \documentclass{article} \usepackage{pmboxdraw} \begingroup \def\DeclareUnicodeCharacter#1{% \begingroup \lccode`\~="#1\relax \lowercase{\endgroup \global\catcode`~=\active \gdef~% }% }% \input{pmboxdrawenc.dfu}% \endgroup \begin{document} \begin{verbatim} ├── Maildir/ └── scripts/ ├── backup.sh* └── OLD/ ├── backup_cleanup.sh.old └── backup.sh.old* \end{verbatim} \end{document} 

コメント

  • いいえ。付属のシステムを使用します。バージョン2015.20160320-1のように見えるLinuxMint 18(Ubuntu 16.04)のapt-get install texlive-xetex texlive-fonts-recommended lmodernを使用すると、例は行文字なしで出力されます。

。多分私は'他のパッケージが足りませんか?または私s私のTeXLiveは古すぎますか?

  • @Tobia問題は、XeTeXではなく pdfTeX に対して行うことでした。回答を更新し、LuaTeX / XeTeXのバージョンを追加しました。
  • パッケージivid =のオプション[utf8x]を誤って使用したため、エラーが発生しました。 “be746ab233″>
  • 。これを\usepackage[utf8]{inputenc}に修正すると、すべて正常に機能しました。 。 。ところで、\listfilesが何をするのかわからないのですか?私はそれを必要としませんでした。 (Pdf-LaTeX。)

  • @Henke \listfilesは回答に示されているバージョンリストを作成します。
  • はい、わかりました。それは理にかなっている。 'これまで、これらのログや出力ファイルについて気にしたことはありません。私のあなたの例のスクラッチでは、それを見つけるために少し調べなければなりませんでした-ボタンLogs and output filesの横にあるRecompile、次に右上のOther logs & files > log file。 overleafのバージョンは比較的最近のようです:pmboxdraw.sty 2019/12/05 v1.4 Poor man's box drawing characters (HO)。ところで、あなたの答え(newunicodecharなし)は受け入れられたものよりも優れており、賛成するに値します。 🙂
  • コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です