Thread View: pl.comp.dtp.tex
21 messages
21 total messages
Started by Maciej Pilichowski
Thu, 12 Mar 2009 21:43
Def z cyframi
Author: Maciej Pilichowski
Date: Thu, 12 Mar 2009 21:43
Date: Thu, 12 Mar 2009 21:43
20 lines
1267 bytes
1267 bytes
Witam,
Pytanie stracenca, ale coz :-) Czy jest jakies rozszerzenie texa, czy
trick, cokolwiek, co umozliwiloby zastosowanie w nazwie makra defa cyfr?
Poniewaz musze miec jakas reprezentacje liczbowa przy defie, wiec na razie
radze sobie kodujac opisowo cyfry:
\def\tabcapJJTrz{...}
\def\tabcapJJOs{...}
co w ludzkim jezyku oznacza
tabcap113
tabcap118
i tak wlasnie chcialbym pisac.
Wiec -- da sie? Jesli tak, to jak?
Pozdrawiam serdecznie
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Thu, 12 Mar 2009 22:18
Date: Thu, 12 Mar 2009 22:18
39 lines
1820 bytes
1820 bytes
Pan Maciej Pilichowski napisał:
> Pytanie stracenca, ale coz :-) Czy jest jakies rozszerzenie texa, czy
> trick, cokolwiek, co umozliwiloby zastosowanie w nazwie makra defa cyfr?
Wszustkie znaki czytane przez TeXa mają określoną kategorię. Nazwy makr
muszą składać się ze znaków o kategorii 11, czyli liter.
> Poniewaz musze miec jakas reprezentacje liczbowa przy defie, wiec na razie
> radze sobie kodujac opisowo cyfry:
>
> \def\tabcapJJTrz{...}
> \def\tabcapJJOs{...}
Tyz piknie. D.E.K. radzi sobie stosując numerację rzymską.
> co w ludzkim jezyku oznacza
> tabcap113
> tabcap118
>
> i tak wlasnie chcialbym pisac.
>
> Wiec -- da sie? Jesli tak, to jak?
No to można cyfrom nadać kategorię 11 i uczynić je literami:
\catcode`\0=11
\catcode`\1=11
...
\catcode`\9=11
Ale ostrzegam, że operowanie TeXem, w którym nie ma cyfr,
może stać się trochę kłopotliwe.
-- Jarek
PS
Przy okazki warto zauważyć, że bez żadnych zmian można definiować
makra, których nazwa jest jedną cyfrą, np. \def\1{...}.
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Thu, 12 Mar 2009 22:18
Date: Thu, 12 Mar 2009 22:18
39 lines
1876 bytes
1876 bytes
Pan Maciej Pilichowski napisał:
> Pytanie stracenca, ale coz :-) Czy jest jakies rozszerzenie texa, czy
> trick, cokolwiek, co umozliwiloby zastosowanie w nazwie makra defa cyfr?
Wszystkie znaki czytane przez TeXa mają określoną kategorię. Nazwy makr
muszą składać się ze znaków o kategorii 11, czyli liter.
> Poniewaz musze miec jakas reprezentacje liczbowa przy defie, wiec na razie
> radze sobie kodujac opisowo cyfry:
>
> \def\tabcapJJTrz{...}
> \def\tabcapJJOs{...}
Tyz piknie. D.E.K. radzi sobie stosując numerację rzymską.
> co w ludzkim jezyku oznacza
> tabcap113
> tabcap118
>
> i tak wlasnie chcialbym pisac.
>
> Wiec -- da sie? Jesli tak, to jak?
No to można cyfrom nadać kategorię 11 i uczynić je literami:
\catcode`\0=11
\catcode`\1=11
...
\catcode`\9=11
Ale ostrzegam, że operowanie TeXem, w którym nie ma cyfr,
może stać się trochę kłopotliwe.
-- Jarek
PS
Przy okazki warto zauważyć, że bez żadnych zmian można definiować
makra, których nazwa jest jedną cyfrą, np. \def\1{...}.
Re: Def z cyframi
Author: Wojciech Mula
Date: Thu, 12 Mar 2009 22:36
Date: Thu, 12 Mar 2009 22:36
42 lines
1816 bytes
1816 bytes
Maciej Pilichowski wrote:
> Pytanie stracenca, ale coz :-) Czy jest jakies rozszerzenie texa, czy
> trick, cokolwiek, co umozliwiloby zastosowanie w nazwie makra defa cyfr?
>
> Poniewaz musze miec jakas reprezentacje liczbowa przy defie, wiec na razie
> radze sobie kodujac opisowo cyfry:
>
> \def\tabcapJJTrz{...}
> \def\tabcapJJOs{...}
>
> co w ludzkim jezyku oznacza
> tabcap113
> tabcap118
>
> i tak wlasnie chcialbym pisac.
>
> Wiec -- da sie? Jesli tak, to jak?
Np.
\setbox113=\hbox{Hello}
\setbox118=\hbox{World}
\def\tabcap#1{\unhcopy#1}
\tabcap113 \tabcap118
Alternatywnie możesz użyć rejestrów toks, które przechowują tylko tekst.
\toks113={Hello}
\toks118={World}
\def\tabcap#1{\the\toks#1}
Wada obu rozwiązań - masz do dyspozycji liczby od 0 do 255.
Być może texperci mają lepsze rozwiązania (ja jestem
latechnikiem czasem tylko wypuszczającym się na wody
plaina).
w.
--
Kupię: http://wm.ite.pl/kupie.html
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Fri, 13 Mar 2009 08:34
Date: Fri, 13 Mar 2009 08:34
21 lines
1507 bytes
1507 bytes
Jarosław Sokołowski wrote:
> No to można cyfrom nadać kategorię 11 i uczynić je literami:
>
> \catcode`\0=11
> \catcode`\1=11
> ...
> \catcode`\9=11
>
> Ale ostrzegam, że operowanie TeXem, w którym nie ma cyfr,
> może stać się trochę kłopotliwe.
Errm, ale co to oznacza -- jestem za duzy laik z texa :-) Czy o to oznacza,
ze wszedzie poza tymi defami nie bede mogl stosowac cyfr?
> Przy okazki warto zauważyć, że bez żadnych zmian można definiować
> makra, których nazwa jest jedną cyfrą, np. \def\1{...}.
To niestety nie pojdzie mam za duzo tych defow.
Pozdrawiam serdecznie
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Fri, 13 Mar 2009 08:36
Date: Fri, 13 Mar 2009 08:36
14 lines
1249 bytes
1249 bytes
Wojciech Mula wrote:
> Alternatywnie możesz użyć rejestrów toks, które przechowują tylko tekst.
>
> \toks113={Hello}
> \toks118={World}
> \def\tabcap#1{\the\toks#1}
>
> Wada obu rozwiązań - masz do dyspozycji liczby od 0 do 255.
Na szczescie na razie sie jeszcze mieszcze w tym zakresie, wiec przecwicze.
Dziekuje pieknie!
Pozdrawiam serdecznie
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Fri, 13 Mar 2009 16:33
Date: Fri, 13 Mar 2009 16:33
26 lines
1904 bytes
1904 bytes
Pan Maciej Pilichowski napisał:
>> Ale ostrzegam, że operowanie TeXem, w którym nie ma cyfr,
>> może stać się trochę kłopotliwe.
>
> Errm, ale co to oznacza -- jestem za duzy laik z texa :-) Czy o to
> oznacza, ze wszedzie poza tymi defami nie bede mogl stosowac cyfr?
Ależ skąd. Nadal będzie można w tym TeXu pisać rozprawę o tym, jak to
w roku 1410 Jagiełło pogonił kota krzyżakom, albo o tym, już drugi
miesiąc z rzędu 13 wypada w piątek. Nie będzie można natomiast używać
cyfr w składni TeXowej tam, gdzie trzeba przedstawić jakąś wartość
liczbową.
>> Przy okazki warto zauważyć, że bez żadnych zmian można definiować
>> makra, których nazwa jest jedną cyfrą, np. \def\1{...}.
>
> To niestety nie pojdzie mam za duzo tych defow.
Z ciekawości zapytam, skąd "duży laik z TeXa" *wie*, że koniecznie
potrzeba jakichś defów? Jest wielce prawdopodobne, że dany problem
można rozwiązać tworząc mniej definicji, za to sprytniejszych, na
przykład z parametrami, pod które mogą być podstawiane liczby.
--
Jarek
Re: Def z cyframi
Author: Wlodzimierz Macewicz
Date: Fri, 13 Mar 2009 17:03
Date: Fri, 13 Mar 2009 17:03
31 lines
2230 bytes
2230 bytes
mozna tez definiowac/uzywac przez \csname ...\endcsname
Użytkownik "Jarosław Sokołowski" <jaros@lasek.waw.pl> napisał w wiadomości news:slrngrl2md.6i9.jaros@falcon.lasek.waw.pl...
> Pan Maciej Pilichowski napisał:
>
>>> Ale ostrzegam, że operowanie TeXem, w którym nie ma cyfr,
>>> może stać się trochę kłopotliwe.
>>
>> Errm, ale co to oznacza -- jestem za duzy laik z texa :-) Czy o to
>> oznacza, ze wszedzie poza tymi defami nie bede mogl stosowac cyfr?
>
> Ależ skąd. Nadal będzie można w tym TeXu pisać rozprawę o tym, jak to
> w roku 1410 Jagiełło pogonił kota krzyżakom, albo o tym, już drugi
> miesiąc z rzędu 13 wypada w piątek. Nie będzie można natomiast używać
> cyfr w składni TeXowej tam, gdzie trzeba przedstawić jakąś wartość
> liczbową.
>
>>> Przy okazki warto zauważyć, że bez żadnych zmian można definiować
>>> makra, których nazwa jest jedną cyfrą, np. \def\1{...}.
>>
>> To niestety nie pojdzie mam za duzo tych defow.
>
> Z ciekawości zapytam, skąd "duży laik z TeXa" *wie*, że koniecznie
> potrzeba jakichś defów? Jest wielce prawdopodobne, że dany problem
> można rozwiązać tworząc mniej definicji, za to sprytniejszych, na
> przykład z parametrami, pod które mogą być podstawiane liczby.
>
> --
> Jarek
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Fri, 13 Mar 2009 18:49
Date: Fri, 13 Mar 2009 18:49
29 lines
2234 bytes
2234 bytes
Pan Wlodzimierz Macewicz zauważył: > mozna tez definiowac/uzywac przez \csname ...\endcsname No, można. Ale czy ma to jakiś związek z pytaniem zadanym na początku tego wątku? Albo z moim postulatem, by szukać możliwie prostych rozwiązań? Ale TeX to TeX, można w nim zdefiniować lub przedefiniować wszystko na wiele sposobów. Dawno tego tu nie było, więc pozwolę sobie załączyć jedną z lepszych ilustracji tej prawdy. Z prośbą o przeTeXowanie przez wszystkich tych, którzy do tej pory tego nie robili. \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye -- Jarek
Re: Def z cyframi
Author: Wlodzimierz Macewicz
Date: Sat, 14 Mar 2009 08:03
Date: Sat, 14 Mar 2009 08:03
51 lines
3229 bytes
3229 bytes
bylo pytanie jak zrobic (uzyc) makro w ktorego nazwie bedzie cyfra odpowiedzi moga byc dwie (i chyva tylko dwie) 1. zmienic kategorie cyfr (Twoj postulat) 2. definiowac/uzywac przez \csname (moj postulat) metoda pierwsza moze miec skutki uboczne (co prawda nie przychodzi mi na mysl zaden) pozdrawiam WM PS troche nie a propos (podobnie jak Twoj przyklad) -- program ktory nie jest czytelny na ,,pierwszy rzut oka'' jest ZLE NAPISANYM programem! w kontekscie pytania pierwotnego przedefiniowanie kategorii jest atrakcyjne i wydaje sie proste, ale (tak troche przesadnie teoretyzujac) ktos analizujac kod bylby zdziwiony ,,jak to dziala i dlaczego'' uzycie jawne \csname ...\endcsname -- uwidacznia zastosowany mechanizm Użytkownik "Jarosław Sokołowski" <jaros@lasek.waw.pl> napisał w wiadomości news:slrngrlamf.c05.jaros@falcon.lasek.waw.pl... > Pan Wlodzimierz Macewicz zauważył: > >> mozna tez definiowac/uzywac przez \csname ...\endcsname > > No, można. Ale czy ma to jakiś związek z pytaniem zadanym > na początku tego wątku? Albo z moim postulatem, by szukać > możliwie prostych rozwiązań? Ale TeX to TeX, można w nim > zdefiniować lub przedefiniować wszystko na wiele sposobów. > Dawno tego tu nie było, więc pozwolę sobie załączyć jedną > z lepszych ilustracji tej prawdy. Z prośbą o przeTeXowanie > przez wszystkich tych, którzy do tej pory tego nie robili. > > > \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF > PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP > A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP > AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi > Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx > :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL > RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse > B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI > I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; > ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% > s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G > LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e > doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye > > -- > Jarek
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Sat, 14 Mar 2009 09:30
Date: Sat, 14 Mar 2009 09:30
16 lines
1575 bytes
1575 bytes
Jarosław Sokołowski wrote: > Z ciekawości zapytam, skąd "duży laik z TeXa" *wie*, że koniecznie > potrzeba jakichś defów? Bo sie zapytam na tej wlasnie grupie ;-) Chodzilo o taki problem -- wykonywane sa serie doswiadczen: seri A - dosw. 1, 2, 3, 4 5, seria B -- dosw. 1, 2, 3, .. seria C... itd. Parametry dosw. odpowiadaja sobie miedzy roznymi seriami, wyniki sa umieszczone w tabelkach. Stad chcialbym miec te same podpisy pod tabelami A1, B1, C1..., takie same pod A2, B2, C2, itd. Oczywiscie bez recznego copy&paste tresci podpisu. Pozdrawiam serdecznie
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Sat, 14 Mar 2009 10:08
Date: Sat, 14 Mar 2009 10:08
23 lines
1685 bytes
1685 bytes
Wlodzimierz Macewicz wrote:
> mozna tez definiowac/uzywac przez \csname ...\endcsname
Dziekuje za porade, znalazlem przyzwoity opis tutaj:
http://www.tug.org/TUGboat/Articles/tb10-2/tb24bechtolsheim.pdf
str. 204, 1 kolumna zwlaszcza.
Z tego co zrozumialem :-D wynikaloby ze moge po prostu napisac:
\expandafter\def\csname tabcap3\endcsname{podpis pod tabelka 3.}
a pozniej napisac
\caption{\tabcap3}
Niestety to nie dziala. Jesli zamiast 3 wpisze to moje kodowanie "Trz" to
dziala. Niby wiec i tu cyfry przeszkadzaja, choc wg ww. dokumentu powinienem
moc wpisywac i cyfry i myslniki i co tam jeszcze bym chcial.
Co tu jest nie tak?
Pozdrawiam serdecznie
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Sat, 14 Mar 2009 12:11
Date: Sat, 14 Mar 2009 12:11
65 lines
4180 bytes
4180 bytes
Pan Wlodzimierz Macewicz napisał: > bylo pytanie jak zrobic (uzyc) makro w ktorego nazwie bedzie cyfra > > odpowiedzi moga byc dwie (i chyva tylko dwie) > 1. zmienic kategorie cyfr (Twoj postulat) > 2. definiowac/uzywac przez \csname (moj postulat) > > metoda pierwsza moze miec skutki uboczne (co prawda nie przychodzi > mi na mysl zaden) Ona ma całe mnóstwo skutków ubocznych. Albo inaczej na to patrząc -- jeden, za to fatalny. Niemożność użycia cyfr powoduje, że nezrozumiałe dla TeXa stają się polecanie takie jak \vskip 3 mm. > troche nie a propos (podobnie jak Twoj przyklad) -- program ktory nie > jest czytelny na ,,pierwszy rzut oka'' jest ZLE NAPISANYM programem! Ogólnie rzecz ujmując, wszystko to racja. Ale posłuże się jeszcze raz tym samym przykładem. Nazwać tego ZLE NAPISANYM programem nie mogę. To majstersztyk po prostu. > w kontekscie pytania pierwotnego przedefiniowanie kategorii jest > atrakcyjne i wydaje sie proste, ale (tak troche przesadnie teoretyzujac) > ktos analizujac kod bylby zdziwiony ,,jak to dziala i dlaczego'' uzycie > jawne \csname ...\endcsname -- uwidacznia zastosowany mechanizm Znowu można na to spojrzeć z innej strony. Zmiana kategorii znaku jest narzędziem często wykorzystywanym w TeXu i okołoTeXowych zastosowaniach. Najczęściej definiuje się dodatkowy (obok albo zamiast "\") "active char", na przykład jako "@". Podobnie nadaje się różnym znakom kategorię 14, czyli "comment character" (tak jak normalnie znak "%"). Natomiast polecenia \csname ...\endcsname przeznaczone są do stosowania głęboko w definicjach. Większość użytkowników TeXa w ogóle nie zdaje sobie sprawy z ich istnienia. Jawnie użyte w manuskrypcie, to dopiero mogą zdziwić. >> Pan Wlodzimierz Macewicz zauważył: >> >>> mozna tez definiowac/uzywac przez \csname ...\endcsname >> >> No, można. Ale czy ma to jakiś związek z pytaniem zadanym >> na początku tego wątku? Albo z moim postulatem, by szukać >> możliwie prostych rozwiązań? Ale TeX to TeX, można w nim >> zdefiniować lub przedefiniować wszystko na wiele sposobów. >> Dawno tego tu nie było, więc pozwolę sobie załączyć jedną >> z lepszych ilustracji tej prawdy. Z prośbą o przeTeXowanie >> przez wszystkich tych, którzy do tej pory tego nie robili. >> >> >> \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF >> PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP >> A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP >> AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi >> Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx >> :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL >> RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse >> B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI >> I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; >> ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% >> s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G >> LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e >> doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye -- Jarek
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Sat, 14 Mar 2009 12:26
Date: Sat, 14 Mar 2009 12:26
29 lines
2055 bytes
2055 bytes
Pan Maciej Pilichowski napisał:
>> Z ciekawości zapytam, skąd "duży laik z TeXa" *wie*, że koniecznie
>> potrzeba jakichś defów?
>
> Bo sie zapytam na tej wlasnie grupie ;-)
>
> Chodzilo o taki problem -- wykonywane sa serie doswiadczen:
> seri A - dosw. 1, 2, 3, 4 5, seria B -- dosw. 1, 2, 3, .. seria C... itd.
>
> Parametry dosw. odpowiadaja sobie miedzy roznymi seriami, wyniki sa
> umieszczone w tabelkach. Stad chcialbym miec te same podpisy pod tabelami
> A1, B1, C1..., takie same pod A2, B2, C2, itd. Oczywiscie bez recznego
> copy&paste tresci podpisu.
Wśród licznych możliwych rozwiązań, które pogodzą uwarunkowania składni TeXa
i czytelność kodu, jest jeszcze metoda z \ifcase ... \or ... \fi.
\def\seriaA#1{\ifcase #1 \or
W doświadczeniu 1 zasyczało, błysnęło i wybuchło \or
W doświadczeniu 2 nic nie zaobserwowano \or
W doświadczeniu 3 coś wyszło, ale kol.~Dreptak zgubił notatki \or
W doświadczeniu 4 istnieją spory na temat tego, co zaobserwowano \or
Doświadczenia 5 nie przeprowadzono, bo skończyły sie fundusze \fi}
Później piszemy pod tabelami na przykład \seriaA{3}
--
Jarek
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Sat, 14 Mar 2009 17:07
Date: Sat, 14 Mar 2009 17:07
16 lines
1675 bytes
1675 bytes
Jarosław Sokołowski wrote:
> Wśród licznych możliwych rozwiązań, które pogodzą uwarunkowania składni
> TeXa i czytelność kodu, jest jeszcze metoda z \ifcase ... \or ... \fi.
>
> \def\seriaA#1{\ifcase #1 \or
Dziekuje, w moim przypadku mam jednak numeracje nieciagla (nie wszystkie
wyniki daje do publikacji). Moglbym to zmienic na ifnum, ale poniewaz tex
nie ma elseif (?) tylko else ifnum bedzie przy edycji musialbym liczyc
liczbe wierszy, zeby dopisac odpowiednia liczbe fi.
Zapis bylby bardziej elegancki, ale jego obsluga bardziej zlozona niz
obecnie.
Pozdrawiam serdecznie
Re: Def z cyframi
Author: Wojciech Muła
Date: Sat, 14 Mar 2009 18:16
Date: Sat, 14 Mar 2009 18:16
24 lines
2120 bytes
2120 bytes
On Fri, 13 Mar 2009 18:49:52 +0000 (UTC) Jarosław Sokołowski <jaros@lasek.waw.pl> wrote: > \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF > PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP > A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP > AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi > Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx > :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL > RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse > B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI > I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; > ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% > s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G > LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e > doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye Cudo! Mniej więcej rozumiem połowę pierwszego wiersza. To Twoje dzieło? w. -- Kupię: http://wm.ite.pl/kupie.html
Re: Def z cyframi
Author: Wlodzimierz Macewicz
Date: Sat, 14 Mar 2009 20:55
Date: Sat, 14 Mar 2009 20:55
50 lines
3510 bytes
3510 bytes
> jeden, za to fatalny. Niemożność użycia cyfr powoduje, że nezrozumiałe
> dla TeXa stają się polecanie takie jak \vskip 3 mm.
>
takich polecen raczej nalezy unikac!!!!
moze bedzie prosciej wyrzezbic to w kamieniu ;-)
jesli juz to zdefiniuj sobie wczesniej \def\mojskip{\vskip 3pt plus 1pt minus 1pt} -- przed przedefiniowaniem kategorii
>> troche nie a propos (podobnie jak Twoj przyklad) -- program ktory nie
>> jest czytelny na ,,pierwszy rzut oka'' jest ZLE NAPISANYM programem!
>
> Ogólnie rzecz ujmując, wszystko to racja. Ale posłuże się jeszcze raz
> tym samym przykładem. Nazwać tego ZLE NAPISANYM programem nie mogę.
> To majstersztyk po prostu.
NIE, to jest ciekawostka, dowcip -- nazwij to jak chcesz, ale nie dobrze napisanym programem!!
u mnie studenci wylatuja z hukiem za takie ,,majstersztyki''
sp. Jan Bielecki lubowal sie w swoich podrecznikach jez. C w sztuczkach z uzyciem 5 wskaznikow do czegos tam
czyli tworzeniu kodu ABSOLUTNIE nieczytelnego. dlaczego nie nalezy tak robic? odpowiedz prosta, jesli nie wiadomo o co chodzi,
to zapewne chodzi o pieniadze ;-) (chodzi o kwalifikacje i czas poswiecony na pielegnacje/modyfikacje kodu)
>
>> w kontekscie pytania pierwotnego przedefiniowanie kategorii jest
>> atrakcyjne i wydaje sie proste, ale (tak troche przesadnie teoretyzujac)
>> ktos analizujac kod bylby zdziwiony ,,jak to dziala i dlaczego'' uzycie
>> jawne \csname ...\endcsname -- uwidacznia zastosowany mechanizm
>
> Znowu można na to spojrzeć z innej strony. Zmiana kategorii znaku jest
> narzędziem często wykorzystywanym w TeXu i okołoTeXowych zastosowaniach.
> Najczęściej definiuje się dodatkowy (obok albo zamiast "\") "active char",
> na przykład jako "@". Podobnie nadaje się różnym znakom kategorię 14,
> czyli "comment character" (tak jak normalnie znak "%"). Natomiast
> polecenia \csname ...\endcsname przeznaczone są do stosowania głęboko
> w definicjach. Większość użytkowników TeXa w ogóle nie zdaje sobie sprawy
> z ich istnienia. Jawnie użyte w manuskrypcie, to dopiero mogą zdziwić.
tak ale ich jawne uzycie co najwyzej moze spowodowac zerkniecie do dokumentacji
WIDAC ZE JEST DZIWNIE, natomiast uzycie \aqq123 zdziwi dlaczego to dziala tak, a nie zgodnie z dokumentacja?
w pierwszym wypadku widac ze czegos nie wiem, a w drugim wypadku nei wiem dlaczego tak to dziala?
pozdr WM
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Sat, 14 Mar 2009 23:24
Date: Sat, 14 Mar 2009 23:24
68 lines
4197 bytes
4197 bytes
Pan Wlodzimierz Macewicz napisał w Usenecie, bo nie mógł w kamieniu:
>> jeden, za to fatalny. Niemożność użycia cyfr powoduje, że nezrozumiałe
>> dla TeXa stają się polecanie takie jak \vskip 3 mm.
>
> takich polecen raczej nalezy unikac!!!!
A to czemu?
> moze bedzie prosciej wyrzezbic to w kamieniu ;-)
Próbowałem jednego i drugiego. Jednak nie jest prościej.
> jesli juz to zdefiniuj sobie wczesniej \def\mojskip{\vskip 3pt plus
> 1pt minus 1pt} -- przed przedefiniowaniem kategorii
A jeśli nagle będę na przykład potrzebował wkleić obrazek, a ten
drań nieszczęśliwie będzie miał taki rozmiar, że bez dodatkowego
ekstraordynaryjnego odstępu wszystko zacznie się źle łamać,
zostanie wisząca jedna linijka, to co, nie mogę sobie tak vskipnąć,
tylko muszę używać wcześniej przygotowanych i głęboko przemyślanych
makr?
>>> troche nie a propos (podobnie jak Twoj przyklad) -- program ktory nie
>>> jest czytelny na ,,pierwszy rzut oka'' jest ZLE NAPISANYM programem!
>>
>> Ogólnie rzecz ujmując, wszystko to racja. Ale posłuże się jeszcze raz
>> tym samym przykładem. Nazwać tego ZLE NAPISANYM programem nie mogę.
>> To majstersztyk po prostu.
>
> NIE, to jest ciekawostka, dowcip -- nazwij to jak chcesz, ale nie
> dobrze napisanym programem!! u mnie studenci wylatuja z hukiem za
> takie ,,majstersztyki''
To są jeszcze studenci, którzy potrafią takie rzeczy pisać? To przywraca
moja mocno nadszarpniętą wiarę w młode pokolenie. Ktoś, kto potrafi
bawić się różnymi 'dirty tricks' i stać go na takie dowcipy, na ogół
potrafi pisać pięknie i klarownie. W odwrotną strone wynikanie nie
zawsze zachodzi.
>> Znowu można na to spojrzeć z innej strony. Zmiana kategorii znaku jest
>> narzędziem często wykorzystywanym w TeXu i okołoTeXowych zastosowaniach.
>> Najczęściej definiuje się dodatkowy (obok albo zamiast "\") "active char",
>> na przykład jako "@". Podobnie nadaje się różnym znakom kategorię 14,
>> czyli "comment character" (tak jak normalnie znak "%"). Natomiast
>> polecenia \csname ...\endcsname przeznaczone są do stosowania głęboko
>> w definicjach. Większość użytkowników TeXa w ogóle nie zdaje sobie sprawy
>> z ich istnienia. Jawnie użyte w manuskrypcie, to dopiero mogą zdziwić.
>
> tak ale ich jawne uzycie co najwyzej moze spowodowac zerkniecie do
> dokumentacji
>
> WIDAC ZE JEST DZIWNIE, natomiast uzycie \aqq123 zdziwi dlaczego to dziala
> tak, a nie zgodnie z dokumentacja?
>
> w pierwszym wypadku widac ze czegos nie wiem, a w drugim wypadku nei wiem
> dlaczego tak to dziala?
To już zmartwienie tego, który nie wie, a nie tego, który pisze.
Kategorii znaków jest tuzin, a samych znaków ledwie dziesięć razy
tyle. W TeXowym manuskrypcie trudno cokolwiek ukryć, a proste
sztuczki w rodzaju zmiany kategorii znaku potrafią nieraz zaoszczędzić
setki wierszy kodu (i z dziesięć razy teyle dokumentacji do niego).
A do takiej sztuczki czasem wystarczą ledwie trzy wiersze komentarza,
aby wszystko stało się jasne.
--
Jarek
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Sat, 14 Mar 2009 23:32
Date: Sat, 14 Mar 2009 23:32
26 lines
2163 bytes
2163 bytes
Pan Wojciech Muła napisał: >> \let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF >> PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP >> A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP >> AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi >> Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx >> :76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL >> RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse >> B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI >> I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz; >> ;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,% >> s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G >> LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e >> doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye > > Cudo! Mniej więcej rozumiem połowę pierwszego wiersza. > To Twoje dzieło? Nie, niestety nie moje. Dość stare, ma chyba ponad dziesięć lat, nie pamiętam już kto jest autorem (pewnie jakiś student wylatujący z hukiem za drzwi). Warto co jakiś czas takie rzeczy przypominać. Też uważam, że cudowne. -- Jarek
Re: Def z cyframi
Author: Jarosław Sokołowski
Date: Sat, 14 Mar 2009 23:36
Date: Sat, 14 Mar 2009 23:36
27 lines
2020 bytes
2020 bytes
Pan Maciej Pilichowski napisał (i postanowił jednak opublikować):
> Dziekuje, w moim przypadku mam jednak numeracje nieciagla (nie wszystkie
> wyniki daje do publikacji). Moglbym to zmienic na ifnum, ale poniewaz tex
> nie ma elseif (?) tylko else ifnum bedzie przy edycji musialbym liczyc
> liczbe wierszy, zeby dopisac odpowiednia liczbe fi.
>
> Zapis bylby bardziej elegancki, ale jego obsluga bardziej zlozona niz
> obecnie.
\def\koronacje#1{%
\ifnum#1=1386 Władysław Jagiełło \fi
\ifnum#1=1434 Władysław Warneńczyk \fi
\ifnum#1=1447 Kazimierz Jagiellończyk \fi
\ifnum#1=1492 Jan Olbracht \fi
\ifnum#1=1501 Aleksander Jagiellończyk \fi
\ifnum#1=1506 Zygmunt Stary \fi
\ifnum#1=1548 Zygmunt August \fi
}
Czy ten zapis z "\ifnum" ma złożoną obsługę? Czy jest za mało elegancki?
Czy trzeba w nim liczyć wiersze? Bo jak mi ktoś powie, że jest on
algorytmicznie mało optymalny, to mu poradzę aby sobie DVI przygotowywał
w asemblerze, nie w TeXu.
--
Jarek
Re: Def z cyframi
Author: Maciej Pilichowski
Date: Sun, 15 Mar 2009 09:51
Date: Sun, 15 Mar 2009 09:51
11 lines
1358 bytes
1358 bytes
Jarosław Sokołowski wrote:
> \def\koronacje#1{%
> \ifnum#1=1386 Władysław Jagiełło \fi
> \ifnum#1=1434 Władysław Warneńczyk \fi
> ...
> }
Zacmienie umyslowe :-) Przepraszam i dziekuje!
Pozdrawiam serdecznie
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads