info###latexinfo.ru

Ответы на вопросы

Для добавления штрих-кода в LaTeX документ в формате Code 128 можно воспользоваться макросом code128 от Petr Olšák.

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

\input code128

Создание штрих-кода задается с помощью команды \code{} следующим образом:

\code{Text 123 456}

Обратите внимание, пробелы внутри {} игнорируются. Пробел перед закрывающей скобкой } вызовет ошибку. Если пробел нужен, то нужно использовать \ или /SP. Аналогично нужно экранировать все спецсимволы TeX.

В результате мы получим вот такой штрих-код:


Для получения штрих-кода с подписью нужно воспользоваться командой \codetext{}:

\codetext{123 456 789 000}


Если нужно получить штрих-код с одними данными, а подпись сделать другую, то используется команда \codeothertext{Текст}{Альтернативный текст}:

\codeothertext{Text\ 123 456 789 000}{Альтернативный текст}

В результате получится такой вывод:


Дополнительные параметры настройки вывода штрих-кодов:

\X=.5mm % Модуль X - все размеры ширины кратны \X - по умолчанию 0.33mm
\barheight=1cm % Высота штрих-кода - по умолчанию 1.5cm
\bcorr=.020mm % Штрихи тоньше на \bcorr, а пробелы выше - по умолчанию 0.020mm - желательно не менять

\codetext{123 456 789 000}

Последняя команда сформирует вот такой штрих-код (если сравнить со второй картинкой, которая получена с параметрами по умолчанию — разница очень значительная):


Примечание: кириллический текст закодировать не получится.


Подробнее

Частые задачи при формировании бланков документов:
  • Как сделать многострочное подчеркивание? Как сделать, чтобы линия продолжалась до конца строки в LaTeX?
  • Как сделать пустое подчеркивание под заполнение вручную?

Предположим нам нужно создать резюме, в котом будет жирным выделено название поля, такие как имя, фамилия и т.д., а после должно идти значение, которое будет подчеркнутым, например, Фамилия: Иванов. Подчеркивание должно продолжаться до конца строки.

Стандартная команда для подчеркивания слов \underline{} мало поможет, т.к. при добавлении в {} довольно длинного текста, не срабатывает перенос строки. Для многострочного переноса есть команда \uline из пакета \usepackage{ulem} и команда \ul из пакета \usepackage{soul}.

Для заполнения строк до конца пустотой воспользуемся командой \hfill.

Посмотрим на примерах, как отрабатывает каждая из этих команд в разных условиях:

\usepackage{ulem}
\usepackage{soul}
...
\textbf{Фамилия:} \underline{Иванов И.И. \hfill}

\textbf{Имя:} \underline{\makebox[10cm]{}}

\textbf{Отчество:} \uline{\hfill}

\textbf{Возраст:} \uline{ \hfill} \textbf{Рост:} \uline{ \hfill} \textbf{Вес:} \uline{ \hfill}

\bigskip
\textbf{Место жительства:} \underline{Ставпропольский край, Кировский район, станица Петропавловская, ул. Рязанская, д.388}

\bigskip
\textbf{Последнее место работы:} \uline{Научно-исследовательская лаборатория операций по армированию бетона и железобетонных работ по сооружению сборно-монолитных и монолитных конструкций отдела технологии строительно-монтажного управления Академии строительства и архитектуры СССР}

\bigskip
\textbf{Последнее место работы:} \ul{Научно-исследовательская лаборатория операций по армированию бетона и железобетонных работ по сооружению сборно-монолитных и монолитных конструкций отдела технологии строительно-монтажного управления Академии строительства и архитектуры СССР}

\bigskip
\textbf{Личные качества:} \uline{Вежливость, дружелюбие, отзывчивость, порядочность, открытость, вниматель\-ность, коммуникабельность, доброжелательность, самокритичность, опрятность, чистоплотность, пе\-дан\-тичность, мобильность, красноречивость. \hfill}

\bigskip
\textbf{Сильные стороны:} \ul{Самостоятельность, быстрое принятие решений, ориентированность на результат, трудолюбие, самосовершенствование, дисциплинированность, упорство, убедительность, прямолинейность. \hfill}

В данном случае получится вот такая страница:


Как видно из примера (строка "Место жительства"), команда \underline не переносит на новую строку. \hfill в сочетании с \underline не заполняет строку до конца ("Фамилия").

Строка "Имя" иллюстрирует, как можно создать подчеркивание определенного размера: \underline в сочетании с \makebox[10cm]{}.

"Последнее место работы" оформили дважды, через \uline и \ul. Видно, что основное отличие на выводе этих двух команд в том, что команда \uline не вставляет переносы строк. Команда \ul отлично с этим справляется.

Строки "Личные качества" и "Сильные стороны" показывают использование команд \uline и \ul в сочетании с \hfill. На этот раз лучше себя показала команда \uline. \hfill внутри \uline заполнила строку подчеркиванием до конца строки, а вот внутри \ul подчеркивание закончилось на последнем символе. Проблема переносов внутри команды \uline решилась вставкой возможных переносов слов: "пе\-дан\-тичность".

Если просто прописать \uline{\hfill}, то такая комбинация даст пустое подчеркивание до конца строки (строка "Отчество").

Еще одно интересное свойство команды \hfill показано в строке "Возраст, рост, вес". Как видно на изображении, \hfill равномерно растянула каждый блок \uline так, чтобы вся строка заполнилась.

Выбирайте, какой именно вариант наиболее подходящий.



Подробнее

Задача заключается в создании бланка для налоговой службы. Некоторые данные должны быть внесены в таблицу с серыми пунктирными границами. Как это сделать в LaTeX?

Создадим простую таблицу tabular, добавим немного воздуха вокруг данных и зададим цвет линий:

\usepackage{xcolor}
\usepackage{colortbl}
...

\renewcommand{\arraystretch}{1.8} % увеличиваем вертикальные отступы
\arrayrulecolor{lightgray} % устанавливаем цвет границы таблицы
\setlength{\arrayrulewidth}{0.5pt} % устанавливаем толщину линий
\begin{tabular}{c|c|c|c|c|c|c|c|c|c|c|c|} \cline{2-12}
ИНН & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 0 & 1 \\ \cline{2-12}
\end{tabular}

Теперь, используя пакет arydshln, зададим пунктирные линии. Для этого в качестве разделителя столбцов используем двоеточие : , в качестве полных линий \hdashline и укороченных линий \cdashline.

\usepackage{xcolor}
\usepackage{arydshln}
...

\begin{tabular}{c:c:c:c:c:c:c:c:c:c:c:c:} \cdashline{2-12}
КПП & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 0 & 1 \\ \cdashline{2-12}
\end{tabular}

Можно остановиться и на этом, но если необходимо настроить вид пунктирных линий, то можно их можно изменить, меняя \dashlinedash — для длины видимой части линии и \dashlinegap — для отступов между пунктирами.

\usepackage{xcolor}
\setlength{\dashlinedash}{10pt}
\setlength{\dashlinegap}{2pt}
\begin{tabular}{|l:l:l|} \hline
Ячейка 1 & Ячейка 2 & Ячейка 3 \\ \hdashline
Ячейка 4 & Ячейка 5 & Ячейка 6 \\ \hdashline
Ячейка 7 & Ячейка 8 & Ячейка 9 \\ \hline
\end{tabular}

А для настройки отдельных линий можно воспользоваться следующими возможностями пакета arydshln. Для вертикальных линий вместо двоеточия использовать точку с запятой и настройку пунктирной линии ;{dash/gap}. Для горизонтальных линий после команды линии дописать настройку в []: \dashlinedash[dash/gap].

Рассмотрим это на примере:

\usepackage{xcolor}
\renewcommand{\arraystretch}{2.5}
\arrayrulecolor{gray}
\begin{tabular}{|l::c;{2pt/2pt}r|} \hline
Ячейка 1 & Ячейка 2 & Ячейка 3 \\ \hdashline[5pt/2pt]
Ячейка 4 & Ячейка 5 & Ячейка 6 \\ \cdashline{1-2}[1pt/4pt]
\multicolumn{2}{|c;{2pt/2pt};{2pt/2pt}}{Ячейка 7} & Ячейка 8\\ \hdashline \hdashline
\end{tabular}

Ниже вы можете увидеть изображения, иллюстрирующие каждый пример:



Подробнее

Как вставлять картинки в latex, не беспокоясь о том, есть файл изображения или нет?

В случаях, когда нужно добавить в текст изображение и при этом неизвестно, есть ли файлы по указанному пути, можно воспользоваться "условной" командой \IfFileExists.

Посмотрим на примере как это будет выглядеть. Определим новую команду:

\newcommand{\myPict}[4]{%
\IfFileExists{#4}{
\setlength{\unitlength}{1cm}
\begin{picture}(0,0)
\put(#1,#2){\includegraphics[height=#3 cm]{{#4}}}
\end{picture}
}
}

Вызов команды будет следующим:

\myPict{0}{0}{5}{img/img1.jpg}

где первый, второй параметр определяет положение картинки, третий параметр определяет высоту картинки, а четвертый — путь к файлу.
В случае, когда файл img1.jpg не окажется по указанному адресу, компиляция файла продолжится без ошибок.

Команда \myPict проверит наличие файла img/img1.jpg и, если он существует, вставит его с заданными параметрами (сдвиг и высота). Если файл не найден, то изображение просто не появится и ошибки компиляции файла не будет.



Подробнее

Находясь на нашем сайте, вы принимаете условия использования файлов cookies. Более подробная информация здесь.