LINUX.ORG.RU

LaTeX - что не так


0

0

Есть стилевой файл с командами, с помощью которых формируется табличка с характеристиками - заголовок таблицы, табличные данные, конец таблицы. Заголовок формируется нормально, а вот первая строка с характеристиками почему то сдвинута влево. Если все команды ввести руками, то получается все нормально. Почему так происходит, это мой косяк или косяк LaTeX. Вот как это выглядит - http://i47.tinypic.com/rlx084.jpg - первая табличка сделана с помощью команд, вторая руками. Ниже приведен минимальный кусок документа, на котором виден эффект.

\documentclass{article}

\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[english,russian]{babel}


% начало таблицы с тех. данными
\newcommand{\StartTechData}
{
\textbf{Основные технические данные}

\begin{tabular}[c]{|l|l|}
	\hline
	\textbf{Наименование параметра} & \textbf{Значение по ТУ}\\
	\hline \hline}

% тех. данные
%	первый параметр - наименование параметра
%	второй параметр - значение параметра
\newcommand{\TechData}[2]{#1 & #2 \\
\hline}


% завершение блока тех. данных
\newcommand{\EndTechData}{
\hline
\end{tabular}
}

\begin{document}

\StartTechData{}
\TechData{Диапазон измерений, мм/м}{$\pm 5$}
\TechData{Погрешность измерений, \%}{$\pm 1$}
\EndTechData{}


\textbf{Основные технические данные}

\begin{tabular}[c]{|l|l|}
	\hline
	\textbf{Наименование параметра} & \textbf{Значение по ТУ}\\
	\hline \hline

Диапазон измерений, мм/м & $\pm 5$\\
\hline
Погрешность измерений, \% & $\pm 1$\\
\hline

\hline
\end{tabular}


\end{document}


Может где-то пробел неучтённый оказался. Пораставляй в конце строк при определении команд %

Evgueni ★★★★★
()
Ответ на: комментарий от Evgueni

Попробовал в конце каждой строки в определении команд ставить % - без изменений. Какие еще мысли

CFA
() автор топика

Если написать без пробела:

\StartTechData{}\TechData{Диапазон измерений, мм/м}{$\pm 5$}

то все ОК. А вообще, определять команды, в которых отдельно встречаются /begin и /end - дурной тон. Если вам так хочется - лучше уж сделайте свое окружение.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Вариант с \newenvironment сработал. Пусть так и будет, тем более что это «хороший тон». Хотя почему предыдущий вариант не работал как надо (за исключением записи StartTechData и TechData в одну строку) так и не понятно.

CFA
() автор топика
Ответ на: комментарий от CFA

Вообще-то предыдущий вариант тоже работал, но плоховато. А плохим тоном помещение /begin{env} и /end{env} в разные команды считается из-за сложности контроля закрывания окружения: если вы забудете закрыть определенное вами окружение, получите соответствующий текст ошибки да и найти будет проще, а вот если вы забудете написать \EndTechData, локализовать ошибку будет намного сложнее.

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.