我正在准备一份双语文件,并使用comment
包裹来区分两种语言。
当我使用特殊字符ß在一个环境中,尽管我使用正确,comment
但我还是收到一条错误消息( )。Undefined control sequence.
\usepackage[latin1]{inputenc}
在comment
环境之外,角色运行良好。
scrbook
文档类别似乎并不重要-我遇到了和的问题book
。
\documentclass[]{scrbook}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[
english,
ngerman]
{babel}
\usepackage{comment}
\includecomment{Version-DE}
\excludecomment{Version-EN}
\begin{document}
ß % <-- no problem here
\begin{Version-DE}
Version-DE
ß % <-- big problem here!
\end{Version-DE}
\begin{Version-EN}
Version-EN
\end{Version-EN}
\end{document}
我不知道标签在这里使用...
备查
我发现了一些其他可以作为替代方案的软件包:
以下是 CTAN 上所有此类(条件排版)的包:https://www.ctan.org/topic/cond-comp
答案1
一种方法(希望对您可行)是切换到 LuaLaTeX 或 XeLaTeX 并加载包fontspec
。您需要在文档中所做的更改是 (a) 注释掉(或删除)前言中的说明\usepackage[utf8]{inputenc}
和\usepackage[T1]{fontenc}
(b) 添加说明\usepackage{fontspec}
。
当然,文档必须采用 utf8 编码,但如今大多数编辑器和 Web 浏览器都默认采用 utf8 编码。如果文件目前不是采用 utf8 编码,请参阅帖子如何更改 .tex 文件的输入编码系统(最好为 UTF-8)有关如何更改输入编码的实用信息。
\documentclass{scrbook}
%\usepackage[latin1]{inputenc}
%\usepackage[T1]{fontenc}
\usepackage{fontspec} % <-- new
\usepackage[english,ngerman]{babel}
\usepackage{comment}
\includecomment{Version-DE}
\excludecomment{Version-EN}
\begin{document}
ß % <-- no problems here
\begin{Version-DE}
Version-DE
ß % <-- no more problem here either :-)
\end{Version-DE}
\begin{Version-EN}
Version-EN
\end{Version-EN}
\end{document}