🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Późne rozwijanie definicji

#17117
From: AMX
Date: Wed, 14 Dec 2011 20:13
74 lines
3906 bytes
On Tue, 13 Dec 2011 08:38:24 +0000 (UTC), 
Jarosław Sokołowski <jaros@lasek.waw.pl> wrote:


>>>>>> 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?

Jak na razie zmajsterkowałem coś takiego:

%\def\language{0}
language=\language
\newcommand\choice[2]{\if\language0 #1 \else #2 \fi}
\newcommand\alaname{\choice{ala}{as}}

\alaname

To działa, ale okazuje się, że latex nie definiuje \language. 
Zadziałałoby gdyby oprzeć się na czymś co jest na pewno
ustawiane. Tylko doszedłem do wniosku, że nie do końca jest to
to, o co mi chodzi. Bo to prowadzi do drugiej definicji
\newcommand\altalaname{\choice{as}{ala}}


> 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".

BTW. Dlaczego podwójny #?

> 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
>

Zacznijmy od początku. To ma być styl, który modyfikuje
standardowy article. Mają go używać inni, nie tylko ja, więc do
maksimum należy unikać nowych komend i zupełnie nowej składni.
Dla mnie \bicaption jest logiczne ale dla kogoś niekoniecznie.
Autor wie w jakim języku pisze, więc wie czy najpierw jest
abstract czy streszczenie. Latex będzie wiedział, jeśli makra
będzie rozwijał późno, kiedy już będzie znany język dokumentu. 

Zwinięty w pętelkę

   AMX

-- 
adres w rot13
Nyrxfnaqre Znghfmnx r-znk@b2.cy
Technical Details
Message-ID: <jcb00r$em9$1@mx1.internetia.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
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> <slrnjee3o0.cph.jaros@falcon.lasek.waw.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: AMX <r-znk@b2.cy>
Newsgroups: pl.comp.dtp.tex
Subject: Re: Późne rozwijanie definicji
Date: Wed, 14 Dec 2011 20:13:15 +0000 (UTC)
Organization: Home Access
Lines: 74
Message-ID: <jcb00r$em9$1@mx1.internetia.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> <slrnjee3o0.cph.jaros@falcon.lasek.waw.pl>
NNTP-Posting-Host: 178-37-74-242.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: mx1.internetia.pl 1323893595 15049 178.37.74.242 (14 Dec 2011 20:13:15 GMT)
X-Complaints-To: abuse@inetia.pl
NNTP-Posting-Date: Wed, 14 Dec 2011 20:13:15 +0000 (UTC)
X-Tech-Contact: usenet@internetia.pl
User-Agent: slrn/pre1.0.0-18 (Linux)
X-Server-Info: http://www.internetia.pl/
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit