2014 dxdy logo

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

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




 
 Правка титульника в классе disser
Сообщение21.09.2013, 12:37 
Не нравится расположение блока с научным руководителем.
Как его опустить пониже и левее? (а то оно почти по центру и места слева слишком много остаётся)

 
 
 
 Re: Правка титульника в классе disser
Сообщение23.09.2013, 14:41 
1. Какой конкретно титульник?
Диссер/автореферат, кандидатский/магистерский/докторский и т. д.?

2.1. В руководстве (у меня ~/texmf/doc/latex/disser/disser.pdf) в разделе 1.13 Титульный лист описаны настройки титульника.
Если локально файла disser.pdf нигде нет, скачайте с http://sourceforge.net/projects/disser/ — там в архиве он есть.

2.2. В ~/texmf/source/latex/disser/*.dtx (исходники) и ~/texmf/tex/latex/disser/*.rtx (готовые титульники) можно посмотреть, как используются длины-настройки.

В частности, для кандидатской диссертации вертикальный отступ перед научруком \sixthskip, а горизонтальный — \@sahshift.

3. Их переопределением можно немного «подкрутить» вид титульного листа.
При переопределении команды/длины/переменной, где используется «@», нужно поместить этот текст между \makeatletter ...\makeatother, иначе будет ругань на собаку.

Если нужно кардинально переработать титульный лист, а не просто поменять расстояния, скопируйте наиболее подходящий .rtx к себе, переименуйте, например, в titleautoref.tex, отредактируйте и в преамбуле нужного документа соответственно переопределите \maketitle:
Код:
\renewcommand\maketitle{
   \makeatletter
      \input{titleautoref}
   \makeatother
   \normalfont\clearpage
}

 
 
 
 Re: Правка титульника в классе disser
Сообщение24.09.2013, 17:39 
Спасибо! Буду разбираться.

 
 
 
 Re: Правка титульника в классе disser
Сообщение24.09.2013, 22:15 
Да, извиняюсь, я имел в виду титульник кандидатской диссертации.

Я нашёл файл titlepage.dtx, открыл его, но там нет строк с \@sahshift, соответственно переопределить их нельзя.

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 22:27 
А не candidate?

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 22:38 
Не понял вопроса. Если Вы про класс документа, то да - я использую \documentclass[candidate]{disser}.

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 22:59 
Я про ~/texmf/tex/latex/disser/candidate.rtx (~/texmf/source/latex/disser/candidate.dtx). Вроде бы именно он является титульным листом кандидатской диссертации, а не ~/texmf/source/latex/disser/titlepage.dtx.

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 23:11 
Нашел файл, спасибо! sixthskip там есть, а вот sahshift нет( Буду копаться как же все же поменять.

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 23:14 
Как нет? У меня на 64 строке candidate.rtx/105 candidate.dtx
Код:
  \hspace{\@sahshift}\={\saname}\\

 
 
 
 Re: Правка титульника в классе disser
Сообщение25.09.2013, 23:19 
algia в сообщении #767850 писал(а):
Как нет? У меня на 64 строке candidate.rtx/105 candidate.dtx

У меня на 64 строчке
Код:
\asmanuscript\\


Может я дико туплю, но найти не могу. Вот код файла candidate.rtx у меня:

(Оффтоп)

Код:
%%
%% This is file `candidate.rtx',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% candidate.dtx  (with options: `candidate')
%%
%% Copyright (c) 2004-2010 Stanislav Kruchinin.
%% All rights reserved.
%%
%% This file is part of the disser package.
%%

\ProvidesFile{candidate.rtx}

\newcommand\candidate@the{\default@the}
\candidate@the

\if@titlepage\renewcommand\maketitle[1][]{
\ifthenelse{\equal{#1}{en}}{\@titlepage@entrue}{\@titlepage@enfalse}
\if@titlepage@en
  \def\appos{Head of Department}
  \def\saname{Scientific Supervisor}
  \def\sasndname{\saname}
  \def\salabel{\saname}
  \def\sasndlabel{\saname}
  \def\sconname{Scientific Consultant}
  \def\sconlabel{\sconname}
  \def\sconsndname{\sconname}
  \def\sconsndlabel{\sconname}
  \def\topicname{Topic}
  \def\asmanuscript{As Manuscript}
\fi

\ifx\firstskip\undefined
  \newlength\firstskip
  \ifDis@libcat
    \setlength\firstskip{2ex}
  \else
    \setlength\firstskip{4ex}
  \fi
\fi
\ifundeflength\secondskip{2cm}
\ifundeflength\thirdskip{1cm}
\ifundeflength\fourthskip{1cm}
\ifundeflength\fifthskip{1cm}
\ifundeflength\sixthskip{0cm}

\def\titlefont{\normalsize}
\def\topicfont{\Large\bfseries}
\def\authorfont{\large}
\def\specfont{\normalsize}

\thispagestyle{empty}
\enlargethispage{1cm}
\vspace*{-2cm}
\begin{center}
  \instfont\@institution\par
\end{center}
\vskip\firstskip
\begin{flushright}
  \ifDis@classified\classify\fi
  \asmanuscript\\
  \ifDis@facsimile\facsimile\fi
  \ifDis@libcat\libcatname\ \@libcatnum\fi
\end{flushright}
\begin{center}
  \vskip\secondskip
  {\authorfont\@author}
  \vskip\thirdskip
  {\topicfont\@topic\par}
  \vskip\fourthskip
  {\specfont\@specnum~--\ \@spec}\\[-6pt]
  \ifx\@specsndnum\empty\else
    {\specfont\@specsndnum~--\ \@specsnd}
  \fi
  \vskip\fifthskip
  {\titlefont\@title}
\end{center}
\ifx\@sa\empty\else
  \vskip\sixthskip\disserfield{sa}
\fi
\ifx\@sasnd\empty\else
  \vskip\sixthskip\disserfield{sasnd}
\fi
\ifx\@scon\empty\else
  \vskip\sixthskip
  \disserfield{scon}
\fi
\ifx\@sconsnd\empty\else
  \vskip\sixthskip
  \disserfield{sconsnd}
\fi
\vfill
\begin{center}
  {\@city\cdsep\@date}
\end{center}
\normalfont\clearpage
}\fi
\endinput
%%
%% End of file `candidate.rtx'.


Забегая вперед:
1) Ещё хотелось бы после надписи "Научный руководитель" поставить двоеточие.
2) Ещё на титульнике присутствую два тире (первое между шифром и названием специальности; второе между городом и годом). Они вроде двойные в коде "--", а я читал что правильно в таких случаях тройные "---". Тоже интересует как исправить.

 
 
 
 Re: Правка титульника в классе disser
Сообщение26.09.2013, 21:46 
Modesty в сообщении #767851 писал(а):
%% Copyright (c) 2004-2010 Stanislav Kruchinin.
У вас версия новее, чем моя, мне надо обновиться.

Modesty в сообщении #767851 писал(а):
Код:
\ifx\@sa\empty\else
  \vskip\sixthskip\disserfield{sa}
\fi
\ifx\@sasnd\empty\else
  \vskip\sixthskip\disserfield{sasnd}
\fi

Используется команда \disserfield, где, согласно п. 1.14.6 Элементы титульного листа, отступ на
Код:
\deflength\fieldhshift{8cm}

Modesty в сообщении #767851 писал(а):
Забегая вперед:
1) Ещё хотелось бы после надписи "Научный руководитель" поставить двоеточие.

п. 1.13 Постоянные части заголовков, титульного листа и текста
\saname
\salabel

Modesty в сообщении #767851 писал(а):
2) Ещё на титульнике присутствую два тире (первое между шифром и названием специальности; второе между городом и годом). Они вроде двойные в коде "--", а я читал что правильно в таких случаях тройные "---". Тоже интересует как исправить.

п. 1.15 Титульный лист
\cdsep

 
 
 
 Re: Правка титульника в классе disser
Сообщение26.09.2013, 23:24 
Сместить блок с научным руководителем получилось. Двоеточие тоже получилось поставить. Длинное тире между городом и годом появилось.
Спасибо большое: начинаю понимать, как устроен справочник по классу disser!

Однако тире между шифром и номером специальности на длинное не изменилось( Буду искать.

 
 
 
 Re: Правка титульника в классе disser
Сообщение27.09.2013, 06:10 
А вот это жёстко прописано в коде.
Код:
  {\specfont\@specnum~--\ \@spec}\\[-6pt]
Напишите автору, пусть введёт \specsep, а пока, боюсь, придётся пользоваться тем, что есть или переопределять титульную страницу целиком (см. выше).

 
 
 
 Re: Правка титульника в классе disser
Сообщение27.09.2013, 14:34 
Аватара пользователя

(Оффтоп)

algia в сообщении #766935 писал(а):
Если нужно кардинально переработать титульный лист, а не просто поменять расстояния, скопируйте наиболее подходящий .rtx к себе, переименуйте, например, в titleautoref.tex, отредактируйте и в преамбуле нужного документа соответственно переопределите \maketitle:
Переименовывать и переопределять ничего не нужно. Достаточно просто скопировать и отредактировать. Если в папке с документом есть файл candidate.rtx, то он будет использован вместо того, который по умолчанию.

 
 
 
 Re: Правка титульника в классе disser
Сообщение27.09.2013, 15:12 
Спасибо, это мне было неизвестно!

 
 
 [ Сообщений: 15 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group