禁用脚注中的连字符

禁用脚注中的连字符

我想禁用脚注中的连字符,因为我有针对特殊程序的特殊代码,读者应该将此代码复制到他的程序中,因此代码中有连字符(“-”)是不好的。请参阅第三行中的示例。

\documentclass[a4paper,12pt]{scrartcl} 
\usepackage[T1]{fontenc}
\usepackage[ngerman, frenchb]{babel}
\frenchbsetup{StandardLayout=true}
\usepackage[automark]{scrpage2}
\deffootnote{1em}{1em}{\textsuperscript{\thefootnotemark\ }}

\usepackage[automark]{scrpage2}


\begin{document}
This is a test\footnote{\#vfini :[cat="Snt" \& type="VFin"] \& \#vfini >L \#v :[ ] \& \#before\_v :[ ] .* \#v \& \#cat3 :[cat!=/(Rfc|Apst|Ng)/] >* \#before\_v \& \#cat3 >@l \#cat3\_init :[ ] \& \#before\_cat3\_init :[ ] . \#cat3\_init \& \#cat2 :[cat ="Circ"] >* \#before\_cat3\_init \& \#cat2 >@l \#cat2\_init :[ ] \& \#before\_cat2\_init :[ ] . \#cat2\_init \& \#cat1 :[cat!=/(RelNC|Apst|Ng|Circ)/] >* \#before\_cat2\_init \& \#vfini > \#cat1 \& \#vfini > \#cat2 \& \#vfini > \#cat3 \& \#cat1 >@l \#cat1\_init :[ ] \& \#vfini >@l \#cat1\_init}

\end{document}

答案1

要禁用连字符,您可以使用\raggedright,\raggedleft\centering。但是,您将失去理由。要获得无连字符的理由,您可以更改相关惩罚\hyphenpenalty\exhyphenpenalty。可以找到定义惩罚的解释:什么是惩罚以及惩罚的具体定义是什么?

为了简化调用,可以定义以下宏:

\newcommand\nohyph{\hyphenpenalty=10000\relax\exhyphenpenalty=10000\relax} 

此宏可在任何地方使用。要将行为设置为本地,您可以调用:

\footnote{\nohyph <here your text>}

KOMA 允许对脚注内的字体进行全局修改。您只需将定义的宏添加到定义中即可:

\addtokomafont{footnote}{\nohyph}

将宏设置为\nohyph全局。

与您的示例相关,我得到了以下输出:

在此处输入图片描述

答案2

这看起来更像是逐字代码而不是文本。我会使用包\url中的宏urlobeyspaces这里的选项。
优点:您不需要转义&,#_

也许attachfile解决方案最好是给读者提供代码?

代码 (url

\documentclass[a4paper,12pt]{scrartcl} 
\usepackage[obeyspaces]{url}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\deffootnote{1em}{1em}{\textsuperscript{\thefootnotemark\ }}
\urlstyle{same}% comment out to get tt font.
\begin{document}
This is a test\footnote{%
\url{#vfini :[cat="Snt" & type="VFin"] & #vfini >L #v :[ ] & #before_v :[ ] .* #v & #cat3 :[cat!=/(Rfc|Apst|Ng)/] >* #before_v & #cat3 >@l #cat3_init :[ ] & #before_cat3_init :[ ] . #cat3_init & #cat2 :[cat ="Circ"] >* #before_cat3_init & #cat2 >@l #cat2_init :[ ] & #before_cat2_init :[ ] . #cat2_init & #cat1 :[cat!=/(RelNC|Apst|Ng|Circ)/] >* #before_cat2_init & #vfini > #cat1 & #vfini > #cat2 & #vfini > #cat3 & #cat1 >@l #cat1_init :[ ] & #vfini >@l #cat1_init}}
\end{document}

输出

在此处输入图片描述

代码 (attachfile

\documentclass[a4paper,12pt]{scrartcl} 
\begin{filecontents}{code1.txt}
#vfini :[cat="Snt" & type="VFin"] & #vfini >L #v :[ ] & #before_v :[ ] .* #v & #cat3 :[cat!=/(Rfc|Apst|Ng)/] >* #before_v & #cat3 >@l #cat3_init :[ ] & #before_cat3_init :[ ] . #cat3_init & #cat2 :[cat ="Circ"] >* #before_cat3_init & #cat2 >@l #cat2_init :[ ] & #before_cat2_init :[ ] . #cat2_init & #cat1 :[cat!=/(RelNC|Apst|Ng|Circ)/] >* #before_cat2_init & #vfini > #cat1 & #vfini > #cat2 & #vfini > #cat3 & #cat1 >@l #cat1_init :[ ] & #vfini >@l #cat1_init
\end{filecontents}
\usepackage{attachfile}
\attachfilesetup{color=.5 0 .5}
\hypersetup{hidelinks}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\deffootnote{1em}{1em}{\textsuperscript{\thefootnotemark\ }}
\begin{document}
This is a test\footnote{See \textattachfile{code1.txt}{code sampe 1}.}
\end{document}

输出

在此处输入图片描述

相关内容