我想使用为我的大学制作的标题页包ku-forside
,可以在这里。
该网站是丹麦语的,因此我将把说明(简要地)翻译成英语:点击“Zip-fil med ku-forside pakken”以 .zip 文件形式下载包,需要将其解压到 TEXMF\tex\latex(我使用 MikTeX,即 MikTeX\tex\latex)。更新 FNDB。
现在,我的标题太长,一行都写不完,需要分成多行。该包破坏了自动换行功能,这种\maketitle
功能非常漂亮,而且不允许我手动使用 换行\\
。为了更好的措施,该包会转换\title
为 丹麦语\titel
,\author
再转换为 丹麦语\forfatter
等。
也许您只需查看 ku-forside.sty(部分缩短为仅包含我使用的选项,即“titelside”),然后使用我的 MWE 重现该问题(如下)即可知道导致问题的原因:
% KU-forside pakke. Forsider til opgaver skrevet på Københavns Universitet
% Skrevet af Christian Aastrup. Designet af forsiderne følger det på http://www.ku.dk/designmanual
%
\ProvidesPackage{ku-forside}[2007/07/07 v1.0 Frontpages with University of Cph. logos]
%
%Definerer Standard SPROG/AFDELING/FARVE
\def\SPROG{da}\def\FARVE{farve}\def\AFDELING{nat}\def\FORSIDE{titelside}
%
% Laver SPROG-mulighederne til 'if's
\newif\if@en \newif\if@da
%
% Laver AFDELINGS-mulighederne til 'if's
\newif\if@ku \newif\if@farma \newif\if@hum
\newif\if@jur \newif\if@life \newif\if@nat
\newif\if@samf \newif\if@sund \newif\if@teo
%
% Laver FARVE-mulighederne til 'if's
\newif\if@farve \newif\if@sh
%
% Laver FORSIDE-mulighederne til 'if's
\newif\if@titelside \newif\if@stor \newif\if@lille
%
\newif\if@babel \DeclareOption{babel}{\@babeltrue}
%
% Erklærer sprogene som 'options' i pakke-kaldet
\DeclareOption{en}{\@entrue} \DeclareOption{da}{\@datrue}
%
% Erklærer afdelingerne som 'options' i pakke-kaldet
\DeclareOption{ku}{\@kutrue} \DeclareOption{farma}{\@farmatrue} \DeclareOption{hum}{\@humtrue}
\DeclareOption{jur}{\@jurtrue} \DeclareOption{life}{\@lifetrue} \DeclareOption{nat}{\@nattrue}
\DeclareOption{samf}{\@samftrue} \DeclareOption{sund}{\@sundtrue} \DeclareOption{teo}{\@teotrue}
%
% Erklærer farverne som 'options' i pakke-kaldet
\DeclareOption{farve}{\@farvetrue} \DeclareOption{sh}{\@shtrue}
%
% Erklærer forsidemulighederne som 'options' i pakke-kaldet
\DeclareOption{lille}{\@lilletrue} \DeclareOption{stor}{\@stortrue}
\DeclareOption{titelside}{\@titelsidetrue}
%
\ProcessOptions\relax
%
% Definerer hvad der skal ske når sprogene er TRUE
\if@en \def\SPROG{en} \fi \if@da \def\SPROG{da} \fi
%
% Definerer hvad der skal ske når afdelingerne er TRUE
\if@ku \def\AFDELING{ku} \fi \if@farma \def\AFDELING{farma} \fi \if@hum \def\AFDELING{hum} \fi
\if@jur \def\AFDELING{jur} \fi \if@life \def\AFDELING{life} \fi \if@nat \def\AFDELING{nat} \fi
\if@samf \def\AFDELING{samf} \fi \if@sund \def\AFDELING{sund} \fi \if@teo \def\AFDELING{teo} \fi
%
% Definerer hvad der skal ske når farverne er TRUE
\if@sh \def\FARVE{sh} \fi \if@farve \def\FARVE{farve} \fi
%
% Definerer hvad der skal ske når de forskellige forsidemuligheder er TRUE
\if@stor \def\FORSIDE{stor} \fi \if@lille \def\FORSIDE{lille} \fi
\if@titelside \def\FORSIDE{titelside} \fi
%
\def\OPGAVE{$\backslash$opgave$\{\ldots\}$}
\def\FORFATTER{$\backslash$forfatter$\{\ldots\}$ el. $\backslash$author$\{\ldots\}$ }
\def\TITEL{$\backslash$titel$\{\ldots\}$ el. $\backslash$title$\{\ldots\}$}
\def\UNDERTITEL{$\backslash$undertitel$\{\ldots\}$}
\def\VEJLEDER{$\backslash$vejleder$\{\ldots\}$}
\def\AFLEVERINGSDATO{$\backslash$dato$\{\ldots\}$ el. $\backslash$date$\{\ldots\}$}
%
\renewcommand{\author}[1]{\def\FORFATTER{#1}}
\renewcommand{\title}[1]{\def\TITEL{#1}}
\renewcommand{\date}[1]{\def\AFLEVERINGSDATO{#1}}
%
\newcommand{\opgave}[1]{\def\OPGAVE{#1}}
\newcommand{\forfatter}[1]{\def\FORFATTER{#1}}
\newcommand{\titel}[1]{\def\TITEL{#1}}
\newcommand{\undertitel}[1]{\def\UNDERTITEL{#1}}
\newcommand{\vejleder}[1]{\def\VEJLEDER{#1}}
\newcommand{\dato}[1]{\def\AFLEVERINGSDATO{#1}}
%
% Pakker nødvendige for at sætte forsiden op %
%
%\RequirePackage[OT2,OT4]{fontenc}
\RequirePackage{eso-pic,graphicx,fix-cm,ae,aecompl,ifthen} %
%\RequirePackage[usenames]{color}
\RequirePackage{color} %
%% BABEL-option: Undersøger det erklærede sprog og sætter pakken Babel derefter %%
\if@babel
\ifthenelse{\equal{\SPROG}{en}}{\RequirePackage[danish,english]{babel}}{} % Engelsk ordeling, overskrifts- og kapitel struktur %
\ifthenelse{\equal{\SPROG}{da}}{\RequirePackage[english,danish]{babel}}{} % Dansk ordeling, overskrifts- og kapitel struktur %
% Bemærk at begge sprog indlæses. Rækkefølgen er vigtig, idet det er det sidste sprog som dokumnetet generelt sættes i. %
% Det andet sprogs orddeling mm. kan man få fat i ved at skrive \selectlanguage{sprog} i brødteksten %
\fi
%
%% FORSIDEN DEFINERES: %
%
% Mulighed: titelside
\ifthenelse{\equal{\FORSIDE}{titelside}}{
\def\tyk{\fontfamily{phv}\fontseries{bx}\selectfont} %Bold extended %
\def\tynd{\fontfamily{phv}\fontseries{sb}\selectfont} % Semi-bold %
\def\maketitle{\thispagestyle{empty} %
\AddToShipoutPicture*{\put(0,0){\includegraphics*[viewport=0 0 700 600]{\AFDELING-\FARVE}}}% %
\AddToShipoutPicture*{\put(0,602){\includegraphics*[viewport=0 600 700 1600]{\AFDELING-\FARVE}}}% %
\AddToShipoutPicture*{\put(0,0){\includegraphics*{\AFDELING-\SPROG}}}% %
\AddToShipoutPicture*{\put(50,583.5){\fontsize{20 pt}{22 pt} \tyk \OPGAVE }} % %
\AddToShipoutPicture*{\put(50,555.3){\fontsize{14 pt}{16 pt} \tynd \FORFATTER }} % %
\AddToShipoutPicture*{\put(50,499){\fontsize{22 pt}{24 pt} \tynd \TITEL }} % %
\AddToShipoutPicture*{\put(50,480.5){\fontsize{14 pt}{16 pt} \tynd \UNDERTITEL }} % %
\AddToShipoutPicture*{\put(50,92){\fontsize{11 pt}{12 pt} \tynd \VEJLEDER }} % %
\AddToShipoutPicture*{\put(50,66.7){\fontsize{11 pt}{12 pt} \tynd \AFLEVERINGSDATO }} % %
\phantom{Usynlig, men nødvendig} %
\newpage \noindent}}{}
以下是针对我的问题的 MWE:
\documentclass[12pt,letterpaper,usenames]{article}
\usepackage[paperheight=297mm,paperwidth=212mm,margin=2.54cm]{geometry}
\usepackage[round,numbers]{natbib}
\usepackage[babel, titelside, nat,farve, en]{ku-forside}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Titel %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\titel{A title that is too long for\\ one line: It\newline needs to break, please break} %
\undertitel{} %
\opgave{Bachelor Thesis} % Findes kun under 'titelside'
\forfatter{Mememememememe}%
\dato{\today}%
\vejleder{Supervisor Name} % Findes kun under 'titelside'
\begin{document}
\maketitle
\end{document}
答案1
一种解决方法是将标题放在\parbox
. 注释中,ae
并且ae-compl
不应再使用。我还用 替换了\RequirePackage[usenames]{color}
(\RequirePackage{xcolor}
在这种情况下 usenames 是默认的)。此外,正如 cfr 指出的那样,我认为在丹麦不应使用 letterpaper 格式。
\documentclass[12pt]{article}
\usepackage[paperheight=297mm,paperwidth=212mm,margin=2.54cm]{geometry}
\usepackage[round,numbers]{natbib}
\usepackage[babel, titelside, nat, farve, en]{ku-forside}% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Titel %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\titel{\parbox{\linewidth}{A title that is too long for\\ one line: It\\ needs to break, please break}} %
\undertitel{} %
\opgave{Bachelor Thesis} % Findes kun under 'titelside'
\forfatter{Mememememememe}%
\dato{\today}%
\vejleder{Supervisor Name} % Findes kun under 'titelside'
\begin{document}
\maketitle
\end{document}
答案2
这可以相当简单地解决问题,但这可能不是最好的方法。\parbox
Bernard 也建议使用 A 来解决。
我确实遇到了此包的错误,即使包中只包含示例。我认为它可能已经过时了。它无论如何都能编译,但可能会导致问题。color
-package 有一个选项冲突,我相信现在其他一些包也添加了这个选项。我通过注释-file\RequirePackage[usenames]{color} %
中的行解决了这个问题ku-forside.sty
,这应该是一个安全的修复方法。
我可能会告诉负责该模板的人请更新它。
\documentclass[12pt,letterpaper,usenames]{article}
\usepackage[paperheight=297mm,paperwidth=212mm,margin=2.54cm]{geometry}
\usepackage[round,numbers]{natbib}
\usepackage[babel, titelside, nat,farve, en]{ku-forside}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Titel %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\titel{\parbox{\textwidth}{A title that is too long for one line: It\\ needs to break, please break}} %
\undertitel{} %
\opgave{Bachelor Thesis} % Findes kun under 'titelside'
\forfatter{Mememememememe}%
\dato{\today}%
\vejleder{Supervisor Name} % Findes kun under 'titelside'
\begin{document}
\maketitle
\end{document}