blob: 9d1cfc1f0f202c73fa00b2b8926c04755b113de8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
Path: news.tu-bs.de!news-han1.dfn.de!news-stu1.dfn.de!news.belwue.de!news.uni-freiburg.de!not-for-mail
From: Heiko Oberdiek <oberdiek@uni-freiburg.de>
Newsgroups: de.comp.text.tex
Subject: Re: Inputencoding herausfinden
Date: Fri, 08 Aug 2003 02:34:27 +0200
Organization: Rechenzentrum der Universitaet Freiburg, Germany
Lines: 60
Message-ID: <bguqq2$is4$2@n.ruf.uni-freiburg.de>
References: <slrnbj46l6.hfp.h.harders@pc52.ifw.ing.tu-bs.de>
NNTP-Posting-Host: merkur.informatik.uni-freiburg.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Newsreader: Forte Agent 1.91/32.564
Xref: news.tu-bs.de de.comp.text.tex:138386
Harald Harders <h.harders@tu-bs.de> wrote:
> gibt es eine Möglichkeit, nach der Verwendung von
> \usepackage[...]{inputenc}
> von LaTeX aus herauszufinden, welches Encoding geladen wurde?
Ja:
documentclass{article}
\usepackage[latin1]{inputenc}
%%% \inputenc %%% BEGIN %%%
%%% * Package inputenc has to be loaded first.
%%% * \inputenc: <empty>, if no input encoding is set
%%% otherwise it contains the name of the current input encoding.
% default value for \inputenc
\let\inputenc\empty
% redefinition of \inputencoding to store the input encoding name
\let\OrgInputencoding\inputencoding
\def\inputencoding#1{%
\def\inputenc{#1}%
\OrgInputencoding{#1}%
}
% get current input encoding
\begingroup
\makeatletter
\expandafter\ifx\csname @inpenc@undefined\endcsname\relax
\edef\x{\endgroup}%
\else
\def\@inpenc@undefined@#1{\def\noexpand\inputenc{#1}}%
\edef\x{\endgroup
\@inpenc@undefined
}%
\fi
\x
%%% \inputenc %%% END %%%
\begin{document}
\typeout{* Input encoding: `\inputenc'}
\inputencoding{cp850}
\typeout{* Input encoding: `\inputenc'}
\end{document}
> Ich habe mal in inputenc.sty reingeschaut, aber mir ist nicht
> aufgefallen, dass irgendwo ein Makro oder so auf die Kodierung
> gesetzt würde.
Faellt doch sofort ins Auge, die Option (\DeclareOption*) fuehrt
\inputencoding{\CurrentOption} aus, das Argument wird
dreimal verwendet, gleich bei der ersten Verwendung wird das
Argument von \inputencoding in \@inpenc@undefined gespeichert.
Obiger Code speichert den Wert lediglich in \inputenc um (und
entfernt das erste Token "\@inpenc@undefined@".
Viele Gruesse
Heiko <oberdiek@uni-freiburg.de>
|