Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
\ref 가 붉은색으로 표시되게 하고 싶습니다
2024.05.19 10:20
\ref{} 의 내용이 컴파일했을 때 붉은색으로 보이게 하려면 \newcommand\rref[1]{\textcolor{red}{\ref{#1}}} 와 같이 \rref 커맨드를 정의해서 사용하면 됩니다.
그런데 기존의 코드에서 \ref 만 붉은색으로 바꾸고 싶으면 어떡해야 할까요? (\ref를 모두 \rref로 바꾸자니 엄두가 안 납니다.)
\renewcommand 를 사용하면 될 것 같기는 한데 어떻게 해야 할지 모르겠습니다.
어디를 보면 이런 것을 공부할 수 있을까요?
댓글 12
-
ㅇㅇ
2024.05.19 14:35
-
byunss
2024.05.19 21:38
위에 나온 대로
\usepackage[colorlinks=true,linkcolor=green]{hyperref}%
및 여러가지 코드를 시도해 봤는데 링크 색깔이 안 바뀝니다.
첨부한 MWE에서 .sty 파일이나 preamble 을 어떻게 손보면 링크 색깔이 바뀔까요?
-
ㅇㅇ
2024.05.19 22:17
이미 찾으셨겠지만 \usepackage{mypackage_MeasureFourier} 로 부른 mypackage_MeasureFourier..sty 안에
\usepackage{hyperref}
\hypersetup{colorlinks=black,plainpages=black,linkcolor=black,citecolor=black}
와 같이 정의되어 있어, 이것보다 뒤에서 \usepackage[colorlinks=true,linkcolor=green]{hyperref} 로 부르셔도 미리 설정된 탓에 안 돌아 갈겁니다.mypackage_MeasureFourier..sty 내의 내용을 바꾸시거나 아니면 \hypersetup{colorlinks=true,linkcolor=green}처람 뒤에서 설정을 고쳐주는 식으로 고치셔야 할 겁니다.
그리고 mypackage_MeasureFourier..sty에서도 \hypersetup{colorlinks= 값은 true 혹은 false 입니다. black은 들어가지 못한다고 합니다.
-
byunss
2024.05.20 03:36
예 됩니다! 감사합니다!!
-
byunss
2024.05.20 07:20
링크 색을 바꾼 김에, 링크에 밑줄을 넣고 싶어서 .sty 파일에 아래와 같은 코드를 넣었습니다.
\hypersetup{colorlinks=true,plainpages=true,linkcolor=blue,citecolor=blue}
%링크에 색깔 넣는 코드. 출처는 http://www.ktug.org/xe/index.php?document_srl=269550
\makeatletter
\Hy@AtBeginDocument{%
\def\@pdfborder{0 0 1}% Overrides border definition set with colorlinks=true
\def\@pdfborderstyle{/S/U/W 1}% Overrides border style set with colorlinks=true
% Hyperlink border style will be underline of width 1pt
}
\makeatother
%링크에 밑줄 긋는 코드. 출처: tex.stackexchange.com : how-can-i-make-internal-links-both-colored-and-underlined이렇게 하니까 TeXstudio에서는 밑줄이 잘 보이는데, 컴파일한 pdf 파일에서는 밑줄이 안 보이네요?
pdf 파일에서도 밑줄이 보이게 하려면 어떻게 해야 할까요? -
byunss
2024.05.20 11:06
어도비 애크로뱃으로 pdf파일을 여니까 밑줄이 보이는데, 다른 앱으로(크롬, 빙, 알PDF) pdf 를 열면 안 보이는군요.
-
noname
2024.05.20 11:20
pdflinkborder라는 것은 "이 위치가 클릭할 수 있다"는 PDF 뷰어의 식별 표지입니다. 텍스트가 검정색이므로 링크 가능한 위치를 어떻게든 보여주기 위해 마련된 장치고요, 이 link border는 인쇄되지 않습니다. 즉, 그 자리에 실제 사각형이 존재하는 것이 아니라 추상적인 위치 표시일 뿐입니다.
따라서 colorlink 옵션을 주었다면 pdflinkborder는 불필요합니다. 색상이 "클릭 가능한 위치"를 시각적으로 식별하게 해주기 때문입니다.
pdflinkborder가 어떤 모양으로 표시되느냐는 것을, Acrobat은 설정할 수 있게 되어 있고(이건 그냥 뷰어 특성의 설정인 거죠), hyperref에서 pdflinkborder 옵션으로 줄 수 있게 되어 있는데 그래봤자 Acrobat이 아닌 뷰어는 이 코드를 해석하지 않습니다. (그럴 필요도 없지요.)
어디선가 가져오신 것으로 보이는 저 코드는 colorlink를 하면서 pdflinkborder도 보여주게 강제하는 것인데 왜 이런 걸 해야 하는지 저는 이해하지 못하겠습니다. 다시 말씀드리지만 link border는 "인쇄되지 않습니다".
정말로 원하시는 것이 pdflinkborder를 사각형이 아니라 밑줄로 표현하는 것입니까? 아니면 실제 ref에 (인쇄되는) 밑줄을 긋고 싶은 것입니까?
-
byunss
2024.05.20 11:29
실제 ref에 (인쇄되는) 밑줄을 긋고 싶습니다. 어떻게 하면 될까요? -
noname
2024.05.20 13:10
\newcommand*\ulref[1]{\underline{\ref{#1}}} \newcommand*\ulpageref[1]{\underline{\pageref{#1}}}
그냥 새 명령을 정의하는 게 제일 편할 듯합니다. reference에 관여하는 여러 패키지들이 제각각 ref-류 명령을 재정의하는데, 어떤 패키지가 어디서 사용되는지 알지 못하고서는 \ref 자체를 재정의하는 건 권할 만한 일이 아니겠네요.
문서가 얼마나 긴지 모르지만 \ref를 \ulref로, \pageref을 \ulpageref로 일괄 변환하는 게 큰 부담이 될 정도인가요?
-
byunss
2024.05.20 20:30
네. 매우 깁니다. 그리고 앞으로 작성할 모든 문서에서도 \ref에 밑줄을 치려고 합니다. 하지만 패키지들의 사정이 이렇다고 한다면 그냥 \ulref 명령을 새로 정의해서 쓰는 게 낫겠네요. ㅠㅠㅠㅠ 감사합니다.
-
byunss
2024.05.20 22:28
사실 \ref 를 \ulref로 바꾸기 싫은 가장 큰 이유는, 지금까지 습관이 된 \ref 사용을 모두 \ulref 로 바꾸어야 하기 때문에 그렇습니다...ㅠㅠ 중간값 정리를 사이값 정리로 바꾸는 것보다 10배는 더 괴로울듯요.
-
noname
2024.05.21 14:59
제 의견을 말씀드리면, 코딩 습관을 \ulref로 바꾸시는 것이 좋겠다고 생각합니다. 왜냐하면, 지금 적용하고자 하는 \ref의 스타일이 이미 표준적인 \ref를 벗어나 버렸기 때문에, 혹시 나중에 이런 스타일의 \ulref (또다른 모양을 추가할 수도 있지요)와 스탠더드 \ref가 한 문서에서 공존해야 하는 상황도 있을 수 있지 않습니까? 자신이 뭔가를 의도적으로 바꾸었다면 그것을 "새로운 이름"으로 부르고, 원래의 것은 그대로 두는 것이 훗날을 위해서도 좋을 것으로 봅니다.
이미 입력된 자료에 대해서는, 위에 보여주신 샘플을 보니 다행히도 스타일 파일들과 본문 파일의 폴더가 잘 구분되어 있으니까, contents 폴더에서 vs code로 일괄 변환 해보십시오. 일단 열려 있는 "폴더"를 다 닫고 (Ctrl-K F) 변경하려는 파일이 있는 폴더를 엽니다. 이 상태에서 Ctrl-Shift-H를 누른 다음, \ref{를 찾아서 \ulref{ 로 변경하면 "n개의 파일에서 m개 결과"라는 게 나올 겁니다. 여기서 Ctrl-Alt-Enter를 누르면 끝. 마찬가지로 \pageref{를 \ulpageref{로 바꾸면 됩니다. 저 중괄호 시작문자까지 검색/치환에 적용하는 게 안전하다고 생각합니다.
그래도 이런 상황을 도저히 견디지 못하겠다면, (다른 패키지와 충돌을 줄이기 위해서) \begin{document} 이후에 다음 코드를 두어 보십시오. (preamble에 두면 잘 안 되거나 이상하게 동작하거나 할 겁니다.) 혹시 잘 되면 다행이고요. 잘 안 되면 어쩔 수 없고요. 아무튼 권장할 만한 방식은 아닙니다.
\let\SAVEDref\ref \let\SAVEDpageref\pageref \newcommand*\ulref[1]{\underline{\SAVEDref{#1}}} \newcommand*\ulpageref[1]{\underline{\SAVEDpageref{#1}}} \let\ref\ulref \let\pageref\ulpageref
citing - How to change reference color to blue - TeX - LaTeX Stack Exchange
cross referencing - Reference Color - TeX - LaTeX Stack Exchange