我正在尝试为我的妈妈排版一本圣经,但遇到了一些问题,希望有人能帮忙。
首先,我先从一个简单的问题开始。我目前使用两列,并在中间添加一条线将它们分开,如下所示:
\documentclass[twoside,twocolumn]{book}
\setlength{\columnseprule}{0.5pt}
我使用后\maketitle
会插入一个空白页(因为它不想在背面开始新内容),但列分隔线仍然显示。如何让和\columnseprule
不\headrule
显示在空白页上?文档中的任何其他空白页上都不会出现这种情况。
现在难题来了……在标题中,我希望格式为 < 书名 > < 章节号 >:< 诗节号 >,其中章节和诗节号是出现在页面上的第一个章节/诗节(偶数 [反面] 页)或出现在页面上的最后一章/诗节(奇数 [正面] 页)。我几乎已经让奇数页样式正常工作,但它工作得不太好,我不知道为什么。我有图片来展示我的问题,不幸的是,由于这是我第一次为这个网站做贡献,我没有足够的声誉来发布图片。
总体来说,它似乎工作正常。大多数页面都显示正确,但偶尔显示的诗句编号会偏离一页,要么比应有的页数多一页,要么比应有的页数少一页。我怀疑这与 LaTex 决定放置分页符的时间有关,但我不知道如何解释这一点。
我根本不知道如何开始偶数(背面)页面样式。
我正在尝试使我的代码非常可配置,因此它非常复杂,但我会尝试在这里发布适用的部分。[如果您复制并粘贴此内容,它将无法编译,因为我为所有内容编写了自定义命令……抱歉。]主要命令的描述如下。感谢您的帮助!
\newcommand{\jnumChapters}{0}
\newcommand{\jnumVerses}{0}
\newcommand{\jChapter}[1]{
\ifthenelse{#1=1}{\renewcommand{\jnumChapters}{#1}}
{\renewcommand{\jnumChapters}{#1}\par\bigskip\lettrine{{\textcolor{special}{#1}}}{}}}
\newcommand{\jverse}[3]{\ifthenelse{\boolean{ParaFormat}}
{\ifthenelse{#1=1}
{\noindent\jverseFormat{#1}{#3}}
{#2{\jChapterNumFormat{#1}} {\jverseFormat{#1}{#3}}}}
{\ifthenelse{#1=1}
{\noindent\jverseFormat{#1}{#3}\smallskip\newline}
{\noindent {\jChapterNumFormat{#1}} #2{\jverseFormat{#1}{#3}}\par\smallskip}}\renewcommand{\jnumVerses}{#1}}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO]{{\chaplabel} {\jnumChapters}:{\jnumVerses}}
\jChapter{< Chapter# >}
格式化每个章节的章节编号。我对每本书的第一个章节编号的格式化都与其他所有章节的格式化都不同(因此有以下声明\ifthenelse
)。
\jverse{< Verse# >}{< Paragraph Indicator >}{< Verse Text >}
单独格式化每节经文。如果文本不按逐节格式格式化,段落指示器只会让我知道该节经文是否需要开始新的段落。
编辑#1 美国东部时间2013年8月24日上午11:16:
谢谢 Mico,添加\setlength{\columnseprule}{0pt}
前 \maketitle
有效。之后我一直在尝试。
这是我所能做的最简洁的展示,以大致展示我试图做的事情。问题是为了展示页码问题,我必须输入大约 5 页的诗句,这会让这篇文章变得更加冗长。如果有人对我应该在哪里发布它有建议,我很乐意发布/通过电子邮件发送包含所有这些内容的 Genesis.tex 文件。
我制作自定义命令的理由是让我能够不受约束地进行修改和自定义。我仍然可以通过将它们嵌入到或中使用\section
或,但这让我可以选择其他路线。使用已经定义的 LaTex 命令可能更好,在这种情况下,我稍后会清理代码。\paragraph
\jverse
\jChapter
再次感谢!
\documentclass[twoside,twocolumn,letterpaper]{book}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lettrine}
\usepackage{fancyhdr}
\newcommand{\jChapter}[1]{\par\bigskip\lettrine{{\textcolor{red}{#1}}}{}\renewcommand{\jnumChapters}{#1}}
\newcommand{\jverseFormat}[1]{#1}
\newcommand{\jChapterNumFormat}[1]{\textcolor{cyan}{\textbf{#1}}}
\newcommand{\jverse}[3]{\noindent{\jChapterNumFormat{#1}} #2{\jverseFormat{#3}}\par\smallskip\renewcommand{\jnumVerses}{#1}}
\newcommand{\jBracketWord}[1]{\emph{#1}}
\newcommand{\jParaSymbol}[0]{{}}
\raggedright
\setlength{\columnseprule}{0.5pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO]{{\chaplabel} {\jnumChapters}:{\jnumVerses}}
\renewcommand{\headrulewidth}{0pt}
\setlength{\headwidth}{\textwidth}
\addtolength{\headwidth}{\marginparsep}
\addtolength{\headwidth}{\marginparwidth}
\newcommand{\chaplabel}{}
\newcommand{\jnumChapters}{0}
\newcommand{\jnumVerses}{0}
\begin{document}
\frontmatter
\title{The Holy Bible}
\date{}
\author{}
\setlength{\columnseprule}{0pt}
\maketitle
%\tableofcontents
\mainmatter
\part*{The Old Testament}
\renewcommand{\jnumChapters}{0}
\chapter{Genesis}
\renewcommand{\chaplabel}{Genesis}
\jChapter{1}
\jverse{1}{}{In the beginning God created the heaven and the earth.}
\jverse{2}{}{And the earth was without form, and void; and darkness \jBracketWord{was} upon the face of the deep. And the Spirit of God moved upon the face of the waters.}
%\input{./Genesis.tex}
\end{document}
现在我有 10 个代表,我可以发布一张图片了。
答案1
正如我在评论中所写,我通常会使用不同的方法。因此,即使您自己的答案有效,我仍添加了此解决方案以确保完整性:
\documentclass[twoside,twocolumn,letterpaper,11pt]{book}
\usepackage[T1]{fontenc}
\usepackage{ebgaramond}
\usepackage{lipsum}
\usepackage{fixltx2e}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lettrine}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO,LE]{\rightmark}
\renewcommand{\headrulewidth}{.5pt}
\setlength{\headwidth}{\textwidth}
\setlength{\headheight}{15pt}
\setlength{\headsep}{0pt}
\setlength{\columnseprule}{0pt}
\clubpenalty10000
\widowpenalty10000
\makeatletter
\newcommand\versenumcolor{red}
\newcommand\chapnumcolor{red}
\renewcommand\paragraph{%
\@startsection{paragraph}{4}{\z@}%
{.25ex \@plus.25ex \@minus.1ex}%
{-.5em}%
{\normalfont\normalsize\bfseries\color{\versenumcolor}}}%
\newlength{\biblechapskip}
\setlength{\biblechapskip}{1em plus .33em minus .2em}
\newcounter{biblechapter}
\newcounter{bibleverse}[biblechapter]
\renewcommand\chaptername{Book}
\let\ltx@chapter=\chapter
\let\ltx@paragraph=\paragraph
\newcommand{\book}[1]{%
\gdef\currbook{#1}
\ltx@chapter{#1}}
\newcount\biblechap@svdopt
\newenvironment{biblechapter}[1][\thebiblechapter]
{\biblechap@svdopt=#1
\ifnum\c@biblechapter=\biblechap@svdopt\else
\advance\biblechap@svdopt by -1\fi
\setcounter{biblechapter}{\the\biblechap@svdopt}
\refstepcounter{biblechapter}
\lettrine{\color{\chapnumcolor}\lower-6pt\hbox{\thebiblechapter}}{}\ignorespaces}
{\vspace{\biblechapskip}}
\renewcommand{\verse}[1][\thebibleverse]{%
\refstepcounter{bibleverse}
\markright{{\scshape\currbook} \thebiblechapter:\thebibleverse}
\ifnum\c@bibleverse=1\else
\ltx@paragraph*{#1}\fi}%
\makeatother
\title{The Holy Bible}
\date{}
\author{}
\begin{document}
\frontmatter
\maketitle
\tableofcontents
\mainmatter
\part*{The Old Testament}
\setlength{\columnseprule}{.5pt}
\book{Genesis}
\begin{biblechapter}
\verse In the beginning God created the heaven and the earth.
\verse And the earth was without form, and void; and darkness was upon the face of the deep. And the Spirit of God moved upon the face of the waters.
\verse \lipsum[3]
\end{biblechapter}
\begin{biblechapter}
\verse \lipsum[4]
\verse \lipsum[5]
\verse \lipsum[6]
\end{biblechapter}
\begin{biblechapter}
\verse \lipsum[7]
\verse \lipsum[8]
\verse \lipsum[9]
\end{biblechapter}
\begin{biblechapter}
\verse \lipsum[10]
\verse \lipsum[11]
\verse \lipsum[12]
\end{biblechapter}
\begin{biblechapter}
\verse \lipsum[13]
\verse \lipsum[14]
\verse \lipsum[15]
\end{biblechapter}
\end{document}
答案2
事实证明答案比我做的要简单得多。\markboth{}{}
、\leftmark
和\rightmark
命令解决了我遇到的标题格式问题。 感谢 Mico 回答了我的第二个问题。 以下是经过修复后可以正常工作的 MWE。
\documentclass[twoside,twocolumn,letterpaper]{book}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}
\usepackage{lettrine}
\usepackage{fancyhdr}
\usepackage{fixltx2e}
\newcommand{\jChapter}[1]{\par\bigskip\lettrine{{\textcolor{red}{#1}}}{}\markboth{\chaplabel\ #1:1}{\chaplabel\ #1:1}\renewcommand{\jnumChapters}{#1}}
\newcommand{\jverseFormat}[1]{#1}
\newcommand{\jChapterNumFormat}[1]{\textcolor{cyan}{\textbf{#1}}}
\newcommand{\jverse}[3]{\noindent{\jChapterNumFormat{#1}\markboth{\chaplabel\ \jnumChapters :#1}{\chaplabel\ \jnumChapters :#1}} #2{\jverseFormat{#3}}\par\smallskip\renewcommand{\jnumVerses}{#1}}
\newcommand{\jBracketWord}[1]{\emph{#1}}
\newcommand{\jParaSymbol}[0]{{}}
\raggedright
\setlength{\columnseprule}{0.0pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO]{\leftmark}
\fancyhead[LE]{\rightmark}
\renewcommand{\headrulewidth}{0pt}
\setlength{\headwidth}{\textwidth}
\addtolength{\headwidth}{\marginparsep}
\addtolength{\headwidth}{\marginparwidth}
\newcommand{\chaplabel}{}
\newcommand{\jnumChapters}{0}
\newcommand{\jnumVerses}{0}
\begin{document}
\frontmatter
\title{The Holy Bible}
\date{}
\author{}
\setlength{\columnseprule}{0pt}
\maketitle
%\tableofcontents
\mainmatter
\part*{The Old Testament}
\setlength{\columnseprule}{0.0pt}
\renewcommand{\jnumChapters}{0}
\chapter{Genesis}
\renewcommand{\chaplabel}{Genesis}
\jChapter{1}
\jverse{1}{}{In the beginning God created the heaven and the earth.}
\jverse{2}{}{And the earth was without form, and void; and darkness \jBracketWord{was} upon the face of the deep. And the Spirit of God moved upon the face of the waters.}
%\input{./Genesis.tex}
\end{document}