2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как автоматизировать процедуру раздвигания строк в LaTeXе?
Сообщение11.08.2018, 16:38 


11/08/18
1
Добры день,

совсем запутался и не смог нагуглить или вычитать где-то решение, хотя вроде в ЛаТеХе уже 25 лет как пишу и многое обычно умею...

Есть LaTeX файл, в котором очень часто встречаются формулы с под и надстрочными индексами. Между строками должно быть строго 18pt, причем если в тексте есть формула, у которой что-то выступает над или под, то строки надо раздвигать. Причем для очень больших формул латех сам начинает раздвигать, но все равно не так, как надо. Паблишер понятно ругается и отказывается принять.

Вручную я понимаю как раздвинуть строки, это поставить перед формулой \rule[-10pt]{0pt}{30pt} где -10pt - это на сколько опустить следующую строку вниз, а 30pt (минус 10pt) - это на сколько поднять предыдущую строку.

Плодить лишние страницы не хотелось бы, то получается, что надо на каждую формулу угадывать магические числа сколько вверх и сколько вниз и, при размере текста в 95 страниц это очень не тривиально.

Узнать точную высоту каждой формулы я вроде могу, например так:

Код:
\newdimen\height
\setbox0=\hbox{$H = \{ h_{\fpat ks} \}_{\fpat k,s=1}^{\fpat K S_{\fpat L}}$}
\height=\ht0 \advance\height by \dp0
The height is: \the\height


но меня это не спасает, так как не понятно на сколько она вниз "ушла" а на сколько "вверх".

Пример текста приложил ниже, тут на каждую формулу пришлось угадать сколько куда сдвинуть. Думаю, проблема понятна, специально повторил этот же текст без rule, чтоб видно было как формулы друг на друга наезжают.

Вдруг кто знает, как жестко заставить латех гарантировать 18pt между формулами (\baselineskip=18pt понятно в начале стоит), пожалуйста, посоветуйте!

Спасибо!

Код:
\documentclass[12pt]{article}

\setlength{\textwidth}{165mm}     %
\setlength{\hoffset}{-14mm}       % for
\setlength{\textheight}{242mm}    % 12 pt
\setlength{\voffset}{-24mm}       %

\begin{document}

\baselineskip=18pt

\noindent
\underline{\bf FIG. 1}:
A processing method to convert: FIG. 1A wide-band signals $f_{\displaystyle 1}(t), \dots, f_{\displaystyle C}(t)$ having one or several carrier frequencies; FIG. 1B wide-band NMR signals {\bf S4}.


\noindent
\underline{\bf FIG. 2}:
A processing method to generate:
FIG. 2A table \rule[-10pt]{0pt}{32pt}$H = \{ h_{\displaystyle ks} \}_{\displaystyle k,s=1}^{\displaystyle K S_{\displaystyle L}}$, spectra responses \rule[-10pt]{0pt}{26pt}$p_{\displaystyle nj}(t)$, $n=1,\dots,N$, $j=1,\dots,J$, and an estimate of the total
number of non-zero-spin isotopes $N$;
FIG. 2B intermediate data \rule[-10pt]{0pt}{26pt}$\lambda_{\displaystyle k}(t)$, $k=1,\dots,K$ for further spectrum generation from all non-zero-spin isotopes with reference table $H$;
FIG. 2C intermediate data \rule[-15pt]{0pt}{35pt}$r_{\displaystyle nj}^{\displaystyle 2}(t)$, $n=1,\dots,N$, $j=1,\dots,J$ for further spectrum generation from all non-zero-spin isotopes with reference table $H$.

\bigskip
\bigskip
\bigskip
\bigskip
\noindent No {\bf rule} usage:
\bigskip
\bigskip
\bigskip
\bigskip

\noindent
\underline{\bf FIG. 1}:
A processing method to convert: FIG. 1A wide-band signals $f_{\displaystyle 1}(t), \dots, f_{\displaystyle C}(t)$ having one or several carrier frequencies; FIG. 1B wide-band NMR signals {\bf S4}.


\noindent
\underline{\bf FIG. 2}:
A processing method to generate:
FIG. 2A table $H = \{ h_{\displaystyle ks} \}_{\displaystyle k,s=1}^{\displaystyle K S_{\displaystyle L}}$, spectra responses $p_{\displaystyle nj}(t)$, $n=1,\dots,N$, $j=1,\dots,J$, and an estimate of the total
number of non-zero-spin isotopes $N$;
FIG. 2B intermediate data $\lambda_{\displaystyle k}(t)$, $k=1,\dots,K$ for further spectrum generation from all non-zero-spin isotopes with reference table $H$;
FIG. 2C intermediate data $r_{\displaystyle nj}^{\displaystyle 2}(t)$, $n=1,\dots,N$, $j=1,\dots,J$ for further spectrum generation from all non-zero-spin isotopes with reference table $H$.

\end{document}


заморочка с \displaystyle в каждом над и подстрочным индексом вызвана тем, что паблишер еще и запрещает маленький шрифт, что приходится так извращаться...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Karan, PAV, Toucan, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group