Néhány unicode karaktert (a dobozos rajzcsaládból) ki kell nyomtatnom a dokumentumba. Megtaláltam ezt a kérdést , amely nagyon hasonlít az enyémhez, de csak az XeLaTeX-re érvényes. Van erre érvényes módszer a pdfLaTeX használatával, vagy inkább az XeLaTeX-et kell használnom?
Válasz
Használhatja a szimbólumokat , ha elérhető a billentyűzeten vagy a makrókon.
\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}
Megjegyzések
Válasz
Ez a Herbert “s válasz kiterjesztése és válasz Tobia” s megjegyzésére .
A inputenc
csomag a utf8
kódolási opcióval lehetővé teszi az UTF-8 használatát a TeX bemeneti fájlokban 8 bites TeX motorok. Előfeltételként ismerni kell az Unicode karaktereket, hogy miként vannak leképezve a TeX kódra. A inputenc
UTF-8 támogatása ezt párosítja a betűkészlet kódolásával. Ezért a pmboxdraw
csomag meghatározza a pmboxdraw
kódolású mesterséges betűtípust és a kapcsolódó leképezési fájlt pmboxdrawenc.dfu
, amely ezután automatikusan betöltődik. Ez leegyszerűsíti Herbert példáját:
% 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}
Összeállítva:
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016)
A \listfiles
verziólistája:
*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 verzió
A LuaTeX és az XeTeX támogatja az Unicode karaktereket és a inputenc
csomag elavult. A pmboxdrawenc.dfu
csomag azonban továbbra is használható a támogatottak létrehozására a karakterek aktívak és kibővülnek a szimbólumokig:
% 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}
Megjegyzések
- Nem. A megjelenő rendszer használata A (z)
apt-get install texlive-xetex texlive-fonts-recommended lmodern
alkalmazással a Linux Mint 18 (Ubuntu 16.04) verzióban, amely a 2015.20160320-1 verziónak tűnik, példád a sorok nélkül jelenik meg. A karaktereket kifejezetten meg kell határoznom a\newunicodechar
. Lehet, hogy ' hiányzik valami más csomag? Vagy i s túl öreg a TeX Live-om? - @Tobia A kérdés az volt, hogy ezt a pdfTeX nek kell csinálni, nem pedig a XeTeX-nek. Frissítettem a választ, és hozzáadtam a LuaTeX / XeTeX verzióját.
- Hibát kaptam, mert tévesen a
[utf8x]
opciót választottam ainputenc
. Miután kijavítottam a következőt:\usepackage[utf8]{inputenc}
, minden rendben működött. . . BTW, nem tudja, mit kell tennie a\listfiles
? Nem volt rá szükségem. (Pdf-LaTeX.) - @Henke
\listfiles
elkészíti a válaszban megjelenített verziólistát. - Igen, rendben. Ennek van értelme. Én ' még soha nem zavartam ezeket a naplókat és kimeneti fájlokat. A példa karcolatában kissé körül kellett böknöm, hogy megtalálhassam – gomb
Logs and output files
aRecompile
, majd a jobb felső sarokbanOther logs & files > log file
. A túloldalon látható verzió viszonylag frissnek tűnik:pmboxdraw.sty 2019/12/05 v1.4 Poor man's box drawing characters (HO)
. BTW, a válaszod (newunicodechar
nélkül) jobb, mint az elfogadott, és megérdemli, hogy felértékelődj. 🙂
\newunicodechar
definíciókat? Miért nem határozza meg először ezeket a karaktereket ' tpmboxdraw
?utf8
kódolás nem ismert ' nem ismeri az ilyen karaktereket. Az ok, amiért meg kell határoznia a karaktert és annak parancsát\newunicodechar
szöveget tartalmazó dolgokra nincs szükség. Apmboxdraw
csomag már automatikusan kezeli, lásd a válaszomat.