Discussion:
Późne rozwijanie definicji
(Wiadomość utworzona zbyt dawno temu. Odpowiedź niemożliwa.)
AMX
2011-12-12 17:53:19 UTC
Permalink
Problem jest taki: chcę zdefiniować komendę altabstractname,
która powinno być rozwijane w zależności od języka dokumentu do
Streszczenie bądź Abstract.

W tej chwili jest to zrobione w oparciu o to, że pakiet polski
definiuje polecenie \polish, czyli:

\ifx\polish\@undefined
\newcommand{\altabstractname}{Streszczenie}
\else
\newcommand{\altabstractname}{Abstract}
\fi

Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.

Chciałbym to zrobić tak, aby nie było takiej zależności. Jak to
osiągnąć?

Będę dźwięczny za pomoc....

Problem streszczał

AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-12 18:04:18 UTC
Permalink
Post by AMX
Problem jest taki: chcę zdefiniować komendę altabstractname,
która powinno być rozwijane w zależności od języka dokumentu do
Streszczenie bądź Abstract.
W tej chwili jest to zrobione w oparciu o to, że pakiet polski
\newcommand{\altabstractname}{Streszczenie}
\else
\newcommand{\altabstractname}{Abstract}
\fi
Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.
Chciałbym to zrobić tak, aby nie było takiej zależności. Jak to
osiągnąć?
Będę dźwięczny za pomoc....
A zmienna \language, ta której podstawowym przeznaczeniem jest wybór
właściwych wzorców przenoszenia wyrazów? Dla języka angielskiego
(amerykańskiego) ma ona wartość zero, a dla polskiego ma wetość
dodatnią (choć nie zawsze taką samą). To powinno wystarczyć.
--
Jarek
AMX
2011-12-12 18:34:49 UTC
Permalink
On Mon, 12 Dec 2011 18:04:18 +0000 (UTC),
Post by Jarosław Sokołowski
Post by AMX
Problem jest taki: chcę zdefiniować komendę altabstractname,
która powinno być rozwijane w zależności od języka dokumentu do
Streszczenie bądź Abstract.
Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.
A zmienna \language, ta której podstawowym przeznaczeniem jest wybór
właściwych wzorców przenoszenia wyrazów? Dla języka angielskiego
(amerykańskiego) ma ona wartość zero, a dla polskiego ma wetość
dodatnią (choć nie zawsze taką samą). To powinno wystarczyć.
To może jest bardziej uniwersalne niż korzystanie z \polish,
tylko nie rozwiązuje podstawowego problemu o który pytam.

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.

Rozwijał się

AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-12 20:23:52 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
Problem jest taki: chcę zdefiniować komendę altabstractname,
która powinno być rozwijane w zależności od języka dokumentu do
Streszczenie bądź Abstract.
Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.
A zmienna \language, ta której podstawowym przeznaczeniem jest wybór
właściwych wzorców przenoszenia wyrazów? Dla języka angielskiego
(amerykańskiego) ma ona wartość zero, a dla polskiego ma wetość
dodatnią (choć nie zawsze taką samą). To powinno wystarczyć.
To może jest bardziej uniwersalne niż korzystanie z \polish,
tylko nie rozwiązuje podstawowego problemu o który pytam.
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}
--
Jarek
AMX
2011-12-12 20:42:45 UTC
Permalink
On Mon, 12 Dec 2011 20:23:52 +0000 (UTC),
Post by Jarosław Sokołowski
Post by AMX
Post by AMX
Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.
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.
\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?


Poszerzał

AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-12 22:26:05 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
Post by AMX
Generalnie to działa, ale tylko wtedy jeśli plik z którego
wczytuję powyższe jest ładowany po pakiecie polski.
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.
\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? 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.
--
Jarek
AMX
2011-12-13 06:41:12 UTC
Permalink
On Mon, 12 Dec 2011 22:26:05 +0000 (UTC),
Post by Jarosław Sokołowski
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
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.
\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.
Post by Jarosław Sokołowski
A elegancko, to by
było zdefiniować sobie alternatywne makro do definiowania, używane
\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)

Streszczał się

AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-13 08:38:24 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
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.
\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ść.
Post by AMX
Post by Jarosław Sokołowski
A elegancko, to by było zdefiniować sobie alternatywne makro do
\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ć
AMX
2011-12-14 20:13:15 UTC
Permalink
On Tue, 13 Dec 2011 08:38:24 +0000 (UTC),
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
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.
\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
\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-***@b2.cy
Jarosław Sokołowski
2011-12-14 21:53:34 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
"\ifx\language0 ##2 \else ##3 \fi".
BTW. Dlaczego podwójny #?
Stosuje się je w definicjach lokalnych, czyli definicjach w definicjach.
Tu się taki zwierz może (choć nie musi) przydać.
Post by AMX
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.
No i to jest bardzo dobry początek. Trzeba zdefiniować co się chce
osiągnąć, a następnie jak to robić. I w końcu klarownie opisać,
by ktoś, kto ma tego używać pojął ideę w lot. Może być tak: "Styl
ten jest rozszerzeniem stylu article, służy do dodawania wstawek
w języku alternatywnym do tekstu pisanego w języku podstawowym.
Wstawki dodawane są za pomocą poleceń rozpoczynających się prefiksem
"\alt", będących odpowiednikiem poleceń standardowych, np. obok
polecenia \caption zostało udostępnione polecenie \altcaption.
Pełna lista poleceń alternatywnych znajduje się poniżej:...".
Post by AMX
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.
No właśnie: autor wie. Ale czy my musimy o wszystkim mówić LaTeXowi
i o wszystko go pytać? Czy wielką niedogodnościa by było użycie dwóch
plików ze stylami: altenglish.sty i altpolish.sty, ktorę dodają do
artykułu język angielski albo polski jako alternatywny? Jeśli napisze
się je porzadnie, czyli tak, że wszystkie napisy są zdefiniowanie na
początku, a dopiero później następują definicje \altwhatever (albo
nawet są inputowanie), to dodanie altfrench.sty albo altgerman.sty
będzie kwestią chwili.

Jarek
--
Nie angielskie, nie kreolskie,
Ale nasze, nasze polskie,
Nie austriackie, nie jakieś inne,
Ale rodzinne! Ale rodzinne!
AMX
2011-12-19 21:56:15 UTC
Permalink
On Wed, 14 Dec 2011 21:53:34 +0000 (UTC),
Post by Jarosław Sokołowski
No i to jest bardzo dobry początek. Trzeba zdefiniować co się chce
osiągnąć, a następnie jak to robić. I w końcu klarownie opisać,
by ktoś, kto ma tego używać pojął ideę w lot. Może być tak: "Styl
ten jest rozszerzeniem stylu article,
dokładniej, jest to dostosowanie stylu article do wymogów
(niekoniecznie najrozsądniejszych) wydawnictwa. W związku z tym,
oprócz dwujęzyczności mamy cały szereg elementów nieistotnych z
punktu widzenia rozważanago problemu.
Post by Jarosław Sokołowski
służy do dodawania wstawek
w języku alternatywnym do tekstu pisanego w języku podstawowym.
Wstawki dodawane są za pomocą poleceń rozpoczynających się prefiksem
"\alt", będących odpowiednikiem poleceń standardowych, np. obok
polecenia \caption zostało udostępnione polecenie \altcaption.
Pełna lista poleceń alternatywnych znajduje się poniżej:...".
Post by AMX
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.
No właśnie: autor wie. Ale czy my musimy o wszystkim mówić LaTeXowi
i o wszystko go pytać? Czy wielką niedogodnościa by było użycie dwóch
plików ze stylami: altenglish.sty i altpolish.sty, ktorę dodają do
artykułu język angielski albo polski jako alternatywny? Jeśli napisze
się je porzadnie, czyli tak, że wszystkie napisy są zdefiniowanie na
początku, a dopiero później następują definicje \altwhatever (albo
nawet są inputowanie), to dodanie altfrench.sty albo altgerman.sty
będzie kwestią chwili.
Jakkolwiek pierwotny zamiar dotyczył konkretnego wydawnictwa,
więc tworzenie czegoś bardziej uniwersalnego nie wydawało się
sensowen, to powyższe nasunęło mi myśl, że problem jest jednak
nie taki bardzo jednostkowy.

Ponieważ jest w tej chwili moda na język angielski, więc
stosunkowo często pojawia się problem podwójnych podpisów i dwu
streszczeń. Wydaje się, że ten problem warto wydzielić jako
osobny od formatowania całości i porządnie rozwiązać.

Z założenia jednym z języków jest angielski a drugim narodowy.
Jeśli językiem tekstu jest język anagielski to pierwszy podpis
jest po angielsku i tytułuje się Figure/Table etc. Drugi jest w
języku narodowym i tytułuje się odpowiednio.

Natomiast jeśli językiem tekstu jest język narodowy to kolejność
jest odwrócona.

Pytania są dwa:

1. W zależności od czego przełączać kolejność i jakich
mechanizmów użyć. Przyznaję, że na tym etapie jest to dla mnie
drugorzędne.

2. Jak elegancko przdefiniowywać nazwy. Bo to przedefininowannie
ma być cykliczne.

Kręcił się kółko

AMX

PS. Przepraszam za duże opóźnienia ale jakoś doba nie chce w
żaden sposób się wydłużyć.
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-19 23:01:47 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
No i to jest bardzo dobry początek. Trzeba zdefiniować co się chce
osiągnąć, a następnie jak to robić. I w końcu klarownie opisać,
by ktoś, kto ma tego używać pojął ideę w lot. Może być tak: "Styl
ten jest rozszerzeniem stylu article,
dokładniej, jest to dostosowanie stylu article do wymogów
(niekoniecznie najrozsądniejszych) wydawnictwa. W związku z tym,
oprócz dwujęzyczności mamy cały szereg elementów nieistotnych z
punktu widzenia rozważanago problemu.
Wielką zaletą TeXa jest to, że Bogu można oddać co boskie, a cesarzowi
cesarskie. Wygląd publikacji może być taki, jak się wydawnictwu wydaje,
że być powinien. A *sposób opisu tekstu* w manuskrypcie -- to już inna
sprawa, która wydawcę nie powinna obchodzić. Te rzeczy trzeba umieć
oddzielić. Jeden dodatek do stylu article zmienia wygląd składu,
a drugi wzbogaca repertuar poleceń logicznego formatowania. Więc
nieistotnośc jest obustronna -- rozważany problem nie może wpływać
na zmiany formatowania czynione na potrzeby wydawcy.
Post by AMX
Post by Jarosław Sokołowski
służy do dodawania wstawek w języku alternatywnym do tekstu
pisanego w języku podstawowym. Wstawki dodawane są za pomocą
poleceń rozpoczynających się prefiksem "\alt", będących
odpowiednikiem poleceń standardowych, np. obok polecenia
\caption zostało udostępnione polecenie \altcaption. Pełna
lista poleceń alternatywnych znajduje się poniżej:...".
Post by AMX
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.
No właśnie: autor wie. Ale czy my musimy o wszystkim mówić LaTeXowi
i o wszystko go pytać? Czy wielką niedogodnościa by było użycie dwóch
plików ze stylami: altenglish.sty i altpolish.sty, ktorę dodają do
artykułu język angielski albo polski jako alternatywny? Jeśli napisze
się je porzadnie, czyli tak, że wszystkie napisy są zdefiniowanie na
początku, a dopiero później następują definicje \altwhatever (albo
nawet są inputowanie), to dodanie altfrench.sty albo altgerman.sty
będzie kwestią chwili.
Jakkolwiek pierwotny zamiar dotyczył konkretnego wydawnictwa,
więc tworzenie czegoś bardziej uniwersalnego nie wydawało się
sensowen, to powyższe nasunęło mi myśl, że problem jest jednak
nie taki bardzo jednostkowy.
Ponieważ jest w tej chwili moda na język angielski, więc
stosunkowo często pojawia się problem podwójnych podpisów i dwu
streszczeń. Wydaje się, że ten problem warto wydzielić jako
osobny od formatowania całości i porządnie rozwiązać.
Ja to wymyśliłem naprędce, ale po przemyśleniu pomysł z prefiksem
"\alt" wydaje mi się takim porządnym rozwiązaniem.
Post by AMX
Z założenia jednym z języków jest angielski a drugim narodowy.
Jeśli językiem tekstu jest język anagielski to pierwszy podpis
jest po angielsku i tytułuje się Figure/Table etc. Drugi jest w
języku narodowym i tytułuje się odpowiednio.
Natomiast jeśli językiem tekstu jest język narodowy to kolejność
jest odwrócona.
To rozumiem, to dla mnie oczywiste. Dodam jeszcze, że widywałem
teksty, które w podpisach mają więcej niż jeden dodatkowy język.
Post by AMX
1. W zależności od czego przełączać kolejność i jakich
mechanizmów użyć. Przyznaję, że na tym etapie jest to dla mnie
drugorzędne.
Dla mnie w ogóle jest drugorzędne. Albo trzecio- lub czwartorzędne.
Jeśli nie całkiem bezrzędne. Jeśli do tej pory wyrażałem się niejasno,
to myśl swą powtórzę. Jest język podstawowy, w którym napisany został
artykuł. We wszelkich podpisach i opisach on zawsze występuje jako
pierwszy. Dodatki opisane przez "\alt-makra" zawsze będą na drugim
miejscu. Jeśli załaduję plik altpolish.sty, to w tym drugim, robionym
poleceniem \altsummary wystąpi tytuł "Streszczenie". A jeśl załaduję
altfrench.sty -- "Résumé".

Można iść dalej i sprytniej zdefiniować te alty dopuszczając dodatkowy
parametr. I tak na przykład można w manuskrypcie dodać \altsummary[pl]{...}
oraz \altsummary[fr]{...}, a na wydruku pojawi się tylko treść tego,
które było dopuszczone w preambule przez załadowanie altcośtam.sty
(jeśli nie chcemy drukować dodatków, ładujemy altnull.sty).
Post by AMX
2. Jak elegancko przdefiniowywać nazwy. Bo to przedefininowannie
ma być cykliczne.
Nie rozumiem o jaką cykliczność tu chodzi. Elegancką robotą to trzeba
będzie się wykazać, by \altcaption przykleiło się do rysunku czy
innej tabeli i poddało się LaTeXowym manipulacjom przy ustawianiu
'floats' na wydruku. Same napisy, to ja bym w tych makrach wywoływał
Post by AMX
Kręcił się kółko
AMX
PS. Przepraszam za duże opóźnienia ale jakoś doba nie chce w żaden
sposób się wydłużyć.
E tam, takie gadanie. W paleozoiku doba trwała 23 godziny. No i proszę,
jak nam się do tej pory poprawiło! A to jeszcze nie koniec, wydłuża się
cały czas. Zatem opóźnienia są wskazane, czas działa na naszą korzyć.
Im dłużej się będzie z robota zwlekać, tym więcej będzie później czasu,
gdy wszystko trzeba będzie w dwa dni odwalić. Ja sobie zawsze to tak
tłumaczę. I dobrze na tym wychodzę.
--
Jarek
AMX
2011-12-21 13:53:01 UTC
Permalink
On Mon, 19 Dec 2011 23:01:47 +0000 (UTC),
Post by Jarosław Sokołowski
Post by AMX
2. Jak elegancko przdefiniowywać nazwy. Bo to przedefininowannie
ma być cykliczne.
Nie rozumiem o jaką cykliczność tu chodzi.
\if\lang0
\def\abstractname{Abstract}
\def\altabstractname{Streszczenie}
\else
\def\abstractname{Streszczenie}
\def\altabstractname{Abstract}
\fi

To samo dotyczy pozostałych elementów.

AMX
--
adres w rot13
Nyrxfnaqre Znghfmnx r-***@b2.cy
Jarosław Sokołowski
2011-12-21 15:13:22 UTC
Permalink
Post by AMX
Post by Jarosław Sokołowski
Post by AMX
2. Jak elegancko przdefiniowywać nazwy. Bo to przedefininowannie
ma być cykliczne.
Nie rozumiem o jaką cykliczność tu chodzi.
\if\lang0
\def\abstractname{Abstract}
\def\altabstractname{Streszczenie}
\else
\def\abstractname{Streszczenie}
\def\altabstractname{Abstract}
\fi
W praktyce powinno wystarczyć tylko tyle:

\if\lang0
\def\altabstractname{Streszczenie}
\else
\def\altabstractname{Abstract}
\fi

Zakładam, że "\abstractname" było znane LaTeXowi wcześniej, a teraz
musimy zdefiniować tylko "\altabstractname". To, czy "\abstractname"
ma rozwinięcie "Abstract" czy "Streszczenie" zależy od tego, czy jest
to goły LaTeX, czy z zaaplikowanym plikim polonizacyjnym.
Post by AMX
To samo dotyczy pozostałych elementów.
Te pozostałe elementy elegancko można opędzić tym samym \if-em:

\if\lang0
\def\altabstractname{Streszczenie}
\def\altwhatevername{Cokolwiek}
\else
\def\altabstractname{Abstract}
\def\altwhatevername{Whatever}
\fi

Albo inaczej, idąc w kierunku wcześniej przeze mnie sugerowanym:

\if\lang0
\input englishaltnames.sty
\else
\input polishaltnames.sty
\fi

I tu jest ten moment, w którym trzeba zdecydować, czy ten \if jest
w ogóle do czegoś potrzebny. Bo przecież wiadomo, że jak się pisze
po polsku (z dołączonym "polish.sty" czy co tam się do tego używa),
to trzeba dodać w preambule "englishaltnames.sty". A jak po angielsku,
to "polishaltnames.sty".

Można też kombinować w ten sposób, że pakiet co go teraz klecimy
będzie podczytywał w jakiś sprytny sposób polskie nazwy z pliku
polonizacyjnego, a przy polonizacji zapisywał na boku angielskie
oryginały. Potem można tymi nazwami (cyklicznie) żonglować. Tylko
czy warto?
--
Jarek
Kontynuuj czytanie narkive:
Loading...