Precnievajuce vzorce.
Jaromír Kuben
kuben at scova.vabo.cz
Tue May 16 07:55:53 CEST 2006
Matej Kosik napsal(a):
>stMarian Lekavy wrote:
>
>
>>Mam mensi problem so vzorcami. TeX nezalamuje vzorce obcas sa stane, ze
>>vzorec precnieva mimo stlpca. Ide mi hlavne o "in-line" vzorce, ktore su
>>priamo v texte (nie na samostatnom riadku).
>>Neviete mi poradit, ako by som tomu mohol zabranit a sposobit, aby sa
>>takyto precnievajuci vzorec dal na novy riadok? Kedze tam je tych
>>vzorcov pomerne vela, nerad by som to cele formatoval natvrdo rucne.
>>
>>Dakujem.
>>
>>
>
>Ahoj,
>
>Urobil som mikropokus s TeX-om a zda sa, ze on je v celku schopny rozumnym sposobom rozdelovat vzorce na viac riadkov.
>
>Tak napriklad v takomto dokumente (text si nevsimaj)
>
>
>http://altair.dcs.elf.stuba.sk/~kosik/tmp44/a.pdf
>http://altair.dcs.elf.stuba.sk/~kosik/tmp44/a.tex
>(zamerne dvojstlpcovy styl)
>
>som raz presiel do "math" modu a to takto:
>
> $a+b+c$
>
>ako vidis, TeX to vysadzal v celku rozumne. T.j. ak sa to nezmestilo na ten riadok, kde ta vec zacala, tak ten "vzorec" roztrhol na vhodnom mieste a cast je na jednom a cast na druhom riadku. Nestalo sa to, ze by tam cosi "precnievalo". Mozno je prob
>
>To delenie matematickych vyrazov na viac riadkov je asi vacsinou ziaduce, teda aspon ked sa jedna o aspon trochu rozumny vzorec, rovnicu alebo nieco podobne. Zivot je ale zlozity, a ak na nejakom mieste nechces aby sa ti dany kus niecoho rozdelil na
>
>
>
Dobry den.
> \mbox{$a+b+c$}
>
>
Lepsi je
${a+b+c}$
Pouceni najdete napr.v TeXbooku naruby P. Olsaka.
V ceske sazbe by se pri deleni mely opakovat symboly +,-,= a pod.
To zajisti v LaTeXu napr. tento kod:
%Opakování symbolů binárních operací a relací při zalomení řádku
%Autor: Josef Tkadlec tkadlec at fel.cvut.cz
\relpenalty =10000 % aby se nelámalo v jiných než ošetřených
\binoppenalty =10000
\exhyphenpenalty=1000 % aby spíše nouzově (implicitně je 50)
% "lokálně" lze zakázat {...}
\def\neq {\mathrel{\not=}} % aby nedocházelo k lámání \not=/=
\let\ne=\neq
\def\OpakujPrikaz #1#2{\let #2=#1
\def #1{#2\nobreak\discretionary{}{\hbox{$#2$}}{}}}
\def\OpakujZnak #1#2{\mathchardef #2=\mathcode`#1
\activedef #1{#2\nobreak\discretionary{}{\hbox{$#2$}}{}}
\uccode`\~=0 \mathcode`#1="8000 }
\def\activedef #1{\uccode`\~=`#1 \uppercase{\def~}}
\OpakujPrikaz {\neq }{\neqORI} \let \ne=\neq
%\OpakujPrikaz {\leq }{\leqORI} \let \le=\leq
%\OpakujPrikaz {\geq }{\geqORI} \let \ge=\geq
\OpakujPrikaz {\leqq}{\leqqORI} \let \le=\leqq \let \leq=\leqq
\OpakujPrikaz {\geqq}{\geqqORI} \let \ge=\geqq \let \geq=\geqq
\OpakujPrikaz {\cup }{\cupORI}
\OpakujPrikaz {\cap }{\capORI}
\OpakujPrikaz {\times }{\timesORI}
\OpakujZnak <{\lessORI}
\OpakujZnak >{\greaterORI}
\OpakujZnak +{\plusORI}
\AtBeginDocument {\OpakujZnak ={\eqORI} \OpakujZnak -{\minusORI}}
Opakovani dalsich symbolu lze nadefinovat podobne.
Aby fungovalo to \leqq a \geqq (nerovnost s rovnitkem, ne jen s jednou
carkou),
je treba pouzit
\usepackage{amsfonts}
\DeclareMathSymbol{\leqq} {\mathrel}{AMSa}{"35}
\DeclareMathSymbol{\geqq} {\mathrel}{AMSa}{"3D}
Zdravi
Jaromir Kuben
>tak sa mi nerozdeli. Ostane v celku.
>--
>Matej Kosik
>
>
More information about the csTeX
mailing list