Portál AbcLinuxu, 1. června 2025 09:34


Dotaz: LaTeX a dvojsloupcová vazba

Milan Vít avatar 4.10.2007 23:10 Milan Vít | skóre: 23 | blog: about:linux | Orlová
LaTeX a dvojsloupcová vazba
Přečteno: 4276×
Odpovědět | Admin
Zdravím,

marně se snažím přijít na to, kterak v LaTeXu pro určitou (nevelkou) oblast textu povolit dvojsloupcovou vazbu, zatímco zbytek dokumentu by dále používal jeden sloupec. Tahle pseudodefinice zní asi prapodivně, zkusím to vysvětlit na případu :-)

Vezmeme-li si publikaci Ne příliš stručný úvod do systému LaTeX 2ε, všimneme si, v jakém stylu jsou vyvedeny ukázky kódu – na levé straně stránky je vypsán požadovaný výsledek, na pravé straně kód, který k tomuto výsledku vedl. A přesně toto bych potřeboval (jen pro matematiku, nalevo graf, napravo jeho popis a jak se k němu dostat – ale to, doufám, nehraje roli :-))

Netušíte Vy? Já už jsem zoufalý, za dva dny jsem vyzkoušel tolik možností… Předem díky :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Vašek Lorenc avatar 4.10.2007 23:46 Vašek Lorenc | skóre: 27
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prostředí multicol. A jinak pochopitelně mrknout do zdrojáků Ne příliš stručného úvodu :) Jinak multicol je k dispozici standardně, řekl bych, netřeba se ho bát.

Pokud jsem něco nepostřehl, tak se omlouvám, ale už je dost pozdě ;)
...včetně majestátného loosa
Milan Vít avatar 5.10.2007 06:48 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Díky moc, i prostředí multicol jsem zkoušel, ale nepřišel jsem na to, jak přeskočit do druhého sloupce. Snad o tom budou psát ve Vámi odkazované stránce, uráčí-li se načíst – nějak se jí moc nechce :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
5.10.2007 09:42 JaSel | skóre: 17 | blog: kseles
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
ale nepřišel jsem na to, jak přeskočit do druhého sloupce.
Dvousloupcová sazba je jako normální jednosloupcová, akorát se použijou užší sloupce, ne? Přeskakování mezi sloupci je jako bys přeskakoval mezi dvěma po sobě jdoucíma stránkama. Takže pokud chceš přeskakovat z jednoho sloupce do druhého, tak bych to zkusil spíš přes prostředí tabular.
Milan Vít avatar 5.10.2007 10:14 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Jasně, máte pravdu, pojem „dvousloupcová vazba“ (a fujky „dvojsloupcová“ už vůbec ne :-D) asi nebyl na místě, myslel jsem pod tím něco jiného, než je míněno obyčejně, jen mě nenapadlo, jak lépe popsat to, co potřebuji – však jsem se za ten popis problému v úvodu omluvil :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Milan Vít avatar 5.10.2007 10:25 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Natož pak „vazba“, viz níže, ach jo, to jsem to zase zeslonil :-D
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Aleš Janda avatar 4.10.2007 23:48 Aleš Janda | skóre: 23 | blog: kýblův blog | Praha
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tohle se řeší balíkem multicols:
\usepackage{multicols}

...
\begin{multicols}{2}
Dvojsloupcový text...
\end{multicols}
A zase jednosloupcový text :-)
Zahrajte si trojšachy přes internet :-)
5.10.2007 09:58 petr
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jestli Vám jde jen o toto: graf nalevo a vedle něj nějaký odstavec textu -- tak to je podle mě nejjednodušší řešit obyčejnou tabulkou bez borderů... Já používám longtable, protože se dá víc konfigurovat (zarovnání obsahu, rozměry sloupců, ...), než "obyčejná" tabulka :-)

longtable si musíte usenout (fuj, to je výraz):
\usepackage{longtable}
\usepackage{supertabular}
5.10.2007 10:13 Ondrej
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim, predne nevim co je dvojsloupcova vazba. Nemel jste na mysli sazba? :)

Koukal-li jsem spravne, tak v A Not So Short Introduction to LaTeX2e je to naopak, nez-li Vy pisete. Tj. vlevo je zdrojovy kod, vpravo je vysledek v ohranicenem boxu. Coz se pise i v lshort.sty (viz http://tug.ctan.org/info/lshort/english/lshort-4.22.src.tar.gz )

....
% --- example ----
% This is an environment to set LaTeX examples.
% On the left side the source text and on the
% right side the typeset text.
....

V podstate me napadaji dva postupy jak docilit toho co chcete. Ten prvni a asi nejrychlejsi je pomoci balicku picins. Jak se tento balicek pouziva najdete napr. zde

http://www.math.muni.cz/~mlc/vyuka/M5740/cv7.ps
http://bulletin.cstug.cz/pdf/bul974.pdf

V druhem postupu bychom vyuzili prostredi (boxu) minipage a parbox.

\begin{minipage}[b]{sirka_boxu}
   \parbox[t]{sirka_boxu}{obr_nebo_text} \hfill \parbox[t]{sirka_boxu}{obr_nebo_text}
\end{minipage}

Vice naleznete v knize H. Kopky, P. W. Daly : LaTeX - Kompletni pruvodce.

Preji pekny den Ondrej
Milan Vít avatar 5.10.2007 10:24 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Jasně, ještě jednou se omlouvám za mnou použitou „terminologii“, na svou omluvu můžu jen říct, že jsem v této oblasti opravdový začátečník a že v době psaní dotazu jsem byl opravdu zničen :-)

Díky za návrhy řešení, půjdu se teď prospat a hned, jak se vzbudím, zkusím Vámi navrhované řešení.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
5.10.2007 11:49 petr
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
To je v pořádku. Já pochopil, co máte na mysli. Každý jednou začíná. Přeji hodně štěstí!
Milan Vít avatar 5.10.2007 13:47 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Ten balíček picins vypadá luxusně! Díky moc :-)

Teď už jen přijít na to, proč před každým prostředím picture musím znovu specifikovat \setlength{\unitlength}{0.5cm} a proč nestačí, když toto uvedu v preambuli nebo na začátku dokumentu :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
5.10.2007 18:21 Ondrej
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Pokud je prikaz \setlength{\unitlength}{0.5cm} spolecne s prostredim picture uzavren v jinem prostredi, pak je platny pouze do konce tohoto prostredi. A to ve Vasem pripade je. Tolik k tomu proc musite pokazde psat to same v povinnem parametru u prikazu parpic.
Ze to nefunguje v preambuli bude nejspis vinou parpic. Pri prekladu ta hodnota toho nastaveni proste neprojde skrz parpic.

No osalit to snad nejak lze. Napadaji me opet dve moznosti :). Prvni a zdlouhava, vytvorit si vlastni prostredi kde by jste zkombinoval parpic a picture. Nebo moznost druha rychlejsi, u ktere si nejsem tak jisty zda nebude delat problemy pri prekladu. Zkuste do preambule vlozit

\newdimen\unitlength \unitlength=5pt

Kdyby to delalo problemy tak jeste muzete zkusit zmenit tu hodnotu v souboru latex.ltx. (Ja jsem to primo z toho souboru prevzal, takze to dohledate snadno) .
5.10.2007 18:58 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Na latex.ltx nesahat. Vznikl by nepřenositelný dokument!

Jedna možnost přepínání počtu sloupců je i v TeXbooku naruby Petra Olšáka (k mání na webu). Je to pro plain ale jede i v latexu a řeší se tam třeba i vyrovnání sloupců, aby byly stejně dlouhé.
5.10.2007 19:06 Ondrej
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
To mate naprostou pravdu. Ja jsem predpokladal, ze autor nebude zdrojovy tex soubor dal sirit :)
Milan Vít avatar 5.10.2007 18:59 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
No právě. Že to neprojde, definuji-li toto na začátku dokumentu, mi přijde ještě jakž takž pochopitelné (i když… :-)), ale že ani definování v preambuli nezabere, to už mi do hlavy moc nejde. \newdimen\unitlength \unitlength=0.5cm (nepletu se, když se domnívám, že jsem měl změnit Vašich 5pt na mnou požadovaných 0.5cm? Každopádně, zkoušel jsem pro jistotu obojí) také platí jen po první parpic, u druhého se už dočkám jen těchto varování:
./matematika.tex:90: \oval, \circle, or \line size unavailable on input line 90.
./matematika.tex:90: \oval, \circle, or \line size unavailable on input line 90.
./matematika.tex:90: \oval, \circle, or \line size unavailable on input line 90.
A graf je smrsknut na miniaturní velikost :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
5.10.2007 19:10 Ondrej
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
jj nepletete :) Tak to potom si budete muset udelat nove prostredi nebo to porad psat ke kazdemu picture.
Milan Vít avatar 5.10.2007 19:16 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
OK, zatím to budu pořád znovu psát a až se jednou budu nudit, nastuduju tvorbu nového prostředí a celé to překopu :-D Ještě jednou mockrát díky za pomoc, nevím, co bych si bez Vás (a samozřejmě i ostatních!) počal :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
5.10.2007 19:23 Ondrej
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Nemata zac, snad jen pro jednoduchost si vytvorte vlastni prikaz, rekneme

\newcommand{\pom}{\setlength{\unitlength}{0.5cm}}

aby jste nemusel tolik psat. ;-)
6.10.2007 01:50 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Pozor. To \newdimen\unitlength by tam nemelo byt. U me se treba tohle chova normalne, jak ma:
\documentclass{article}
\unitlength=1cm
\begin{document}
 \begin{picture}(10,10)(0,0)
   \put(0,0){\line(1,1){4}}
 \end{picture}
\end{document}
co u vas? A zkuste zkonstruovat co nejmensi soubor ktery se chova takto divne a poslete ho sem.
Milan Vít avatar 6.10.2007 09:49 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Pro jeden graf se to chová i u mě normálně, ale jakmile je jich víc (přesněji, jakmile je více parpiců), je zle. Ukázka (ve které, doufám, nic nechybí) zde.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
6.10.2007 12:43 robertK | skóre: 26 | blog: Klokanuv_blog | Brno
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Bordel tam dělá ten picins.sty. Koukněte se dovnitř, je tam na několika místech nastaveno unitlength na 1pt. To znamená že to je špatně napsaný balík! Když ho zakomentujete a nastavíte
%\usepackage{picins}
\let\parpic\relax
\def\picskip{}
tak to jede. Kouknul bych se po jiném podobném balíku (warpfig, floatfig) nebo bych psal toto
\documentclass[fleqn,oneside]{article}
\usepackage{a4wide}
\usepackage{czech}
\usepackage{graphpap}
\usepackage[utf8x]{inputenc}
\usepackage{ucs}

\unitlength=0.5cm

\begin{document}

\def\blabla#1#2{
\noindent\mbox{\begin{minipage}{3cm}  
#1
\end{minipage}
\begin{minipage}{3cm}  
#2
\end{minipage}}}


\blabla{  \graphpaper[1](0,0)(6,6)
  \begin{picture}(6,6)
    \thicklines
    \put(1,0){\vector(1,1){2}}
    \put(3.25,2.25){$\vec{a}$}
    \put(1,1){\vector(1,2){2}}
    \put(3.25,5.25){$\vec{b}$}
    \put(0,4){\vector(4,-1){4}}
    \put(4.25,2.75){$\vec{c}$}
  \end{picture}}
{\begin{eqnarray*}
  \vec{a}	& =	& (2, 2)	\\
  \vec{b}	& =	& (2, 4)	\\
  \vec{c}	& =	& (4, -1)
\end{eqnarray*}
}

\medskip

\blabla{
  \graphpaper[1](0,0)(6,6)
  \begin{picture}(6,6)
    \thicklines
    \put(0,0){\vector(3,1){3}}
    \put(3.25,0.25){$\vec{a}$}
    \put(3,1){\vector(1,2){2}}
    \put(5.25,5.25){$\vec{b}$}
    \put(0,0){\vector(1,1){5}}
    \put(0.25,2.25){$\vec{a} + \vec{b}$}
  \end{picture}
}{
\begin{eqnarray*}
  \vec{a}		& =	& (3, 1)	\\
  \vec{b}		& =	& (2, 4)	\\
  \vec{a} + \vec{b}	& =	& (5, 5)
\end{eqnarray*}}
\end{document}
Chcete-li mít v argumentu makra blabla i konec odstavce, nezapomente na prefix long, tj pište
\log\def\blabla ....
Milan Vít avatar 6.10.2007 14:11 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: LaTeX a dvojsloupcová vazba
Díky moc, mrknu na ty dva balíčky, zkusím Vaše řešení a jsem si jist, že to nějak zvládnu – no, kdyby ne, tak se ještě ozvu, ale doufám, že to již nebude potřeba :-) Ještě jednou díky.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.