Jan*_*sch 65 encoding latex utf-8 diacritics listings
尝试使用列表包将源文件包含到我的乳胶文档中,我在代码中的注释中遇到了德语变音符号的问题.运用
\lstset{
extendedchars=\true,
inputencoding=utf8x
}
Run Code Online (Sandbox Code Playgroud)
处理源文件中的变音符号(以无BOM的UTF-8编码),但它们以某种方式移动到它们所包含的单词的开头.所以
// die Größe muss berücksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输入源文件中,变为
// die ößGre muss übercksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输出文件中.
注意:因为我在初始设置中发现错误,所以我大量编辑了这个问题
小智 57
我发现了一种更简单的方法,对我有用:
\usepackage{listings}
\lstset{
literate={ö}{{\"o}}1
{ä}{{\"a}}1
{ü}{{\"u}}1
}
Run Code Online (Sandbox Code Playgroud)
Seb*_*CHA 32
仅供评论,您可以使用以下texcl
选项:
\lstset{language=C++,texcl=true}
Run Code Online (Sandbox Code Playgroud)
比你的评论成为Latex,你可以使用"特殊"字符
\begin{lstlisting}
int iLink = 0x01; // Paramètre entrée
\end{lstlisting}
Run Code Online (Sandbox Code Playgroud)
小智 21
所以geht es(应该适用于其他语言 - 西班牙语,丹麦语)
--- SNIP ---
\documentclass[
a4paper, %% defines the paper size: a4paper (default), a5paper, letterpaper, ...
12pt %% set default font size to 12 point
]{scrartcl} %% article, see KOMA documentation (scrguide.dvi)
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{listings}
\lstset{language=Pascal}
\lstset{literate=%
{Ö}{{\"O}}1
{Ä}{{\"A}}1
{Ü}{{\"U}}1
{ß}{{\ss}}2
{ü}{{\"u}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
}
\begin{document}
[Latex: kann man Umlaute in lstlisting verwenden?]
\begin{lstlisting}
Test für Umlaut äöü ÄÖÜ ß So geht es
\end{lstlisting}
\end{document}
Run Code Online (Sandbox Code Playgroud)
Tom*_*art 14
我对捷克语的贡献.
\lstset{
inputencoding=utf8,
extendedchars=true,
literate=%
{á}{{\'a}}1
{?}{{\v{c}}}1
{?}{{\v{d}}}1
{é}{{\'e}}1
{?}{{\v{e}}}1
{í}{{\'i}}1
{?}{{\v{n}}}1
{ó}{{\'o}}1
{?}{{\v{r}}}1
{š}{{\v{s}}}1
{?}{{\v{t}}}1
{ú}{{\'u}}1
{?}{{\r{u}}}1
{ý}{{\'y}}1
{ž}{{\v{z}}}1
{Á}{{\'A}}1
{?}{{\v{C}}}1
{?}{{\v{D}}}1
{É}{{\'E}}1
{?}{{\v{E}}}1
{Í}{{\'I}}1
{?}{{\v{N}}}1
{Ó}{{\'O}}1
{?}{{\v{R}}}1
{Š}{{\v{S}}}1
{?}{{\v{T}}}1
{Ú}{{\'U}}1
{?}{{\r{U}}}1
{Ý}{{\'Y}}1
{Ž}{{\v{Z}}}1
}
Run Code Online (Sandbox Code Playgroud)
Jan*_*sch 11
好的,现在发现有点解决方法:
而不是列表包,使用listingsutf8
\ usepackage {listingsutf8}
将listing.sty复制到文档所在的文件夹中
找到以下几行
\lst@CCPutMacro \lst@ProcessOther {"23}\# \lst@ProcessLetter{"24}\textdollar \lst@ProcessOther {"25}\% \lst@ProcessOther {"26}\&
在那里输入以下行(每个"寄存器"一个变音符号)
\lst@ProcessLetter{"E4}{\"a} \lst@ProcessLetter{"F6}{\"o} \lst@ProcessLetter{"FC}{\"u} \lst@ProcessLetter{"C4}{\"A} \lst@ProcessLetter{"D6}{\"O} \lst@ProcessLetter{"DC}{\"U} \lst@ProcessLetter{"DF}{\ss{}}
保存文件
使用
\lstset{ extendedchars=\true, inputencoding=utf8/latin1 }
启用utf8字符到latin1字符映射
我知道这在很多方面都是丑陋的,但它是迄今为止对我有用的唯一解决方案.
Mar*_*rda 10
我对巴西葡萄牙语的贡献.
\lstset{%
inputencoding=utf8,
extendedchars=true,
literate=%
{é}{{\'{e}}}1
{è}{{\`{e}}}1
{ê}{{\^{e}}}1
{ë}{{\¨{e}}}1
{É}{{\'{E}}}1
{Ê}{{\^{E}}}1
{û}{{\^{u}}}1
{ù}{{\`{u}}}1
{ú}{{\'{u}}}1
{â}{{\^{a}}}1
{à}{{\`{a}}}1
{á}{{\'{a}}}1
{ã}{{\~{a}}}1
{Á}{{\'{A}}}1
{Â}{{\^{A}}}1
{Ã}{{\~{A}}}1
{ç}{{\c{c}}}1
{Ç}{{\c{C}}}1
{õ}{{\~{o}}}1
{ó}{{\'{o}}}1
{ô}{{\^{o}}}1
{Õ}{{\~{O}}}1
{Ó}{{\'{O}}}1
{Ô}{{\^{O}}}1
{î}{{\^{i}}}1
{Î}{{\^{I}}}1
{í}{{\'{i}}}1
{Í}{{\~{Í}}}1
}
Run Code Online (Sandbox Code Playgroud)