Em um documento LaTeX que estou escrevendo, recebo um aviso de caixa cheia demais por causa da palavra "multidisciplinar", que é processada no final de uma linha.
Posso me livrar desse aviso em particular mudando-o para multi-discipli\-nary
, mas o mesmo problema acontecerá em outro lugar, já que essa palavra é muito usada no papel.
Eu gostaria de usar o \hyphenation{}
comando em vez disso, mas obviamente minha tentativa \hyphenation{multi-disci-pli-na-ry}
não funciona, porque ela não entende o primeiro travessão corretamente.
Qual encantamento eu preciso para obter o recuo correto em uma palavra que já contém um travessão?
Pergunta bônus: onde eu poderia encontrar a resposta para essa pergunta sozinho?
latex
hyphenation
Gyom
fonte
fonte
Respostas:
De https://texfaq.org/FAQ-nohyph :
Ou você poderia
\newcommand
um comando que se expande paramulti-discipli\-nary
(use Pesquisar + Substituir Tudo para substituir palavras existentes).fonte
\newcommand
todos os lugares (é por isso que estava procurando algo baseado em\hyphenation
). Eu acho que vou mantê-lo '' como está '' por padrão, e adicionar hifens explícitos manualmente quando o Latex reclamar de caixas excessivas.O problema (como KennyTM observou) é que o LaTeX não hifeniza palavras com travessões. Felizmente, existe um pacote padrão (parte do ncctools) que trata exatamente desse problema, chamado
extdash
. Isso define novos comandos de hífen e travessão que não interrompem a hifenização e que podem permitir ou evitar quebras de linha no hífen / travessão. Prefiro usá-lo com ashortcuts
opção, então posso usar, por exemplo, em\-/
vez de\Hyphdash
. Aqui está o que você deseja:\usepackage[shortcuts]{extdash}
...multi\-/disciplinary
Para evitar quebras nesse hífen, use
multi\=/disciplinary
(À parte: o Chicago Manual of Style aconselha descartar os hifens anexando afixos como 'multi', a menos que a palavra seja ambígua ou ininteligível sem ela.)
fonte
Package hyperref Warning: Token not allowed in a PDF string
. Lá, a outra solução proposta (\def\hyph{-\penalty0\hskip0pt\relax}
) funciona.\texorpdfstring
(que fornece compilação condicional para strings que vão para títulos de capítulos). Eu escondo usos dentro de macros semânticas (aqui, provavelmente\multidisciplinary
). Sim, não é perfeito.Eu uso pacote
hyphenat
e escrevo palavras compostas como palavra finlandesa Internet-yhteys (Eng. Conexão com a Internet ) comoInternet\hyp yhteys
. Parece bobo, mas parece ser a maneira mais elegante que encontrei.fonte
multi-disciplinary
não será hifenizado, conforme explicado por kennytm. Masmulti-\-disciplinary
tem as mesmas oportunidades de hifenização quemultidisciplinary
tem.Admito que não sei por que isso funciona. É diferente do comportamento descrito aqui (ênfase minha):
fonte
-
por-\-
não altera a saída, pelo menos com as configurações padrão em overleaf.com (provavelmente pdflatex, mas o verso na verdade não diz).Eu tive o mesmo problema. Eu uso hifenat mais a seguinte macro:
Observe que ele usa o pacote expl3 do latex3.
Torna o
-
um caractere ativo que avança para ver se é seguido por mais travessões. Em caso afirmativo, ele permanece um-
, para garantir--
e---
continuar funcionando. Se não, torna-se o\hyp
comando do hífenat, permitindo quebras de palavras no resto da palavra. Esta é uma solução genérica que faz com que todas as palavras que contenham hifens explícitos sejam hifenizadas normalmente.Note que
-
se torna uma macro que não é totalmente expansível, então tente incluí-la após carregar outros pacotes que podem não-
ser uma macroEdit: Esta é minha segunda versão, a primeira versão era menos robusta quando um
{
ou}
seguido de um hífen. Este não é, mas ao contrário da primeira versão, o-
nesta versão não é totalmente expansível.fonte
Você pode, por exemplo, definir como
e então escrever
Observe que o pacote do idioma russo babel tem seu próprio conjunto de travessões que não proíbem a hifenização,
"~
(aspas duplas + til) por exemplo.fonte
multi-\hskip0pt disciplinary
. Como em você MWE, ele vai hifenizar muito. Basta configurar\setlength{\textwidth}{0.1cm}
para tentar isso.Eu respondi algo semelhante aqui: LaTeX quebrando muitas palavras
Eu disse:
você deve definir uma penalidade de hifenização em algum lugar do seu preâmbulo:
O valor de 750 atendeu às minhas necessidades para um layout de duas colunas em papel carta (8,5 x 11 pol.) Com uma fonte de 12 pt. Ajuste o valor para atender às suas necessidades. Quanto maior o número, menos hifenização ocorrerá. Você também pode querer dar uma olhada no pacote de hifenização, ele fornece um pouco mais do que apenas penalidade de hifenização
fonte
Para evitar a hifenização em uma palavra já hifenizada, usei espaço ininterrupto
~
em combinação com espaço reverso\!
. Por exemplo, comandousado no texto, suprime a hifenização na palavra 3-D. Provavelmente não é a melhor solução, mas funcionou para mim!
fonte
\mbox{3-D}
.