LaTeX, styl taki jak \maketitle.

Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4077
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 80 razy
Pomógł: 1395 razy

LaTeX, styl taki jak \maketitle.

Post autor: Janusz Tracz »

Cześć, interesuje mnie czy standardowymi komendami \(\displaystyle{ \LaTeX}\)a można uzyskać efekt taki sam jak styl \maketitle. A dokładnie chodzi mi o coś takiego. Mamy prosty kod

Kod: Zaznacz cały

\documentclass[a4paper,reqno,12pt]{amsart}

\begin{document}

\title{Twierdzenie Pitagorasa}
\author{Jan Kowalski}
\maketitle
Bla bla bla\dots  

\end{document}
który próbuję zastąpić kodem którego wynikiem będzie dokładnie to samo ale nie chce używać \title{.}, \author{.} oraz \maketitle. Więc wyrzeźbiłem ten styl mniej więcej takim kodem

Kod: Zaznacz cały

\documentclass[a4paper,reqno,12pt]{amsart}

\begin{document}

\begin{center}\textbf{\MakeUppercase{Twierdzenie Pitagorasa} }\end{center}
\bigskip
\begin{center}  {\footnotesize JAN KOWALSKI }\end{center}
\bigskip

Bla bla bla\dots  

\end{document}
W porównaniu wygląda to tak:

Przechwytywanie.PNG

Czyli praktycznie mi się udało. Obawiam się jednak, że niekoniecznie jest to idealnie to samo i może są tu jakieś mikro różnice. Może tu wygląda to tak samo ale jak tytuł będzie dłuższy przechodzący do następnej linii czy pojawi się kilku autorów to coś się zepsuje. Stąd pytanie: jak emitować styl \maketitle?


PS zależy mi również na tym by ewentualne rozwiązanie mogło być wielokrotnie powielane w obrębie jednej preambuły. To znaczy aby można było dodawać wiele tytułów i autorów jeden po drugim.
a4karo
Użytkownik
Użytkownik
Posty: 22211
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3755 razy

Re: LaTeX, styl taki jak \maketitle.

Post autor: a4karo »

Nie za bardzo sobie wyobrażam jaki miałby byc cel takiego ćwiczenia, ale to, jak wygląda strona tytułowa zdecydowanie zależy od klasy dokumentu i różni się bardzo np. między czasopismami. Trudno zatem dać jednoznaczne wskazówki.
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4077
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 80 razy
Pomógł: 1395 razy

Re: LaTeX, styl taki jak \maketitle.

Post autor: Janusz Tracz »

a4karo pisze: 23 kwie 2023, o 21:26 Nie za bardzo sobie wyobrażam jaki miałby byc cel takiego ćwiczenia
Dzięki za odpowiedź i zainteresowanie. To co napisałem w PS może lekko wyjaśniać moje motywy. Chcę mieć możliwość wpisania tytułu i autora w jednym pliki. To znaczy w obrębie jednego \begin{document} i \end{document}. A swoich dokładnych motywacji nie chcę podawać na forum. Tak czy inaczej zapewniam, że taka umiejętność może być czasem bardzo przydatna.
a4karo pisze: 23 kwie 2023, o 21:26 ale to, jak wygląda strona tytułowa zdecydowanie zależy od klasy dokumentu i różni się bardzo np. między czasopismami.
Zgadza się, ale interesuje mnie póki co (i mam nadzieję, że na tym się skończy) ten konkretny przypadek. To znaczy styl \maketitle z \documentclass[a4paper,reqno,12pt]{amsart} (choć wydaje mi się, że jedynie a4paper oraz 12pt ma tu wpływ na wygląd \maketitle). Górny przypadek na zdjęciu które dodawałem z porównaniem to kompilacja standardowego kodu:

Kod: Zaznacz cały

\documentclass[a4paper,reqno,12pt]{amsart}

\begin{document}

\title{Twierdzenie Pitagorasa}
\author{Jan Kowalski}
\maketitle
Bla bla bla\dots  

\end{document}
I do tego kodu (a dokładnie do jego wizualnej reprezentacji) jedynie się odnoszę, gdy mówi potencjalnym kodzie imitującym ten styl.

PS Znalazłem też trochę dokumentacji \(\displaystyle{ \LaTeX}\)a

Kod: Zaznacz cały

https://texdoc.org/serve/amsclass/0?fbclid=IwAR1xiad0LXCzYKZiVqP_HWs8yIBjDulpfJUeOzesrSNcs_xjW9WYagj9IwU
The amsart, amsproc, and amsbook document classes
Na 24 stronie jest o \maketitle. Osobiście nie znam się na kodzie \(\displaystyle{ \LaTeX}\)a. Domyślam się jednak, że \maketitle to coś w rodzaju funkcji zmiennych \title{.}, \author{.} i pewnie jeszcze stylu czyli a4paper, 12pt. Więc strzelam, że ten cały kod ze strony 24
kod ze strony 24 pisze:

Kod: Zaznacz cały

∗amsart | amsproc
 \def\maketitle{\par
 \@topnum\z@ % this prevents figures from falling at the top of page 1
 \@setcopyright
\thispagestyle{firstpage}% this sets first page specifications
\uppercasenonmath\shorttitle
632 \ifx\@empty\shortauthors \let\shortauthors\shorttitle
633 \else \andify\shortauthors
634 \fi
\@maketitle@hook
636 \begingroup
637 \@maketitle
638 \toks@\@xp{\shortauthors}\@temptokena\@xp{\shorttitle}%
639 \toks4{\def\\{ \ignorespaces}}% defend against questionable usage
640 \edef\@tempa{%
641 \@nx\markboth{\the\toks4
642 \@nx\MakeUppercase{\the\toks@}}{\the\@temptokena}}%
643 \@tempa
644 \endgroup
645 \c@footnote\z@
646 \@cleartopmattertags
647 }
648 \def\@cleartopmattertags{%
649 \def\do##1{\let##1\relax}%
650 \do\maketitle \do\@maketitle \do\title \do\@xtitle \do\@title
651 \do\author \do\@xauthor \do\address \do\@xaddress
652 \do\contrib \do\contribs \do\xcontribs \do\toccontribs
653 \do\email \do\@xemail \do\curraddr \do\@xcurraddr
654 amsart \do\commby \do\@commby
655 \do\dedicatory \do\@dedicatory \do\thanks \do\thankses
656 \do\keywords \do\@keywords \do\subjclass \do\@subjclass
657 }
658 /amsart | amsproc
to definicja \maketitle. Podobne bla bla bla jest dla \title{.}, \author{.}. Niestety ten prawdziwy kod \(\displaystyle{ \LaTeX}\) z pętlami\funkcjami\zmiennymi jest dla mnie nieczytelny. Więc nie jestem w stanie wyciągnąć z tego stylu nawet nie wiem czy się da.
a4karo
Użytkownik
Użytkownik
Posty: 22211
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3755 razy

Re: LaTeX, styl taki jak \maketitle.

Post autor: a4karo »

kod makra maketitle używa istotnie zawartości title i author (i pewnie paru innych), wygląda więc na to, że nie pozostaje ci nic innego, jak napisanie podobnego (choć pewnie prostszego) makra z takimi parametrami i wywoływanie go za każdym razem, gdy chcesz napisać taką stronkę.
Awatar użytkownika
Janusz Tracz
Użytkownik
Użytkownik
Posty: 4077
Rejestracja: 13 sie 2016, o 15:01
Płeć: Mężczyzna
Lokalizacja: hrubielowo
Podziękował: 80 razy
Pomógł: 1395 razy

Re: LaTeX, styl taki jak \maketitle.

Post autor: Janusz Tracz »

a4karo pisze: 24 kwie 2023, o 07:59 wygląda więc na to, że nie pozostaje ci nic innego, jak napisanie podobnego (choć pewnie prostszego) makra z takimi parametrami i wywoływanie go za każdym razem, gdy chcesz napisać taką stronkę.
Makro to jedynie ułatwiacz w szybkim zapisywaniu wzoru/formatu. Najpierw jednak trzeba mieć ten wzór. Więc tak jak mówisz przydadzą się parametry \maketitle dla stylu amsart. I tego dotyczy pytanie. Z tym mam właśnie problem. Ja tych parametrów nie znam i nie za bardzo wiem jak je poznać. W między czasie na wyczucie napisałem makro \MYtitle, które jest prawie idealne:

Kod: Zaznacz cały

\newcommand{\MYtitle}[2]{
  \begin{center}
    {\MakeUppercase{\textbf{\!#1}}\par}
    \vspace{16pt}
    {\MakeUppercase{\footnotesize{#2}}\par}
  \end{center}
  \vspace{24pt}
}
Choć są jeszcze mikro różnice w wyglądzie względem \maketitle dla amsart. Więc... poniekąd problem rozwiązany, bo nikt nie zauważy różnicy. Ale mnie będzie to irytować bo ja wiem, że mikro różnica jest.
a4karo
Użytkownik
Użytkownik
Posty: 22211
Rejestracja: 15 maja 2011, o 20:55
Płeć: Mężczyzna
Lokalizacja: Bydgoszcz
Podziękował: 38 razy
Pomógł: 3755 razy

Re: LaTeX, styl taki jak \maketitle.

Post autor: a4karo »

Myślę że nie ogarniesz tego bez znajomości TeXa, a na to pewnie nie masz chęci ( ja też nie)
ODPOWIEDZ