LINUX.ORG.RU

Мелочи в подписях под полями

 ,


0

3

Вот код:


\documentclass[a4paper]{article}

\usepackage[T2A,TS1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage[normalem]{ulem}

\usepackage [top=20mm,
             bottom=20mm,
             footskip=12mm,
             left=20mm,
             right=10mm]{geometry}

\renewcommand{\ULdepth}{1.8pt}

\makeatletter
\newcommand{\dynscriptsize}{\check@mathfonts\fontsize{\sf@size}{\z@}\selectfont}
\makeatother
\newcommand\textunderset[2]{%
  \leavevmode
  \vtop{\offinterlineskip
    \halign{%
      \hfil##\hfil\cr % center
      \strut #2\cr
      \noalign{\kern-.1ex}%
      \dynscriptsize
      \strut%
      #1
      \cr
    }%
  }%
}


\begin{document}

Обучающийся \textunderset{подпись}
      {\uline{\makebox[90mm]{}}}/\uline{\hfill%
        \textunderset{расшифровка подписи}%
      {\hfill Петров Д.Я. \hfill}\hfill}/

\end{document}

В подстрочном тексте «расшифровка подписи» опущена немного ниже чем «подпись». Как сделать чтобы они автоматически были на одной строке?

И ещё вопрос как делать такую подпись в две строчки?

★★★★★

Последнее исправление: ados (всего исправлений: 1)

Дефолтный сруль от \baselineskip зависит, а он у тебя тут в зависимости от высоты бокса прыгает. Так что толку от этого сруля никакого. Сделай свой сруль, например:

\def\srul{\rule{0pt}{0.7em}}

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

Мда уж, ну и терминология. Да я вставил это макро и теперь если надо высоту могу раздувать до стандартных для меня размеров. Спасибо.

Остался вопрос когда поле узкое а подпись нужно впечатать длинную и вот как здесь лепить две строчки?

ados ★★★★★
() автор топика
Последнее исправление: ados (всего исправлений: 1)
Ответ на: комментарий от ados

Есть решение в виде:

\vbox{\hbox{line1}\hbox{line2}}

но хотелось бы чтобы строки по центру были.

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

но хотелось бы чтобы строки по центру были

Так оно ж у тебя и так уже \hfill-ами центруется. Просто между \hfill-ами и вставляй, а не вместо.

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

Да они по центру. Просто по факту по центру только одна строка в vbox-е - другая, более короткая, выровнена по краю более длинной строки.

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

Почему-то сам не догадался попробовать tabular. Упоролся во всякие vbox-ы, hbox-ы. Спасибо.

Мои эксперименты показали что adjustbox лишний.

Была ещё проблема неадекватного отступа между строками в tabular, что решилось простым подключением пакета tabls.

ados ★★★★★
() автор топика

Резюме

В результате разбирательств была накостылена пара макросов.

\usepackage{tabls}

\makeatletter
\newcommand{\dynscriptsize}{\check@mathfonts\fontsize{\sf@size}{\z@}\selectfont}
\newcommand{\srul}{\rule{0pt}{0.7em}}
\makeatother
\newcommand\textunderset[2]{%
  \leavevmode
  \vtop{\offinterlineskip
    \halign{%
      \hfil##\hfil\cr % center
      \strut #2\cr
      \noalign{\kern-.1ex}%
      \dynscriptsize
      % \strut%
      \srul% standard vertical offset for undersetted text
      #1%
      \cr
    }%
  }%
}

\newcommand\multilinetextunderset[2]{%
  \textunderset{\begin{tabular}{c}#1\end{tabular}}{#2}}
ados ★★★★★
() автор топика
Последнее исправление: ados (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.