Substituir/remover caractere anterior em LaTeX

Substituir/remover caractere anterior em LaTeX

Estou procurando um comando em LaTeX que substitua ou remova os caracteres anteriores que foram criados automaticamente por um pacote que eu uso.


estou usando opacote jurabibpara minhas citações. Por exemplo com este comando:

\cite[Pages 3-5]{key}

Possui a opção de criar automaticamente uma vírgula antes do intervalo de páginas ( commabeforerest). É disso que preciso para a maioria das citações. Isso seria parecido com:

Author, Title, Pages 1-3.

Há uma citação onde não preciso da vírgula. Então, eu quero saber se existe uma maneira de substituir os dois caracteres anteriores (o espaço e a vírgula criados automaticamente), para que eu pudesse usar algo como este comando para minha citação especial:

\cite[\OverwritePreviousChars{2} Pages 4-6]{key}

O que criaria isso:

Author, Title Pages 4-6.

Responder1

Você pode redefinir a chave usada pelo commebeforest. Mas é naturalmente muito mais fácil simplesmente digitar as informações da página após \cite.

\documentclass{article}
\usepackage{jurabib}
\bibliographystyle{jurabib}
\jurabibsetup{ commabeforerest,}

\begin{document}
\cite[Pages 3-5]{doody}

{\makeatletter\jb@comma@before@restfalse\makeatother 
\cite[Pages 3-5]{doody}}

\cite{doody} Pages 3-5

\bibliography{biblatex-examples}
\end{document}

insira a descrição da imagem aqui

Responder2

Não tenho reputação de comentar, então posto como resposta. No LuaTeX você pode realmente remover o caractere anterior que o TeX viu! Hans falou sobre isso nesteartigo, curiosamente com o mesmo propósito de lidar com bits e bobs bibliográficos.

informação relacionada