Kon*_*lph 7 unicode latex verbatim
VerbatimOut 来自"fancyvrb"包不能很好地使用UTF-8字符.
\documentclass{minimal}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fancyvrb}
\begin{document}
\begin{VerbatimOut}{\jobname.test}
é
\end{VerbatimOut}
\input{\jobname.test}
\end{document}
Run Code Online (Sandbox Code Playgroud)
使用时编译pdflatex mini,这会给出错误
扫描使用时文件结束
\UTFviii@three@octets.
当é上面的唯一出现被其他东西替换时会发生不同的错误,例如é */:
包inputenc错误:Unicode char
\u8:###未设置为与LaTeX一起使用.
- 表示在这种情况下,LaTeX成功读取多字节UTF-8字符,但不知道如何处理它(即它是错误的字符).
事实上,当我.test手动打开生成的文件时,它包含字符é,但是使用Latin-1编码!
证明:当我在十六进制编辑器中打开文件时,我得到以下内容:
C3 A9对应于带有UTF-8急性的拉丁文小写字母E)E9对应é于Latin-1)如何VerbatimOut正确设置?
filecontents*(来自"filecontents")表明它可以工作.不幸的是,我不明白这两个代码所以我无法通过手动复制filecontents中的逻辑来修复fancyvrb的代码.
我也不能使用filecontents*而不是VerbatimOut因为前者不能在a内工作\newenvironment,而后者则不能.
(哦,顺便说一句:vanilla Verbatim而不是VerbatimOut也按预期工作.编写文件时似乎发生错误,而不是在读取逐字输入时)
您的最终目标是逐字书写符号和重音符号吗?因为你可以这样做:
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{Verbatim}[commandchars=\\\{\}]
\'{e} \~{e} \`{e} \^{e}
\end{Verbatim}
\end{document}
Run Code Online (Sandbox Code Playgroud)
命令字符选项允许\ { }字符像平常一样工作。
资料来源:http ://ctan.mirror.garr.it/mirrors/CTAN/macros/latex/contrib/fancyvrb/fancyvrb.pdf
| 归档时间: |
|
| 查看次数: |
4326 次 |
| 最近记录: |