Ru-Board.club
← Вернуться в раздел «Программы»

» TeX, LaTeX и т.д.

Автор: TeXpert
Дата сообщения: 24.05.2007 21:46
RuBorTex
Всё равно, не думаю, что там есть существенные какие-то новшества. Вот давно были обещаны те вещи, которые есть в драйверах emTeX, которые обсуждали пару страниц назад -- например, печать на A4 двух A5 страниц... Вот этого реально не хватает.
Автор: Varravann
Дата сообщения: 24.05.2007 21:50
Камрады, help me!

В общем, меня тут запрягли срочно сделать стилевой файл для верстки по определенным правилам (раньше это люди там делали руками (!) в Ворде (!!), а потом юзали что-то из серии DOC2PDF (мрак, короче)). Так вот, не подскажите ли какой-нибудь максимально недлинный и доходчивый мануал по созданию стилевых файлов (в основном, под MikTeX)?
Автор: TeXpert
Дата сообщения: 24.05.2007 21:56
Varravann
Цитата:
мануал по созданию стилевых файлов (в основном, под MikTeX)?
Мануалов по созданию под определённую реализацию не бывает. Хотя, в Scientific Word есть специальный Style Editor, но я не пробовал (кстати, раз уж пошла такая пьянка -- Scientific Word можно сделать мобильным, то есть запускать с CD/DVD, вот на днях, даст Бог, попробую запускать из-под wine). Проще создать от руки, взяв за основу какой-нибудь существующий стилевой файл. Примерные требования какие?
Автор: Varravann
Дата сообщения: 24.05.2007 22:03
TeXpert
Ну, я про MikTeX сказал на всякий случай - вдруг специфика все же есть.

Про требования: надо просто автоматом собирать выпуски научного электронного журанала. Соответственно, всяике там установки шрифтов и выравнивания в подписях к картинкам-таблицам, стандартизованный вид "заглавной страницы" статьей (УДК-коды, названия, абстракт, etc), ну и там по мелочи типа методов нумерования флоатов и т.п. Короче говоря, ничего такого радикально сложного. Но я просто ВООБЩЕ не представляю, как должен быть устроен стилевой файл, чтобы он ни с чем не конфликтовал.

P.S. Немного отвлеченный вопрос: если мне надо какой-то параграф (к примеру, абстракт) собрать с отступом в N сантиметров от обоих краев нормального текста, то как это лучше делать? Банальным tabular'ом с фиксированной шириной столбцов или еще как-то?
Автор: TeXpert
Дата сообщения: 24.05.2007 22:14
Varravann
Цитата:
Но я просто ВООБЩЕ не представляю, как должен быть устроен стилевой файл, чтобы он ни с чем не конфликтовал
Тогда тебе прямая дорога в каталог, где самые разные стилевые файлы -- скопируй их куда-нибудь и смотри код. Полезно. А так, халтура получится.
Цитата:
Немного отвлеченный вопрос: если мне надо какой-то параграф (к примеру, абстракт) собрать с отступом в N сантиметров от обоих краев нормального текста, то как это лучше делать?
Насколько помню, существует окружение quote. Можешь использовать его, а можешь взять его код и подправить под свои нужды.
Автор: RuBorTex
Дата сообщения: 24.05.2007 22:31
Varravann

Цитата:
какой-нибудь максимально недлинный и доходчивый мануал по созданию стилевых файлов

Советую посмотреть Decoding Style Files (ссылка взята на странице http://www.tug.org/TeXnik/mainFAQ.cgi?file=docs ).

Добавлено:
Кстати, ссылку "(La)TeX Docs (очень много!)" в шапке надо бы подправить.
Автор: Varravann
Дата сообщения: 24.05.2007 23:09
TeXpert

Цитата:
Тогда тебе прямая дорога в каталог, где самые разные стилевые файлы -- скопируй их куда-нибудь и смотри код. Полезно. А так, халтура получится.

Дык, я уже посмотрел пару стилевых файлов - половину фич не понял... Это надо где-то читать про общие принципы построения стилевого файла.

RuBorTex

Цитата:
Советую посмотреть Decoding Style Files

Ага, пасиб, изучу.
Автор: TeXpert
Дата сообщения: 24.05.2007 23:28
Varravann
Цитата:
Дык, я уже посмотрел пару стилевых файлов - половину фич не понял...
Это плохо есть... но поправимо. Глянь книгу Львовского, там про сочинение стилевых файлов хорошие примеры есть, только читай.
Автор: Kuzemko
Дата сообщения: 25.05.2007 14:16
Попытался прикрутить pscyr.
Выдает такие ошибки
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 2+44/600 --dpi 1244 f19:12

mktexmf: empty or non-existent rootfile!
mktexpk: don't know how to create bitmap font for ftmr6a.

pdfTeX warning: pdflatex.exe (file ftmr6a): Font ftmr6a at 1244 not found
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+437/600 --dpi 1037 ftmr6
a
mktexmf: empty or non-existent rootfile!
mktexpk: don't know how to create bitmap font for ftmr6a.

pdfTeX warning: pdflatex.exe (file ftmb6a): Font ftmb6a at 1037 not found


pdfTeX warning: pdflatex.exe (file ftmb6a): Font ftmb6a at 600 not found


pdfTeX warning: pdflatex.exe (file ftmri6a): Font ftmri6a at 864 not found


pdfTeX warning: pdflatex.exe (file ftmbi6a): Font ftmbi6a at 864 not found


pdfTeX warning: pdflatex.exe (file ftmr6a): Font ftmr6a at 600 not found
<c:/TeXLive2007/texmf-var/fonts/pk/ljfour/lh/lh-t2a/larm1000.600pk> <c:/TeXLiv
e2007/texmf-var/fonts/pk/ljfour/lh/lh-t2a/larm1440.600pk>

pdfTeX warning: pdflatex.exe (file ftmb6a): Font ftmb6a at 864 not found


pdfTeX warning: pdflatex.exe (file ftmr6a): Font ftmr6a at 864 not found


pdfTeX warning: pdflatex.exe (file ftmb6a): Font ftmb6a at 1493 not found


pdfTeX warning: pdflatex.exe (file ftmr6a): Font ftmr6a at 1244 not found


pdfTeX warning: pdflatex.exe (file ftmr6a): Font ftmr6a at 1037 not found

Текст в pdf отображает иероглифами.
Автор: Griefin
Дата сообщения: 25.05.2007 18:31
Помимо того, что написано в README, надо добавить Map pscyr.map в updmap.cfg, выполнить updmap и texhash.
Автор: metelev
Дата сообщения: 26.05.2007 20:11
Вот спросить хочу. Команда рисования линии почему-то рисует вместо неё треугольнички при определённых параметрах для угла наклона. Смотри ниже исходный текст минимального документа. Если вместо \line(4,2) написать \line(5,2) рисует линию. Я понимаю, что если мне непременно надо именно этот угол наклона, можно написать \line(2,1). Но почему \line(4,2) не работает, что за дикость? У меня MikTeX 2.4.1461

\documentclass{article}
\begin{document}
\begin{picture}(40,40)
\put(15,3){\line(4,2){30}}
\end{picture}
\end{document}
Автор: Gavk
Дата сообщения: 27.05.2007 20:10
metelev
Числа, задающие наклон линии, не должны иметь общих делителей кроме 1
Автор: Pavel80
Дата сообщения: 29.05.2007 17:27
Указываю в преамбуле кодировку koi8-r, а компилировать русский текст не хочет. В чем проблема? С кодировками cp866 и cp1251 все нормально.
Автор: Gavk
Дата сообщения: 29.05.2007 17:58
Pavel80
Версия TeX?
Автор: Pavel80
Дата сообщения: 29.05.2007 19:48
Gavk
MiKTex 2.6. Под 2.5 тоже самое было.
Автор: TeXpert
Дата сообщения: 29.05.2007 20:26
Pavel80
Цитата:
Указываю в преамбуле кодировку koi8-r, а компилировать русский текст не хочет
Выложи шапку и тело с минимальным текстом здесь же.
Автор: golodnyj
Дата сообщения: 30.05.2007 14:12
Доброго времени суток коллеги
добрался я таки до сбивки материала в одну кучу и наступил на следующие грабли:

Есть некоторое оглавление типа
\chapter*{Введение}\label{intro}\addcontentsline{toc}{chapter}{Введение}
\input{intro.tex}
\chapter{Заголовок первой части}\label{first}
\section{Первый подзаголовок}
\subsection{Под под заголовок}
\subsubsection{Под под под заголовок}
далее текст

1. Замучился уже, как поставить точку после 1 1.1 1.1.1 (чтобы было 1. 1.1. 1.1.1.)
2. Блин включение заголовков меняет стить текста ((( там где расположена глава да и пустые страницы откудато появляются (, как можно сделать так чтобы просто печаталось:

1. Загаловок первой главы
1.1. Первый подзаголовок
Типа пошел текст
тря тря тря

При этом оформление текста после заголовков соответствовало до них
Автор: Pavel80
Дата сообщения: 30.05.2007 15:59

TeXpert
\documentclass[a4paper,12pt]{article}
\usepackage{amsfonts,amssymb,amsmath}
\usepackage[koi8-r]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{graphicx}
\begin{document}
Пример
\end{document}
golodnyj
\renewcommand{\thesection}{ \arabic{section}.}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}.}
..............................................................................................
Попробуй должно получиться
Автор: Gavk
Дата сообщения: 30.05.2007 18:35
Pavel80
Совсем забыл... В лог Miktex что пишет? В своё время тоже были проблемы с версией 2.5, но Griefin надоумил откатится на 2.4. Откатился и проблема решилась.
Автор: Varravann
Дата сообщения: 30.05.2007 20:50
Так.. Я начал измываться над стилевым файлом, немного поштудировав Львовского. Короче, кто не спрятался - я не виноват: щас я зафлужу эту ветку тупыми вопросами. =)

Итак:
1) Положим, мне надо собрать свой вид команды \maketitle. Для этого безобразия в том стилевом файле, который я взял за основу, используется следующий код:

Цитата:
%% Макросы для определения заголовка
\def\year#1{\gdef\@year{#1}} %% год
\def\authors#1{\gdef\@authors{#1}} %% авторы
\def\thanks#1{\gdef\@thanks{#1}} %% благодарности (ссылка на грант и т.п.)
\def\title#1{\gdef\@title{#1}} %% название статьи
\def\abstract#1{\gdef\@abstract{\parbox{140mm}{\small#1}}} %% текст аннотации

%% Заголовок
\renewcommand{\maketitle}{%
\begin{center}
\normalsize\bfseries\copyright~\@year~г.\qquad%
\@authors\\[3ex]
\large\bfseries\MakeUppercase{\@title}\footnote{\@thanks}\\[3ex] %
\normalsize\normalfont
\vspace*{1ex}
\@abstract
\end{center}}

С самой командой \maketitle все, вроде, понятно. Но мне не совсем понятны kernel-команды для определения полей типа "year"... И совсем непонятно, что с ними делают в начале кода (т.е., к примеру, что значит \@year в теле определения \year). Ну и, кроме того, как мне приделать собственные аналогичные поля (понятно, что по аналогии; но хочется ничего не нарушить и написать совместимо)?


2) Совсем тупой вопрос: как ТеХу указать, что определенный кусок текста надо печатать кеглем в N pt? (Команды типа \small и \large не предлагать, т.к. их эффект зависит от основного кегля.)


3) Можно ли как-то сделать автоматическую заливку свободного места в строке определенными знакакми? Если говорить конкретно, то мне надо сделать так, чтобы на строке вполне фиксированной ширины посередине была определенная надпись (произвольной ширины), а все место слева и справа от нее и до краев строки было забито знаками "=".

Добавлено:
Pavel80

Цитата:
\renewcommand{\thesection}{ \arabic{section}.}
\renewcommand{\thesubsection}{\arabic{section}.\arabic{subsection}.}

В стилевом файле у Львовского сказано, что так будут проблемы с ссылками на секции.

Кстати о птичках... В используемом мной myruss.sty (это как раз поправки Львовского) указано, что этот файл есть усеченная версия russcorr.sty. Не может ли кто-нибудь дать мне полный файл? (А то гугль ничем не помогает.)
Автор: TeXpert
Дата сообщения: 30.05.2007 22:43
Pavel80
Цитата:
\documentclass[a4paper,12pt]{article}
\usepackage{amsfonts,amssymb,amsmath}
\usepackage[koi8-r]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{graphicx}
\begin{document}
Пример
\end{document}
В моём мобильном (работает с DVD-ROM) MiKTeX 2.3 всё отлично пашет. Отсюда вся та же мораль: нафиг одновления, если всё равно существенно ничего нового нет, а отдельные пакеты можно вручную прикрутить. Это же не Windows, который без дырок не может жить, задохнулся бы иначе.

Добавлено:
Varravann
Цитата:
Совсем тупой вопрос: как ТеХу указать, что определенный кусок текста надо печатать кеглем в N pt? (Команды типа \small и \large не предлагать, т.к. их эффект зависит от основного кегля.)
Совсем по-TeX'овски: командой
Код: \font\xyz=cmr10 at 10pt
Автор: Griefin
Дата сообщения: 30.05.2007 23:15
Varravann
Определения в стиле
\def\year#1{\gdef\@year{#1}}
означают присвоение глобальной переменной \@year значения аргумента команды \year. Такие команды обычно вводят для полей заголовка.

Размер шрифта выбирается так:
{\fontsize{<size>}{<skip>}\selectfont Some text}
<size> - размер шрифта (обычно в pt), <skip> - расстояние между базовыми линиями.
Автор: golodnyj
Дата сообщения: 31.05.2007 03:47
to Pavel80

у меня получилось, только вот так :

\renewcommand{\thechapter}{\arabic{chapter}.}
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}.}
\renewcommand{\thesubsection}{\arabic{chapter}.\arabic{section}.\arabic{subsection}.}
\renewcommand{\thesubsubsection}{\arabic{chapter}.\arabic{section}.\arabic{subsection}.\arabic{subsubsection}.}

и остался открытый вопрос с главами как сделать так чтобы вставка \chapter{заголовок}
не меняла оформление страницы а то она колонтитулы сбрасывает (ну у меня допустим в верхнем колонтитуле странички проставлены) вставляет пустые страницы (((

to Varravann а какие проблемы соссылками будут я оглавление посмотрел все вроде правильно...
Автор: Griefin
Дата сообщения: 31.05.2007 08:05
golodnyj
Вообще говоря, переопределение счетчиков -- это не наш метод, т.к. ссылки (\ref) будут содержать точки. Если используется один из базовых пакетов (article, book, report), то нужно подключить misccorr.sty. Если нет -- сделать по аналогии, т.е. переопределить макросы \@part, \@chapter, \@sect.

По поводу изменения оформления страницы. Нужно найти в используемом классе определение \newcommand\chapter и изменить там \thispagestyle{empty} на что-то более подходящее.
Автор: golodnyj
Дата сообщения: 31.05.2007 09:46
to Griefin
успользую book действительно в (\ref) появлялись точки +)
подключил \usepackage{misccorr} все ок +)

а относительно оформления страницы. можно ли не переопределить в преамбуле эту команду чтобы не лезти в стилевик (блин у меня чтото не получается ((( )
Автор: Griefin
Дата сообщения: 31.05.2007 18:40
В преамбуле:

\makeatletter
\renewcommand\chapter{...}
\makeatother
Автор: Varravann
Дата сообщения: 31.05.2007 20:06
TeXpert

Цитата:
Совсем по-TeX'овски: командой
\font\xyz=cmr10 at 10pt
потом используешь:
{\xyz Тест}. Такой ответ в теме уже был. Проверь, вдруг я ошибся.

1) Мгм... Ветка, знаешь, большая и автопоиск по ней фигово работает.
2) cmr10? Это, надо понимать, начертание? А если мне надо Times New Roman?


Цитата:
3) Можно ли как-то сделать автоматическую заливку свободного места в строке определенными знакакми? Если говорить конкретно, то мне надо сделать так, чтобы на строке вполне фиксированной ширины посередине была определенная надпись (произвольной ширины), а все место слева и справа от нее и до краев строки было забито знаками "=".
Запросто. Примеры смотри в Львовском.


Про \leaders нашел. Но тут возникла другая проблема: текст, слева и справа от которого должна быть заливка знаками "=", может быть неоднострочным. Соответственно, и заливка тоже должна быть многострочной. Можно ли это как-то сделать автоматически?

Griefin

Цитата:
Размер шрифта выбирается так:
{\fontsize{<size>}{<skip>}\selectfont Some text}
<size> - размер шрифта (обычно в pt), <skip> - расстояние между базовыми линиями.

Вот если бы я еще знал, каков стандартный <skip> для разных шрифтов...

=========================================

Еще кучка вопросов:
1) Можно ли как-то без явного локального изменения интерлиняжа (ну, т.е. рассотяния между baselines) делать дополнительные интервалы между строками? К примеру, мне надо к определенной строке сделать зазоры 12pt сверху и 6pt снизу. Таблицы городить не хочется...

2) Как найти то место в могучих исходниках MikTeX, где определяется та или иная команда? К примеру, мне интересны "стоковые" определения команд "\small", "\footnotesize" и т.п.

3) Переделываемый мной стилевой файл является .cls-файлом, а в Львовском опиан процесс только написания своего .sty-файла. Накладывает ли определение собственно класса какие-то дополнительные ограничения (ну, кроме шапки cls-файла) по сравнению в обчным стилевым или нет?

4) Как наиболее корректно доопределить какую-то команду? Мне надо, чтобы команда \xyz, определенная в каком-то стороннем пакете, делала не только то предопределенное действие, но еще и мое. Для простоты положим, что мне перед каждой командой \xyz надо вставить свою команду \prefix. При этом формат аргументов \xyz должен сохраниться (а он может быть весьма нетривиальный).
Автор: RuBorTex
Дата сообщения: 31.05.2007 21:06
TeXpert

Цитата:
Pavel80
Цитата:
\documentclass[a4paper,12pt]{article}
\usepackage{amsfonts,amssymb,amsmath}
\usepackage[koi8-r]{inputenc}
\usepackage[english, russian]{babel}
\usepackage{graphicx}
\begin{document}
Пример
\end{document}
В моём мобильном (работает с DVD-ROM) MiKTeX 2.3 всё отлично пашет. Отсюда вся та же мораль: нафиг одновления, если всё равно существенно ничего нового нет, а отдельные пакеты можно вручную прикрутить. Это же не Windows, который без дырок не может жить, задохнулся бы иначе.

У меня в MiKTeX 2.5 (причём принципиально регулярно обновляю через и-нет все доступные пакеты) тоже всё работает отлично. Отсюда вывод: дело не совсем в версии MiKTeXa. Возможно причина в неправильной установке (настройке) каких-то пакетов, либо устаревшей их версии.

А в самом деле, почему бы не посмотреть логи?
Автор: TeXpert
Дата сообщения: 31.05.2007 21:53
Varravann
Цитата:
Мгм... Ветка, знаешь, большая и автопоиск по ней фигово работает
Неправда. Бывают ветки огромные. Пользуй версию для печати.
Цитата:
cmr10? Это, надо понимать, начертание? А если мне надо Times New Roman?
Ну, ясно же, это пример! Ты же математик! Почитай про шрифты.
Цитата:
Про \leaders нашел. Но тут возникла другая проблема: текст, слева и справа от которого должна быть заливка знаками "=", может быть неоднострочным. Соответственно, и заливка тоже должна быть многострочной. Можно ли это как-то сделать автоматически?
У тебя нехватка инфорсмацмм тут.
Цитата:
Вот если бы я еще знал, каков стандартный <skip> для разных шрифтов...
Нормируешь обычный \baselineskip, множителем, например.
Цитата:
Можно ли как-то без явного локального изменения интерлиняжа (ну, т.е. рассотяния между baselines) делать дополнительные интервалы между строками? К примеру, мне надо к определенной строке сделать зазоры 12pt сверху и 6pt снизу
Сразу видно, ты книги не уважаешь. Чем плох \\[arg]? Тут у тебя лишняя степень свободы -- зачем и сверху, и снизу? Просто снизу добавь пробел, этого же достаточно.
Цитата:
Как найти то место в могучих исходниках MikTeX, где определяется та или иная команда? К примеру, мне интересны "стоковые" определения команд "\small", "\footnotesize" и т.п.
Надо смотреть базовые файлы, кчаствующие в сборке форматного файла. Поищи в соответствующих каталогах. Например
texmf\source\latex\base\classes.dtx

Добавлено:
RuBorTex
Цитата:
А в самом деле, почему бы не посмотреть логи?
Да с удовольствием бы в первую очередь. Но автор не считает нужным).
Автор: Varravann
Дата сообщения: 31.05.2007 23:47
TeXpert

Цитата:
Ну, ясно же, это пример! Ты же математик! Почитай про шрифты.

Читал. Но про команду \font я там ничего не нашел (и, соответственно, про ее аргументы). Львовский ограничиватся только начертаниями стандартного шрифта, а за всеми фичами отсылает в оригинальную книгу Кнута.
Короче, не могу бы ты подсказать, как именно называется Times New Roman в ТеХе?


Цитата:
У тебя нехватка инфорсмацмм тут.

ОК, излагаю с примером.
а) однострочный вариант:
"======= блабла ========"
б) многострочный вариант:
"=== длинное блабла1 ==="
"== продолжение блабла =="

Кстати, возможен вариант, что разделение "блабла" на строки можно возложить на конечного юзера. Тогда возникает ламерский вопрос: как сделать так, чтобы в \maketitle (а это "обравнивание" блаблы используется именно там) при указании в преамбуле только \blahblah{блабла} печатался вариант а), а при указании \blahblah{ длинное блабла1} И \extrablahblah{продолжение блабла} - вариант б)? Понятно, что это должно быть что-то типа "ifdef \@extrablahblah", но я совершенно не рублю в if-then-синтаксисе в ТеХе. Подскажите, плиз.


Цитата:
Нормируешь обычный \baselineskip, множителем, например.

Мгм... Насколько я понимаю, при изменении кегля baselineskip изменяется не совсем пропорционально... Да и если я в макросе переключения шрифта укажу \baselineskip, то это будет текущий, а не абсолютный межстрочный интервал...


Цитата:
Сразу видно, ты книги не уважаешь. Чем плох \\[arg]? Тут у тебя лишняя степень свободы -- зачем и сверху, и снизу? Просто снизу добавь пробел, этого же достаточно.

Я книги уважаю, но, к сожалению, в данной ситуации вынуден читать их "по диагонали". Фичу с \\[arg] я знаю, но просто она у меня вылетела из головы. Спасибо за подсказку.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768

Предыдущая тема: Форматы|кодеки|снятие и обработка звука|lossless&lossy|codec


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.