对于这篇文章的长度,我提前表示歉意……
以下 MWE 包含我定义的枚举环境:
\documentclass{memoir}
\usepackage{multicol}
\usepackage{enumitem}
\newlist{argo}{enumerate}{1}
\setlist[argo,1]{label=\arabic*.}
\newcommand{\prem}{\item}
\newcommand{\conc}{\rule{.3\linewidth}{1pt}\\[0em]\vspace{-3ex} \item[C.]}
\begin{document}
\begin{argo}
\prem Blah
\prem Blah
\conc Blah
\end{argo}
\begin{multicols}{3}
\begin{argo}
\prem Blah
\prem Blah
\conc Blah
\end{argo}
\begin{argo}
\prem Blah
\prem Blah
\conc Blah
\end{argo}
\begin{argo}
\prem Blah
\prem Blah
\conc Blah
\end{argo}
\begin{argo}
\prem Blah
\prem Blah
\conc Blah
\end{argo}
\end{multicols}
\end{document}
我最希望实现的是一个以前提-结论形式排版论证的环境,其中会自动插入一条规则以将前提与结论分开。我之所以包括它,是multicols
因为列似乎会把事情搞乱。
以下是 PDF,其中的列表工作正常:
然而,一旦我将这个列表定义嵌入到我的 .cls 文件中,行为就会发生变化,规则不再正确缩放到 1/3 行宽。如下所示:
这是.cls
我正在使用的自定义文件:
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{dkhandout}[2014/05/04 DK Handout]
\LoadClass[article,oneside,oldfontcommands]{memoir}
%%%%%LOAD FOLLOWING PACKAGES%%%%%
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\RequirePackage{geometry}
\let\footruleskip\undefined % makes memoir compatible with fncyhdr
\RequirePackage{fancyhdr}
\RequirePackage{tikz}
\RequirePackage{datetime}
\RequirePackage{etoolbox}
\RequirePackage{enumitem}
\RequirePackage{multicol}
%%%%%CLASS OPTIONS%%%%%%%%%%%%
\DeclareOption{10pt}{
\PassOptionsToClass{\CurrentOption}{memoir}
}
\DeclareOption{11pt}{
\PassOptionsToClass{\CurrentOption}{memoir}
}
\DeclareOption{12pt}{
\PassOptionsToClass{\CurrentOption}{memoir}
}
%% Fallback
\DeclareOption*{
\ClassWarning{myclass}{Unknown option '\CurrentOption'}
}
%%%%%DEFAULT CLASS OPTIONS%%%%%%%
\ExecuteOptions{10pt}
%%%%%PROCESS OPTIONS%%%%%%%%%%
\ProcessOptions\relax
%%%%%HEADER OPTIONS%%%%%%%%%%%
\pagestyle{fancy}
\lhead{\thetitle}
\rhead{Phil 164 - \ifnumcomp{\value{MONTH}}{<}{7}{Spring}{Fall} \the\year}%
\fancypagestyle{plain}{%
\lhead{\thetitle}%
\rhead{Phil 164 - \ifnumcomp{\value{MONTH}}{<}{7}{Spring}{Fall} \the\year}%
}
%%%%%DOCUMENT FORMATTING%%%%%%%
% Title flush left and compact spacing
\pretitle{\vspace*{-10ex}\flushleft\Large\bfseries}
\posttitle{\par\vspace{0em}}
\preauthor{\par\vspace{0em}}
\postauthor{\par\vspace{0em}}
\predate{\par\vspace{0em}}
\postdate{\par\vspace{5ex}}
% No paragraph indentation
\setlength{\parindent}{0pt}
\nonzeroparskip
% Blank date and author
\date{}
\author{}
% New argument environment "argo"
\newlist{argo}{enumerate}{1}
\setlist[argo,1]{label=\arabic*.}
\newcommand{\prem}{\item}
\newcommand{\conc}{\rule{.3\linewidth}{1pt}\\ \relax \vspace{-3ex} \item[C.]}
%%%%%END OF CLASS%%%%%%%%%%%%%
\endinput
一些修修补补给了我一种模糊的印象fancyhdr
,这是罪魁祸首,但这是我的第一次.cls
,所以我可能在更基本的层面上做错了什么。
那么这里出了什么问题?当我将列表定义放入 .cls 文件中时,为什么规则(并且只有规则)会变得混乱?
答案1
将评论转换为答案
使用\columnwidth
而\linewidth
不是
\newcommand{\conc}{\rule{.3\columnwidth}{1pt}\par \vspace{-1ex} \item[C.]} Note \columnwidth
得出: