回答完这个问题之后如何使用标准 -(连字符)作为 hyphenat 包中的 \hyp{} 命令?,我决定不使用该 hack。然后,我正在寻找替代方案。
就我而言,使用"=
几乎和\hyp{}
因为我在 Sublime Text 上编写 Latex 代码一样困难,而且我使用这个包https://github.com/r-stein/sublime-text-latex-smart-quotes这样做的目的是:
即,当我按下时,"
它会发送``
并''
根据我在单词上的位置:https://github.com/r-stein/sublime-text-latex-smart-quotes/issues/4
发送的唯一方式"
是按Ctrl+L
、、,这与打字一样困难。L
"
\hyp{}
"
我喜欢这个功能,因为除非我想做,否则我永远不需要使用它"=
,但我更喜欢保留https://github.com/r-stein/sublime-text-latex-smart-quotes功能并使用除之外的其他东西"=
。
我可以像´=
(not `=
) 一样方便地将它绑定到某个东西吗?或者您建议其他东西吗?
然后,我可以像这样使用它something´=hyphenated
,而不是something"=hyphenated
我尝试这样做:\newcommand{´=}{\hyp{}}
但是乳胶不喜欢它:
test1.tex: LaTeX Error: Missing \begin{document}.
更新 1
我发现这个问题如何用连字符连接带有姓氏的参考文献?提出了这一点,但没有效果:
\documentclass[10pt,a5paper,twoside]{article}
\usepackage{hyphenat}
\usepackage[english]{babel}
\defineshorthand{´=}{\hyp{}}
\begin{document}
\section{Show font}
Tests.
Encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding.
Encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding.
Encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding.
\end{document}
更新 2
看完之后http://linorg.usp.br/CTAN/macros/latex/required/babel/base/babel.pdf我设法让它工作:
\documentclass[10pt,a5paper,twoside]{article}
\usepackage{hyphenat}
\usepackage[english]{babel}
\useshorthands{"}
\defineshorthand{"=}{\hyp{}}
\begin{document}
\section{Show font}
Tests.
Encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding.
Encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding"=encoding.
Encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding´=encoding.
Encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding.
\end{document}
但是当使用类似的东西时:
\useshorthands{´}
\defineshorthand{´=}{\hyp{}}
Latex 抛出此错误:
Package babel Info: Making an active character on input line 5.
test1.tex:5: LaTeX Error: Missing \begin{document}.
答案1
我设法用 来创建这个简写它在!-
,但!
单独之后会断词。例如,This is! Sparta.
将显示为This is!Sparta.
然后,如果这不会破坏其他任何东西而不是 。这会破坏 Latex 文本编辑器语法解析。他们认为我们在使用一些 后处于数学模式!-
,我想我会使用$-
word$-thing
。最后,使用~-
不会破坏任何东西,因为即使~
单独使用,它也会像缩进一样工作,~--~
使用破折号时它会中断。也许最后,使用
~=
不会破坏任何东西,因为即使~
单独使用,它也能按缩进方式工作:
\documentclass[10pt,a5paper,twoside]{article}
\usepackage{hyphenat}
\usepackage[english]{babel}
\useshorthands{~}
\defineshorthand{~-}{\hyp{}}
\begin{document}
\section{Show font}
Tests.
Encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding-encoding.
Testing~This motherfoer1.
Testing~ This motherfoer2.
Encoding~-encoding~-encoding~-encoding~-encoding~-encoding~-encoding~-encoding~-encoding~-encoding.
Encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding\hyp{}encoding.
\end{document}
另请参阅有关可能导致的问题的其他问题~=
:
- 根据 Babel 语言设置,我收到 BibLaTeX 错误“\language@active@arg 的参数”有一个额外的}。
- !\language@active@arg 的参数有一个额外的 }。(我使用 \includegraphics 和 russian)
它们通常通过在字符{}
后添加一个空组来修复~
,即,\renewcommand{\lstlistingname}{Code~{}}
而不是仅仅\renewcommand{\lstlistingname}{Code~}