TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Russian paragraphs have not too short last lines as the \Arussian substitution for \par does. But this approach creates conflicts with biblatex package. Is there any method to make it run?

Here is a short example of the problem:

\documentclass{article}

\usepackage{biblatex}

\let\origpar\par

% Donald Arseneau, [in:]
% Peter Wilson, Glisterings
% TUGboat, Volume 28 (2007), No. 2
\def\Arussianpar{\ifhmode \unskip
  \strut\vadjust{}\nobreak
  \discretionary{}%
    {\hbox{\hskip2\parindent
           \vrule depth 273sp
           width 0sp height \ht\strutbox}}%
    {\hbox{\hskip\parindent}}%
  \hskip-2\parindent minus 2\parindent
  \hskip\hsize minus\hsize
  \kern0pt\parfillskip0pt
  \origpar
  \ifdim\prevdepth=273sp
    \nobreak
    \vskip-2\baselineskip
    \hbox{\strut}%
  \fi
  \fi}

\let\par\Arussianpar

\begin{document}
x
\end{document}

The pdflatex crashes with:

! Improper \prevdepth.
 \par ...arfillskip 0pt \origpar \ifdim \prevdepth 
                                                  =273sp \nobreak \vskip -2\...
share|improve this question

You get the errors when reading english.lbx, that is before starting to typeset the document.

You should be able to solve the issue by writing

\AtBeginDocument{\def\par{\Arussianpar}}

instead of your

\let\par\Arussianpar

However there are many situations in LaTeX where \par is (locally) redefined, so you don't necessarily get the desired paragraph breaks in all cases.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.