it-swarm.dev

Ogłoszenia w Latexie z UTF-8 (lub przynajmniej niemieckimi umlautami)

Próbując dołączyć plik źródłowy do mojego dokumentu lateksowego za pomocą pakietu aukcji, mam problemy z niemieckimi umlautami wewnątrz komentarzy w kodzie .

\lstset{
extendedchars=\true,
inputencoding=utf8x
}

Objaśnienia w plikach źródłowych (zakodowane w UTF-8 bez BOM) są przetwarzane, ale są w jakiś sposób przenoszone na początek Słowa, w którym są zawarte .

// die Größe muss berücksichtigt werden

w wejściowym pliku źródłowym staje się

// die ößGre muss übercksichtigt werden

w pliku wyjściowym.

UWAGA: odkąd znalazłem błędy w mojej początkowej konfiguracji, mocno edytowałem to pytanie

63
Janosch

ok, znalazłem teraz obejście problemu:

  1. zamiast pakietu aukcji użyj listingsutf8

    pakiet {listingsutf8}

  2. skopiuj listings.sty do folderu, w którym znajduje się dokument

  3. znajdź następujące wiersze

    pierwszy @ CCPutMacro 
     pierwszy @ ProcessOther {"23} # 
    st @ ProcessLetter {" 24} dollar 
     pierwszy @ ProcessOther {"25}% 
     @ post @ ProcessOther {" 26}
  4. Wpisz tam następujące wiersze (każdy „rejestruje” jeden umlaut)

    start @ ProcessLetter {"E4} {" a} 
    st @ ProcessLetter {"F6} {" o} 
    st @ ProcessLetter {"FC} {" u} 
     @ProcessLetter {"C4} {" A} 
    st @ ProcessLetter {"D6} {" O} 
     Teraz @ ProcessLetter {"DC} {" U} 
     {"DF} {
  5. Zapisz plik

  6. Posługiwać się

    set {
     extendedchars = true, 
     inputencoding = utf8/latin1 
    }

aby włączyć znak utf8 do mapowania znaków latin1

  1. Konwertuj zakończenia linii pliku źródłowego z Windows (r n) na unix (n)
  2. cieszyć się

Wiem, że pod wieloma względami jest to brzydkie, ale jest to jedyne rozwiązanie, które do tej pory dla mnie działa.

11
Janosch

Znalazłem prostsze podejście, które działa dla mnie:

\usepackage{listings}

\lstset{
  literate={ö}{{\"o}}1
           {ä}{{\"a}}1
           {ü}{{\"u}}1
}
57
yaxu

Tylko dla komentarze , możesz użyć opcji texcl:

\lstset{language=C++,texcl=true}

Niż twoje komentarze stają się Latex i możesz użyć znaków „specjalnych”

\begin{lstlisting}
int iLink = 0x01; // Paramètre entrée
\end{lstlisting}
31
Seb DA ROCHA

So geht es (powinno działać w innych językach - hiszpańskim, duńskim)

---FANTASTYCZNA OKAZJA---

\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} 
20

Mój wkład w język czeski.

\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
}
13
Tomáš Linhart

Mój wkład w brazylijski portugalski.

\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
}
10
Marcelo Lacerda

Działa dla większości znaków izo. (w tym szwedzki åäöÅĘÖ, czego potrzebowałem)

\usepackage[utf8]{inputenc}
\usepackage{listings}
\lstset{literate=
  {á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
  {Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
  {à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
  {À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
  {ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
  {Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
  {â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
  {Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
  {œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
  {ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
  {€}{{\EUR}}1 {£}{{\pounds}}1
}

źródło: http://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Encoding_issue

3
MetalGodwin

Prostsze podejście do francuskiego.

\documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage[francais]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{listings}
    \lstloadlanguages{R}
    \lstset{language=R}
    \lstset{%
        inputencoding=utf8,
            extendedchars=true,
            literate=%
            {é}{{\'{e}}}1
            {è}{{\`{e}}}1
            {ê}{{\^{e}}}1
            {ë}{{\¨{e}}}1
            {û}{{\^{u}}}1
            {ù}{{\`{u}}}1
            {â}{{\^{a}}}1
            {à}{{\`{a}}}1
            {î}{{\^{i}}}1
            {ô}{{\^{o}}}1
            {ç}{{\c{c}}}1
            {Ç}{{\c{C}}}1
            {É}{{\'{E}}}1
            {Ê}{{\^{E}}}1
            {À}{{\`{A}}}1
            {Â}{{\^{A}}}1
            {Î}{{\^{I}}}1
    }

    \begin{document}
    \begin{lstlisting}
    # Est-ce que ça marche : é ê è à Â Ê É Î ç Ç
    x<-rnorm(100,0,10)
    plot(density(x))
    \end{lstlisting}
    \end{document}
3
fxi

Wersja szwedzka:

\lstset{literate=%
{å}{{\r{a}}}1
{ä}{{\"a}}1
{ö}{{\"o}}1
{Å}{{\r{A}}}1
{Ä}{{\"A}}1
{Ö}{{\"O}}1
}
2
bonzaibanzai

Działa dobrze dla mnie!

Moje 2 centy dla strony francuskiej:

\lst@ProcessOther {"C0}{\`{A}}
\lst@ProcessOther {"C1}{\'{A}}
\lst@ProcessOther {"C2}{\^{A}}
\lst@ProcessOther {"C4}{\"{A}}
\lst@ProcessOther {"C7}{\c{C}}
\lst@ProcessOther {"C8}{\`{E}}
\lst@ProcessOther {"C9}{\'{E}}
\lst@ProcessOther {"CA}{\^{E}}
\lst@ProcessOther {"CB}{\"{E}}
\lst@ProcessOther {"CE}{\^{I}}
\lst@ProcessOther {"CF}{\"{I}}
\lst@ProcessOther {"D4}{\^{O}}
\lst@ProcessOther {"D6}{\"{O}}
\lst@ProcessOther {"D9}{\`{U}}
\lst@ProcessOther {"DB}{\^{U}}
\lst@ProcessOther {"E0}{\`{a}}
\lst@ProcessOther {"E1}{\'{a}}
\lst@ProcessOther {"E2}{\^{a}}
\lst@ProcessOther {"E4}{\"{a}}
\lst@ProcessOther {"E7}{\c{c}}
\lst@ProcessOther {"E8}{\`{e}}
\lst@ProcessOther {"E9}{\'{e}}
\lst@ProcessOther {"EA}{\^{e}}
\lst@ProcessOther {"EB}{\"{e}}
\lst@ProcessOther {"EE}{\^{\i}}
\lst@ProcessOther {"EF}{\"{\i}}
\lst@ProcessOther {"F4}{\^{o}}
\lst@ProcessOther {"F6}{\"{o}}
\lst@ProcessOther {"F9}{\`{u}}
\lst@ProcessOther {"FB}{\^{u}}
2
Phil

Podobnie do postów wcześniejszych (yaxz i innych) zdefiniowałem makra dla języka chorwackiego:

% on top
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[croatian]{babel}

% add listings package
\usepackage{listings}

% set font translations
\lstset{inputencoding=utf8}
\lstset{extendedchars=true}
\lstset{
    literate=%
    {ć}{{\'c}}1
    {č}{{\v{c}}}1
    {đ}{{\dj{}}}1
    {š}{{\v{s}}}1
    {ž}{{\v{z}}}1
    {Ć}{{\'C}}1
    {Č}{{\v{C}}}1
    {Đ}{{\DJ{}}}1
    {Š}{{\v{S}}}1
    {Ž}{{\v{Z}}}1
}

Nadal mam „mały” problem z dodaniem słowa kluczowego „inače”. Następujące nie będą działać dla „inače”:

\lstset{morekeywords={ponavljaj, ako, inače, dok}}

Słowo kluczowe „inače” (które pojawia się w kodzie) nie jest rozpoznawane jako słowo kluczowe. Jakieś pomysły?

Mam nadzieję, że to pomoże komuś (oprócz mnie :)).

1
Leonardo

Mogę potwierdzić, że rozwiązanie dostarczone przez Janosch działa prawie poprawnie.

W moim przypadku musiałem użyć hiszpańskich znaków: á, é, í, ó, ú, ñ, Á, É, Í, Ó, Ú i wypróbowałem swoje rozwiązanie bez rezultatów, dopóki nie skompilowałem pliku z xelatex zamiast pdflatex.

W każdym razie powinieneś zmodyfikować listings.sty w swojej lokalnej kopii lub bezpośrednio we wspólnym pliku i dodać następujące:

\lst@CCPutMacro
    \lst@ProcessOther {"23}\#
    \lst@ProcessLetter{"24}\textdollar
    \lst@ProcessOther {"25}\%
    \lst@ProcessOther {"26}\&
        %spanish letters coded in UTF
    \lst@ProcessOther {"E1}{\'a}
    \lst@ProcessOther {"C1}{\'A}
    \lst@ProcessOther {"E9}{\'e}
    \lst@ProcessOther {"C9}{\'E}
    \lst@ProcessOther {"ED}{\'i}
    \lst@ProcessOther {"CD}{\'I}
    \lst@ProcessOther {"F3}{\'o}
    \lst@ProcessOther {"D3}{\'O}
    \lst@ProcessOther {"FA}{\'u}
    \lst@ProcessOther {"DA}{\'U}
    \lst@ProcessOther {"F1}{ñ}
    \lst@ProcessOther {"D1}{Ñ}

W moim pliku .tex użyłem następujących opcji dla aukcji:

\usepackage{listingsutf8}
\lstset{
        inputencoding=utf8,
        extendedchars=\true}

Mam nadzieję, że może pomóc każdemu i może uda nam się skonstruować listing.sty zawierający prawie każdy znak UTF8 ... :)

1
Jaboto

Mój wkład w język litewski:

\lstset{%
    literate=%
     {ą}{{\k{a}}}1
     {č}{{\v{c}}}1
     {ę}{{\k{e}}}1
     {ė}{{\.{e}}}1
     {į}{{\k{i}}}1
     {š}{{\v{s}}}1
     {ų}{{\k{u}}}1
     {ū}{{\={u}}}1
     {ž}{{\v{z}}}1
     {Ą}{{\k{A}}}1
     {Č}{{\v{C}}}1
     {Ę}{{\k{E}}}1
     {Ė}{{\.{E}}}1
     {Į}{{\k{I}}}1
     {Š}{{\v{S}}}1
     {Ų}{{\k{U}}}1
     {Ū}{{\={U}}}1
     {Ž}{{\v{Z}}}1
}
1
niekas

Najczystszym rozwiązaniem jest użycie pakietu listing2: http://www.atscire.de/index.php?nav=products/listings2

Po prostu użyj \usepackage{listings2} zamiast \usepackage{listings} i tyle.

0
rfzero

Dla Wietnamczyków:

\usepackage{vntex}
\usepackage[utf8]{inputenc}
\usepackage{listings}  
\usepackage{tipa}

\lstset{columns=fullflexible,literate=
{đ}{{\dj}}1
{â}{{\^a}}1
{ă}{{\u{a}}}1
{ê}{{\^e}}1
{ô}{{\^o}}1
{ơ}{{\ohorn}}1
{ư}{{\uhorn}}1
{á}{{\'a}}1
{à}{{\`a}}1
{ả}{\h{a}}1
{ã}{{\~a}}1
{ạ}{\textsubdot{a}}1
{ấ}{\'{\^a}}1
{ầ}{\`{\^a}}1
{ẩ}{\h{\^a}}1
{ẫ}{\~{\^a}}1
{ậ}{\textsubdot{\^a}}1
{ắ}{\'{\u{a}}}1
{ằ}{\`{\u{a}}}1
{ẳ}{\h{\u{a}}}1
{ẵ}{\~{\u{a}}}1
{ặ}{\textsubdot{\u{a}}}1
{é}{{\'e}}1
{è}{{\`e}}1
{ẻ}{\h{e}}1
{ẽ}{{\~e}}1
{ẹ}{\textsubdot{e}}1
{ế}{\'{\^e}}1
{ề}{\`{\^e}}1
{ể}{\h{\^e}}1
{ễ}{\~{\^e}}1
{ệ}{\textsubdot{\^{e}}}1
{í}{{\'i}}1
{ì}{{\`i}}1
{ỉ}{\h{i}}1
{ĩ}{{\~i}}1
{ị}{\textsubdot{i}}1
{ó}{{\'o}}1
{ò}{{\`o}}1
{ỏ}{\h{o}}1
{õ}{{\~o}}1
{ọ}{\textsubdot{o}}1
{ố}{\'{\^o}}1
{ồ}{\`{\^o}}1
{ổ}{\h{\^o}}1
{ỗ}{\~{\^o}}1
{ộ}{\textsubdot{\^o}}1
{ớ}{\'{\ohorn}}1
{ờ}{\`{\ohorn}}1
{ở}{\h{\ohorn}}1
{ỡ}{\~{\ohorn}}1
{ợ}{\textsubdot{\ohorn}}1
{ú}{{\'u}}1
{ù}{{\`u}}1
{ủ}{\h{u}}1
{ũ}{{\~u}}1
{ụ}{\textsubdot{u}}1
{ứ}{\'{\uhorn}}1
{ừ}{\`{\uhorn}}1
{ử}{\h{\uhorn}}1
{ữ}{\~{\uhorn}}1
{ự}{\textsubdot{\uhorn}}1
{ý}{{\'y}}1
{ỳ}{{\`y}}1
{ỷ}{\h{y}}1
{ỹ}{{\~y}}1
{ỵ}{\textsubdot{y}}1
{Đ}{{\DJ}}1
{Â}{{\^A}}1
{Ă}{{\u{A}}}1
{Ê}{{\^E}}1
{Ô}{{\^O}}1
{Ơ}{{\OHORN}}1
{Ư}{{\UHORN}}1
{Á}{{\'A}}1
{À}{{\`A}}1
{Ả}{\h{A}}1
{Ã}{{\~A}}1
{Ạ}{\textsubdot{A}}1
{Ấ}{\'{\^A}}1
{Ầ}{\`{\^A}}1
{Ẩ}{\h{\^A}}1
{Ẫ}{\~{\^A}}1
{Ậ}{\textsubdot{\^A}}1
{Ắ}{\'{\u{A}}}1
{Ằ}{\`{\u{A}}}1
{Ẳ}{\h{\u{A}}}1
{Ẵ}{\~{\u{A}}}1
{Ặ}{\textsubdot{\u{A}}}1
{É}{{\'E}}1
{È}{{\`E}}1
{Ẻ}{\h{E}}1
{Ẽ}{{\~E}}1
{Ẹ}{\textsubdot{E}}1
{Ế}{\'{\^E}}1
{Ề}{\`{\^E}}1
{Ể}{\h{\^E}}1
{Ễ}{\~{\^E}}1
{Ệ}{\textsubdot{\^{E}}}1
{Í}{{\'I}}1
{Ì}{{\`I}}1
{Ỉ}{\h{I}}1
{Ĩ}{{\~I}}1
{Ị}{\textsubdot{I}}1
{Ó}{{\'O}}1
{Ò}{{\`O}}1
{Ỏ}{\h{O}}1
{Õ}{{\~O}}1
{Ọ}{\textsubdot{O}}1
{Ố}{\'{\^O}}1
{Ồ}{\`{\^O}}1
{Ổ}{\h{\^O}}1
{Ỗ}{\~{\^O}}1
{Ộ}{\textsubdot{\^O}}1
{Ớ}{\'{\OHORN}}1
{Ờ}{\`{\OHORN}}1
{Ở}{\h{\OHORN}}1
{Ỡ}{\~{\OHORN}}1
{Ợ}{\textsubdot{\OHORN}}1
{Ú}{{\'U}}1
{Ù}{{\`U}}1
{Ủ}{\h{U}}1
{Ũ}{{\~U}}1
{Ụ}{\textsubdot{U}}1
{Ứ}{\'{\UHORN}}1
{Ừ}{\`{\UHORN}}1
{Ử}{\h{\UHORN}}1
{Ữ}{\~{\UHORN}}1
{Ự}{\textsubdot{\UHORN}}1
{Ý}{{\'Y}}1
{Ỳ}{{\`Y}}1
{Ỷ}{\h{Y}}1
{Ỹ}{{\~Y}}1
{Ỵ}{\textsubdot{Y}}1
  }
0
Khoa Nguyen

Litery norweskie dla rozwiązania listings.sty in @ Janosch:

\lst@ProcessLetter{"C5}{\AA}
\lst@ProcessLetter{"C6}{\AE}
\lst@ProcessLetter{"D8}{\O}
\lst@ProcessLetter{"E5}{\aa}
\lst@ProcessLetter{"E6}{\ae}
\lst@ProcessLetter{"F8}{\o}
0
sindrejh

Autor pakietu sugeruje używając opcji texcl. Czasami to pomaga, czasem nie.

0
Vanuan

Wszyscy wiemy, jak LaTeX nie gra w Nicei z greką. Niemniej jednak, oto mój wkład, który wymaga kilku obejść i nie obejmuje znaków diakrytycznych (ale działa!):

\usepackage[greek]{babel}
\usepackage{textgreek}
\usepackage{listings}

% Notice that here it is spelled ‘omikron’, not ‘omicron’,
% and that I use ‘\textmugreek’ instead of ‘\textmu’,
% which are both part of the textgreek package, but the
% ‘normal’ \textmu conflicts with the textcomp package as
% that uses another font for \textmu.
\DeclareUnicodeCharacter{03BF}{\textomikron}
\DeclareUnicodeCharacter{039F}{\textOmikron}
\DeclareUnicodeCharacter{03BC}{\textmugreek}

\lstset{
    inputencoding=utf8,
    extendedchars=true,
    literate=
    {α}{{\textalpha}}1   {Α}{{\textAlpha}}1
    {β}{{\textbeta}}1    {Β}{{\textBeta}}1
    {γ}{{\textgamma}}1   {Γ}{{\textGamma}}1
    {δ}{{\textdelta}}1   {Δ}{{\textDelta}}1
    {ε}{{\textepsilon}}1 {Ε}{{\textEpsilon}}1
    {ζ}{{\textzeta}}1    {Ζ}{{\textZeta}}1
    {η}{{\texteta}}1     {Η}{{\textEta}}1
    {θ}{{\texttheta}}1   {Θ}{{\textTheta}}1
    {ι}{{\textiota}}1    {Ι}{{\textIota}}1
    {κ}{{\textkappa}}1   {Κ}{{\textKappa}}1
    {λ}{{\textlambda}}1  {Λ}{{\textLambda}}1
    {μ}{{\textmugreek}}1 {Μ}{{\textMu}}1
    {ν}{{\textnu}}1      {Ν}{{\textNu}}1
    {ξ}{{\textxi}}1      {Ξ}{{\textXi}}1
    {ο}{{\textomikron}}1 {Ο}{{\textOmikron}}1
    {π}{{\textpi}}1      {Π}{{\textPi}}1
    {ρ}{{\textrho}}1     {Ρ}{{\textRho}}1
    {σ}{{\textsigma}}1   {Σ}{{\textSigma}}1   {ς}{{\textvarsigma}}1
    {τ}{{\texttau}}1     {Τ}{{\textTau}}1
    {υ}{{\textupsilon}}1 {Υ}{{\textUpsilon}}1
    {φ}{{\textphi}}1     {Φ}{{\textPhi}}1
    {χ}{{\textchi}}1     {Χ}{{\textChi}}1
    {ψ}{{\textpsi}}1     {Ψ}{{\textPsi}}1
    {ω}{{\textomega}}1   {Ω}{{\textOmega}}1
}
0
user4664340

Dla islandzkiego:

\lstset{
  literate=%
    {Á}{{\'A}}1
    {á}{{\'a}}1
    {Ð}{{\dh}}1
    {ð}{{\dh}}1
    {É}{{\'E}}1
    {é}{{\'e}}1
    {í}{{\'i}}1
    {Í}{{\'I}}1
    {Ó}{{\'O}}1
    {ó}{{\'o}}1
    {Ú}{{\'U}}1
    {ú}{{\'u}}1
    {Ý}{{\'Y}}1
    {ý}{{\'y}}1
    {Þ}{{\TH}}1
    {þ}{{\th}}1
    {Æ}{{\AE}}1
    {æ}{{\ae}}1
    {Ö}{{\"O}}1
    {ö}{{\"o}}1
}
0
ofurkusi

Dla języka polskiego:

\lstset{%
literate=%
 {ą}{{\k{a}}}1
 {ę}{{\k{e}}}1
 {Ą}{{\k{A}}}1
 {Ę}{{\k{E}}}1
 {ś}{{\'{s}}}1
 {Ś}{{\'{S}}}1
 {ź}{{\'{z}}}1
 {Ź}{{\'{Z}}}1
 {ń}{{\'{n}}}1
 {Ń}{{\'{N}}}1
 {ć}{{\'{c}}}1
 {Ć}{{\'{C}}}1
 {ó}{{\'{o}}}1
 {Ó}{{\'{O}}}1
 {ż}{{\.{z}}}1
 {Ż}{{\.{Z}}}1
 {ł}{{\l{}}}1
 {Ł}{{\l{}}}1
}

A oto lista symboli, dzięki czemu możesz je utworzyć dla swojego języka: https://en.wikibooks.org/wiki/LaTeX/Special_Characters

0
Filip Kowal