我写了一份有 200 处参考文献的文档。(我的文档中的每个圆括号 (...) 都是一个搭配(这里是三个单词的组合),不应该被拆分。我想要的是仅在一行上有结构:“(ij)”。
解决此问题的一个可能的解决方案是使用全局定义,然后每次使用到此宏的链接:
\documentclass[11pt]{article}
\usepackage[a4paper,left=3.2cm,right=3.2cm,top=2cm,bottom=4cm,bindingoffset=5mm]{geometry}
\newcommand{\nobreakword}[1]{\mbox{#1}}
\begin{document}
\begin{flushleft}
"Und wir haben die Liebe erkannt und geglaubt, die Gott zu uns hat. Gott ist Liebe, und wer in der Liebe bleibt, der bleibt in Gott und Gott in ihm" \nobreakword{(1. Johannes 4,16)}
"Der HERR ist mir erschienen von ferne: Ich habe dich je und je geliebt, darum habe ich dich zu mir gezogen aus lauter Güte." \nobreakword{(Jeremia 31,3)}
"Denn so hat Gott die Welt geliebt, dass er seinen eingeborenen Sohn gab, damit jeder, der an ihn glaubt, nicht verloren geht, sondern ewiges Leben hat.'' \nobreakword{(Joh. 3,16)}
\end{flushleft}
\end{document}
圆括号内的句子结构不应在不使用 \nobreakword{(...)} 的情况下被破坏,因为这会花费大量时间。LaTex 应该手动识别圆括号 (...) 导致的搭配,并且不会将其拆分。
我猜 LaTex 无法读取以“(”开头并以“)”结尾的模式,并自动识别这些符号(无需在文本中直接写入“\”命令)声明包括圆括号在内的文本必须位于同一行。或者有可能吗?
答案1
如果您只有括号内的引用而没有其他花哨的东西……甚至没有嵌套,那么您可以将其(
激活并捕获其间的内容(...)
来管理它:
\documentclass{article}
\newcommand{\nobreakword}[1]{\mbox{#1}}
\begin{document}
\raggedright
BEFORE\ldots
``Und wir haben die Liebe erkannt und geglaubt, die Gott zu uns hat. Gott ist Liebe, und wer in der Liebe bleibt, der bleibt in Gott und Gott in ihm'' (1.\ Johannes 4,16)
``Der HERR ist mir erschienen von ferne: Ich habe dich je und je geliebt, darum habe ich dich zu mir gezogen aus lauter Güte.'' (Jeremia 31,3)
``Denn so hat Gott die Welt geliebt, dass er seinen eingeborenen Sohn gab, damit jeder, der an ihn glaubt, nicht verloren geht, sondern ewiges Leben hat.'' (Joh.\ 3,16)
\let\oldlbrack( % Store old meaning of "("
\catcode`\(\active % Make "(" active
\def(#1){\nobreakword{\oldlbrack{}#1)}} % Define "(" to capture everything between (..) and ...
% ... wrap it inside a \nobreakword.
AFTER\ldots
``Und wir haben die Liebe erkannt und geglaubt, die Gott zu uns hat. Gott ist Liebe, und wer in der Liebe bleibt, der bleibt in Gott und Gott in ihm'' (1.\ Johannes 4,16)
``Der HERR ist mir erschienen von ferne: Ich habe dich je und je geliebt, darum habe ich dich zu mir gezogen aus lauter Güte.'' (Jeremia 31,3)
``Denn so hat Gott die Welt geliebt, dass er seinen eingeborenen Sohn gab, damit jeder, der an ihn glaubt, nicht verloren geht, sondern ewiges Leben hat.'' (Joh.\ 3,16)
\end{document}
以下是对上述过程的简要介绍:如何让两个角色活跃起来?
供将来参考,如果您有一些重复性很强的内容,请考虑将其包装在宏中。这样您就可以在将来利用该宏并操纵其内容,而不必诉诸\catcode
诡计。
答案2
如果您的参考文献前面总是有引用的材料,您可以做以下事情:
\documentclass{article}
\usepackage{lipsum}
\makeatletter
\newcommand\myquote{\my@quote}
\def\my@quote(#1)#2{``#2''~\mbox{(#1)}}
\makeatother
\begin{document}
\myquote(1. Johannes 4,16){Und wir haben die Liebe erkannt und geglaubt, die Gott zu uns hat. Gott ist Liebe, und wer in der Liebe bleibt, der bleibt in Gott und Gott in ihm}
\end{document}
没有必要把来源放在第一位,我可以将其定义为
\def\my@quote#1(#2){``#1''~\mbox{(#2)}}
位于~
其中,以便参考本身不被孤立在一行上。