🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.dtp.tex
Article #17220

Re: LaTeX wyrazenie regularne do zamiany znaków specjalnych

#17220
From: Jarosław Sokołowski
Date: Fri, 14 Mar 2014 17:27
45 lines
3468 bytes
Pan Cezary Grądys napisał:

>> Zacznijmy od tego, że nie są to 'znaki specjalne' jakiegoś jednego typu,
>> tylko znaki, które należą do różnych *kategorii*. I tak # ma kategorię 6
>> (parameter character), znak % kategorię 14 (comment character), znak &
>> kategorię 4 (alignment tab), a znak \ kategorię 0, czyli 'active", co
>> oznacza, że tworzy on sekwencje bądź znaki sterujące.
>>
>> Z tymi trzema pierwszymi poradzić sobie można łatwo nadając im kategorię
>> 11 (other), do której należą na przykład znaki interpunkcyjne. Piszemy:
>>
>> \catcode`\&=11
>> \catcode`\#=11
>> \catcode`\%=11
>>
>> i od tej pory nie możemy przy ich pomocy tworzyć tabel, makr i komentarzy,
>> ale za to drukują się takie, jakie są.
>
> Dzięki serdeczne, to się może przyda, ale tu akurat mam to w tabeli. 
> Wpadłem na taki pomysł, że zamienię ten $ na tabulację i nie bedzie 
> przeszkadzał, a potem z powrotem tabulację na $. Trochę to nieelegancko, 
> ale powinno zadziałać. Tabulacji raczej w tym tekscie nie będzie, bo 
> jest to czytane z pliku csv gdzie pola rozdzielone są tabulacją. Więc 
> jakby co problem wystąpi wcześniej.

Rolę tabulatora niekoniecznie musi pełnić ampersand (&), kategorię 4
można nadać również innemu znakowi, na przykład "|" i łykać tabele,
w których kolumny oddzielane są oldskulowo znakiem kreski pionowej.
TeX nie jest systemem, w którym znaki alfabetu wejściowego pełnią
z góry określoną funkcję. To można zmieniać, można określić co jest,
a co nie jest literą, co jest tabulatorem, co zaznacza komentarz itd.
Jak komuś żal znaków ASCII na te specjalne zastosowania, może użyć
znaków z drugiej połówki tabeli ośmiobitowyej i na przykład komentarze
oznaczać przez §, a uwalniając % jako normalnie drukowany znak.

Teraz dopiero zauważyłem, że w opisywanej sytuacji czytanie inputu
ze znakami o niedrukowalnych kategoriach, to tylko część problemu.
Zdaje się, że problemem jest również drukowanie tych znaków.
Napisanie $\backslash$, gdy chcemy po prostu uzyskać "\", to chyba
najgorsze rozwiązanie. Lepiej napisać \char92. W przypadku użycia
$$, otrzymamy znak z zupełnie innego fontu, przeznaczonego do składu
wyrażeń matematycznych.

-- 
Jarek
Technical Details
Message-ID: <slrnli6evf.shk.jaros@falcon.lasek.waw.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <lfuo6k$pa7$1@news.vectranet.pl> <slrnli5se2.nh7.jaros@falcon.lasek.waw.pl> <lfv9di$u9i$1@news.vectranet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin.stu.neva.ru!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!feeder1-2.proxad.net!proxad.net!feeder2-2.proxad.net!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.comp.dtp.tex
From: Jarosław Sokołowski <jaros@lasek.waw.pl>
Subject: Re: LaTeX wyrazenie regularne do zamiany znaków
 specjalnych
References: <lfuo6k$pa7$1@news.vectranet.pl> <slrnli5se2.nh7.jaros@falcon.lasek.waw.pl> <lfv9di$u9i$1@news.vectranet.pl>
Organization: : : :
Date: Fri, 14 Mar 2014 18:27:11 +0100
User-Agent: slrn/pre1.0.2-12 (Linux)
Mime-Version: 1.0
Message-ID: <slrnli6evf.shk.jaros@falcon.lasek.waw.pl>
Lines: 45
NNTP-Posting-Host: 77-253-217-116.ip.netia.com.pl
X-Trace: 1394818031 unt-rea-a-02.news.neostrada.pl 2155 77.253.217.116:48783
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit