Portál AbcLinuxu, 17. května 2024 10:21

Dotaz: Problém s \cline v LaTeXu

15.1.2011 10:14 Petr
Problém s \cline v LaTeXu
Přečteno: 29225×
Odpovědět | Admin

Mám problém s použitím příkazu \cline v tabulce v LaTeXovém dokumentu. Dokument jsem nejprve překládal pod MIKTeX 2.5, nyní jsem aktualizoval na verzi 2.9 a při překladu se mi to zastaví na hlášce:

Runaway argument?
2-11\@nil
! Paragraph ended before \@cline was complete.
<to be read again>
\par

V diskuzích jsem našel, že by mohl být problém s parametrem "split" (\usepackage[split]{czech}), ale tohle ve svém dokumentu použité nemám. Nepomáhá aní fígl s


{\begingroup \standardhyphens
\cline{2-11}
\endgroup}

ani

\standardhyphens
\cline{2-11}
\splithyphens

Nevím jak dál. Netušíte někdo kde by mohl být problém? Potřeboval bych to vyřešit a nebo alespoň nějak obejít. Cílem je, mít v tabulce (prostředí tabular*) několik horizontálních řádků od 2. do 11. sloupečku (tedy mimo 1.). Předem díky za rady.


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.1.2011 11:08 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dobrý den,

Nemám zkušenost s MIK TeXem ale ta hláška Runaway argument? většinou znamená, že máte něco neukončeného, například závorku, v bloku, nebo jiný logický celek.

Zkuste projít kód a ověřit to.

S pozdravem

JH
http://www.jackhokus.cz/
15.1.2011 11:17 Petr
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Už jsme to procházel, vše se zdá být OK. Při překladu pod MIKTeX 2.5,nebo pod nějakým LaTeXem pod UNIXem nebyl problém. Dělá to až teď ve verzi 2.9 :(
16.1.2011 13:35 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Podle "Paragraph ended before \@cline was complete." může být problém i v tom, že se tazatel do makra, které není definované jako \long pokusil předat parametr obsahující konec odstavce. Ale vzhledem k tomu, že netuším, k čemu to makro slouží a jak je definované, netroufám si posoudit, jestli je to chyba jeho nebo makra.
16.1.2011 14:10 Petr
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Příloha:
Vypitval jsem z toho dokumentu minimum, kde se to projeví. Dávám to sem jako přílohu, kdybyste s na to chtěl někdo podívat. Je to šablona kterou mám k dispozici. Tabulka, u které nastal tento problém je v souboru kap4.tex.

Překlad pod MIKTex 2.5 - OK MIKTEx 2.8 - neprojde MIKTEx 2.9 - neprojde pod UNIXem - OK

16.1.2011 14:57 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu

Problém je v tom, že includujete něco, co vám změnilo kategorii znaku '-' na 13, takže po expanzi \cline{2-11} na

  \@cline 2-11\@nil

není správně přiřazen parametru #1 hodnota '2-11'. Můj tip je nějaký styl, který nastavuje '-' jako aktivní kvůli správnému dělení. Čisté řešení je takový styl vyhodit, protože bude zaručeně kolidovat i se spoustou jiných věcí, rychlý workaround je dočasně přepsat kategorii '-' zpátky na 12.

16.1.2011 15:10 Petr
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu

Je to možné, každopádně to je takto v šabloně kterou mám danou a neměl bych ji měnit. Takže pro mě by bylo zajímavé to s tím "přepsat kategorii '-' zpátky na 12". Můžete být prosím konkrétní?

Potřeboval bych něco ve smyslu

{ \neco_tu__docasne_zmenim
\cline{2-11} %ted uz funguje}

nebo
\neco_tu__docasne_zmenim
\cline{2-11} %ted uz funguje
\zase_to vratim

16.1.2011 15:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu

Ony ty \being{tentononc} ... \end{tentononc} asi budou v sobě obsahovat skupinu, takže nejspíš bude stačit do některého z těch bloků vložit

  \catcode`\-=12

Vypadá to, že např. hned za \begin{table} by to mohlo fungovat.

Zkoušel jsem také přijít na to, který styl páchá tu aktivní pomlčku a zdá se, že tohle zvěrstvo má na svědomí LaTeX sám. Ještě že ho nepoužívám…

16.1.2011 15:34 Petr
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu

Super, vložení \catcode`\-=12  za \begin{table} pomohlo. Velice Vám děkuji za pomoc!

Ještě drobný dotaz, mění se tímto ta kategorie znaku '-' globálně, nebo jen jednorázově v prostředí 'table', ve kterém je vložen ten řádek viz víše?

16.1.2011 16:14 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Definice \begin{table} ... \end{table} obsahuje skupinu, takže jen lokálně.
23.6.2013 16:48 adliin
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Díky mockrát za radu \catcode :-))
4.10.2014 10:32 M4TT3X
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Díky za radu :) catcode jsem doposud neznal :)
21.1.2011 22:26 RobertK
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Pacha to nova cestina v babelu. V tom fitthesis.cls je \usepackage[czech,english]{babel}
22.1.2011 13:25 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Aha, babel, tak to ledacos vysvětluje…
24.10.2019 16:49 Comandante K
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Sice velmi opožděná reakce... nicméně využil jsem zmíněné rady a funguje. Mnohokrát díky :-)
15.10.2021 13:39 Anino
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Taktiež takto po rokoch veľká vďaka za workaround.
24.10.2021 17:25 jiwopene | skóre: 31 | blog: Od každého trochu…
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Také děkuji za „nakopnutí“ směrem k řešení – zrovna jsem to potřeboval.
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
24.4.2023 09:21 Jirka
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Díky moc, pomohlo taky na VUT FEKT. :) Házelo to error při lualatex + tabularray při použití cmidrule i hline :)
19.4.2023 10:43 hemic
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Díky, tohle řešení mě zachránilo u sázení práce na MU pomocí fithesis.
26.4.2023 15:16 Petr
Rozbalit Rozbalit vše Re: Problém s \cline v LaTeXu
Tenhle problém je permanentní, proto v šabloně pro sazbu protokolů z fyzikálních praktik na MU máme v šabloně následující výběr možných řešení:
% Vyřešení problému s aktivní pomlčkou např. v \cline a \pdfpages:
% Balíček babel nastaví pomlčku - na aktivní znak, protože česká typografie
% vyžaduje při dělení spojených slov např. "česko-anglický" opakování spojovníku 
% i na dalším řádku. To ovšem způsobuje chyby v příkazech \cline nebo \pdfpages.
% Pokud na tento problém narazíte, pak ho vyřešte jednou z následujících možností:
% 1. Tabulky, ve kterých příkaz \cline použijete, obalte následovně:
%        \shorthandoff{-} \begin{tabular} ... \end{tabular} \shorthandon{-}
% 2. Aktivujte výše uvedené pro všechny tabulky v dokumentu odpoznámkováním tohoto:
% \usepackage{etoolbox}
% \preto\tabular{\shorthandoff{-}}
% 3. Vypněte aktivní pomlčky globálně v celém dokumentu odpoznámkováním tohoto:
% \AtBeginDocument{\shorthandoff{-}}

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.