Article View: pl.comp.dtp.tex
Article #17116Re: Późne rozwijanie definicji
From: Jarosław Sokołowski
Date: Tue, 13 Dec 2011 08:38
Date: Tue, 13 Dec 2011 08:38
74 lines
4202 bytes
4202 bytes
Pan AMX napisał:
>>>>> Muszę zdefiniować \altabstractname w taki sposób aby (ewentualna)
>>>>> _późniejsza_ zmiana wartości \language lub \polish skutkowały
>>>>> właściwym rozwinięciem \altabstractname.
>>>>
>>>> No to trzeba język badać dopiero w trakcie rozwijania definicji.
>>>> Coś w rodzaju:
>>>>
>>>> \def\altabstractname{\ifx\language0 ... \else ... \fi}
>>>
>>> Problem jest nieco szerszy. Potrzebuję w ten sposób
>>> zdefiniować nie tylko \altabstractname ale również parę innych
>>> komend. Więc chciałbym ominąć dla każdej \ifx tylko zrobić to w
>>> jednym warunku. Czy da się to jakoś krótko i elegancko?
>>
>> Trochę się w tym wszystkim pogubiłem. Niebardzo wyobrażam sobie do
>> czego to, do jakichś dwujęzycznych manuskryptów?
>
> Artykuł ,,dwujęzyczny''. Streszczenie zarowno po polsku jak i po
> angielsku. Podpisy pod rysunkami, tabelami etc. w dwu wersjach.
> No i teraz jeśli artykuł jest po polsku, to _najpierw_ streszczenie
> a potem abstract, jeśli po angielsku to najpierw abstract a potem
> streszczenie, i t.d.
Czyli nad tym, co najpierw a co potem, ma panować człowiek -- autor
czy redaktor. On też wie, czy artykuł jest po polsku czy angielsku
i na podstawie tej wiedzy ustala kolejność streszczenia i abstraktu.
Dobrze zrozumiałem?
Jeśli tak, to zabraliśmy się do tego, jak to mówią, od dupy strony.
Ja bym przy pisaniu czuł sie dobrze, gdybym miał dwa makra w rodzaju
\anstract i \streszczenie. I one poza zrobieniem nagłówków i podobnch
czynnościami, powinny również nadawać zmiennej \language właściwą
wartość.
>> A elegancko, to by było zdefiniować sobie alternatywne makro do
>> definiowania, używane mniej więcej tak:
>>
>> \altnewcommand{\altabstractname}{Abstract}{Streszczenie}
>>
>> W definicji makra oczywiście \ifx by było.
>
> A tego to nie rozumiem (ale bladym świtem to ja niewiele rozumiem)
LaTeX ma makro \newcomand służące do definiowania innych makr,
korzystające rzecz jasna z plainowego "\def". Jako pierwszy argument
podaje się definiowaną nazwę, a jako drugi -- rozwinięcie. Jeśli mamy
do zdefiniowania wiele makr, które mają dwa efektywne rozwinięcia,
zależące od zmiennej "\language", to dla wygody i przejrzystości
dobrze jest to robić takim makrem jak wyżej, gdzie jako dwa osobne
argumenty podane zostaną dwa efektywne rozwinięcia. A w środku będzie
znane już "\ifx\language0 ##2 \else ##3 \fi".
Znowu, gdybym ja to miał robić, to bym chciał mieć dwujęzyczne makra
do podpisywania rysunków i tabel. Coś w rodzaju:
\bicaption
{Cross section of Carlina acaulis stem}
{Przekrój przez łodygę Carlina acaulis}
Tutaj kolejność języków dobrze mieć z góry ustaloną, na przykład najpierw
angielski, potem polski. Wtedy ten sam rysunek z podpisem może być włączony
do artykułu polskiego albo angielskiego. Kolejność napisów "na wyjściu"
uzależniamy od globalnej (dla artykułu) zmiennej określającej użyty język
podstawowy.
Jarek
--
Jak dobrze wstać
Skoro świt
Jutrzenki blask
Duszkiem pić
Technical Details
Message-ID:
<slrnjee3o0.cph.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!.POSTED!not-for-mailReferences:
<jc5f2f$l6n$1@mx1.internetia.pl> <slrnjecgh2.5i3.jaros@falcon.lasek.waw.pl> <jc5hg9$2pm$1@mx1.internetia.pl> <slrnjecomo.6l6.jaros@falcon.lasek.waw.pl> <jc5p05$blj$1@mx1.internetia.pl> <slrnjecvrt.7j9.jaros@falcon.lasek.waw.pl> <jc6s28$jou$1@mx1.internetia.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!.POSTED!not-for-mail From: Jarosław Sokołowski <jaros@lasek.waw.pl> Newsgroups: pl.comp.dtp.tex Subject: Re: Późne rozwijanie definicji Date: Tue, 13 Dec 2011 08:38:24 +0000 (UTC) Organization: : : : Lines: 74 Message-ID: <slrnjee3o0.cph.jaros@falcon.lasek.waw.pl> References: <jc5f2f$l6n$1@mx1.internetia.pl> <slrnjecgh2.5i3.jaros@falcon.lasek.waw.pl> <jc5hg9$2pm$1@mx1.internetia.pl> <slrnjecomo.6l6.jaros@falcon.lasek.waw.pl> <jc5p05$blj$1@mx1.internetia.pl> <slrnjecvrt.7j9.jaros@falcon.lasek.waw.pl> <jc6s28$jou$1@mx1.internetia.pl> NNTP-Posting-Host: 87-205-207-243.adsl.inetia.pl Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1323765504 19223 87.205.207.243 (13 Dec 2011 08:38:24 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Tue, 13 Dec 2011 08:38:24 +0000 (UTC) User-Agent: slrn/0.9.8.1 (Linux) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit