Portál AbcLinuxu, 8. května 2025 11:12
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:
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.
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.
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
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…
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?
\begin{table} ... \end{table}
obsahuje skupinu, takže jen lokálně.
% 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{-}}
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.