How to split the text into two columns that both have a different width?
I'm making a report about some code that I've written. I want to split the page into two columns, in such a way that I have code on the left side and (commentary, descriptive, non-code) text on right side.
I do not want to have this layout throughout the whole document.
I would also like to have a vertical line that
separates these two columns.
The important part for me is that I want the code column to occupy a lot more space than the text column. The code-columnwidth should be twice as much as the text-columnwith for example.
I have searched the internet for a long time but I couldn't find a suitable solution.
I have tried the following:
usepackage{multicol}
setlength{columnsep}{1cm}
setlength{columnseprule}{1pt}
defcolumnseprulecolor{color{black}}
begin{document}
begin{multicols}{2}
text..
end{multicols}
end{document}
But it can't seem to find a way to specify two different columnwidths for each column. What also bothers me is that I cannot indicate precisely what text goes into what column, it just splits it automatically when the bottom of the page is reached, meaning that I sometimes get code on the right column.
Could anyone help me with this problem? I truly am desperate for any kind of solution. Thank you!
two-column columns layout
New contributor
add a comment |
I'm making a report about some code that I've written. I want to split the page into two columns, in such a way that I have code on the left side and (commentary, descriptive, non-code) text on right side.
I do not want to have this layout throughout the whole document.
I would also like to have a vertical line that
separates these two columns.
The important part for me is that I want the code column to occupy a lot more space than the text column. The code-columnwidth should be twice as much as the text-columnwith for example.
I have searched the internet for a long time but I couldn't find a suitable solution.
I have tried the following:
usepackage{multicol}
setlength{columnsep}{1cm}
setlength{columnseprule}{1pt}
defcolumnseprulecolor{color{black}}
begin{document}
begin{multicols}{2}
text..
end{multicols}
end{document}
But it can't seem to find a way to specify two different columnwidths for each column. What also bothers me is that I cannot indicate precisely what text goes into what column, it just splits it automatically when the bottom of the page is reached, meaning that I sometimes get code on the right column.
Could anyone help me with this problem? I truly am desperate for any kind of solution. Thank you!
two-column columns layout
New contributor
1
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
1
Packageparacol
can take care of that.
– Bernard
yesterday
1
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday
add a comment |
I'm making a report about some code that I've written. I want to split the page into two columns, in such a way that I have code on the left side and (commentary, descriptive, non-code) text on right side.
I do not want to have this layout throughout the whole document.
I would also like to have a vertical line that
separates these two columns.
The important part for me is that I want the code column to occupy a lot more space than the text column. The code-columnwidth should be twice as much as the text-columnwith for example.
I have searched the internet for a long time but I couldn't find a suitable solution.
I have tried the following:
usepackage{multicol}
setlength{columnsep}{1cm}
setlength{columnseprule}{1pt}
defcolumnseprulecolor{color{black}}
begin{document}
begin{multicols}{2}
text..
end{multicols}
end{document}
But it can't seem to find a way to specify two different columnwidths for each column. What also bothers me is that I cannot indicate precisely what text goes into what column, it just splits it automatically when the bottom of the page is reached, meaning that I sometimes get code on the right column.
Could anyone help me with this problem? I truly am desperate for any kind of solution. Thank you!
two-column columns layout
New contributor
I'm making a report about some code that I've written. I want to split the page into two columns, in such a way that I have code on the left side and (commentary, descriptive, non-code) text on right side.
I do not want to have this layout throughout the whole document.
I would also like to have a vertical line that
separates these two columns.
The important part for me is that I want the code column to occupy a lot more space than the text column. The code-columnwidth should be twice as much as the text-columnwith for example.
I have searched the internet for a long time but I couldn't find a suitable solution.
I have tried the following:
usepackage{multicol}
setlength{columnsep}{1cm}
setlength{columnseprule}{1pt}
defcolumnseprulecolor{color{black}}
begin{document}
begin{multicols}{2}
text..
end{multicols}
end{document}
But it can't seem to find a way to specify two different columnwidths for each column. What also bothers me is that I cannot indicate precisely what text goes into what column, it just splits it automatically when the bottom of the page is reached, meaning that I sometimes get code on the right column.
Could anyone help me with this problem? I truly am desperate for any kind of solution. Thank you!
two-column columns layout
two-column columns layout
New contributor
New contributor
New contributor
asked yesterday
Chiron
313
313
New contributor
New contributor
1
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
1
Packageparacol
can take care of that.
– Bernard
yesterday
1
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday
add a comment |
1
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
1
Packageparacol
can take care of that.
– Bernard
yesterday
1
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday
1
1
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
1
1
Package
paracol
can take care of that.– Bernard
yesterday
Package
paracol
can take care of that.– Bernard
yesterday
1
1
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday
add a comment |
1 Answer
1
active
oldest
votes
A simple minipage
solution might be more suitable in your case if you don't require page breaks (you didn't mention this as a requirement in your question), otherwise you can have a look at the paracol
package mentioned by Mico in the comments.
documentclass{article}
usepackage[margin=1.5in,showframe]{geometry}
usepackage{lipsum}
begin{document}
lipsum[1-5]clearpage
noindent
begin{minipage}[t]{0.6textwidth}
lipsum*[1-2]
end{minipage}%
hfill
vrule
hfill
begin{minipage}[t]{0.3textwidth}
lipsum*[1]
end{minipage}
clearpage
lipsum[1-5]
newpage
end{document}
This way you can put whatever you like in the left column (code, in your case), and the descriptive text on the right.
2
+1. :-) To assure that the vertical rule is centered between theminipage
environments, it's important to writeend{minipage}%
rather than justend{minipage}
. The%
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).
– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Chiron is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f468722%2fhow-to-split-the-text-into-two-columns-that-both-have-a-different-width%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
A simple minipage
solution might be more suitable in your case if you don't require page breaks (you didn't mention this as a requirement in your question), otherwise you can have a look at the paracol
package mentioned by Mico in the comments.
documentclass{article}
usepackage[margin=1.5in,showframe]{geometry}
usepackage{lipsum}
begin{document}
lipsum[1-5]clearpage
noindent
begin{minipage}[t]{0.6textwidth}
lipsum*[1-2]
end{minipage}%
hfill
vrule
hfill
begin{minipage}[t]{0.3textwidth}
lipsum*[1]
end{minipage}
clearpage
lipsum[1-5]
newpage
end{document}
This way you can put whatever you like in the left column (code, in your case), and the descriptive text on the right.
2
+1. :-) To assure that the vertical rule is centered between theminipage
environments, it's important to writeend{minipage}%
rather than justend{minipage}
. The%
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).
– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
add a comment |
A simple minipage
solution might be more suitable in your case if you don't require page breaks (you didn't mention this as a requirement in your question), otherwise you can have a look at the paracol
package mentioned by Mico in the comments.
documentclass{article}
usepackage[margin=1.5in,showframe]{geometry}
usepackage{lipsum}
begin{document}
lipsum[1-5]clearpage
noindent
begin{minipage}[t]{0.6textwidth}
lipsum*[1-2]
end{minipage}%
hfill
vrule
hfill
begin{minipage}[t]{0.3textwidth}
lipsum*[1]
end{minipage}
clearpage
lipsum[1-5]
newpage
end{document}
This way you can put whatever you like in the left column (code, in your case), and the descriptive text on the right.
2
+1. :-) To assure that the vertical rule is centered between theminipage
environments, it's important to writeend{minipage}%
rather than justend{minipage}
. The%
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).
– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
add a comment |
A simple minipage
solution might be more suitable in your case if you don't require page breaks (you didn't mention this as a requirement in your question), otherwise you can have a look at the paracol
package mentioned by Mico in the comments.
documentclass{article}
usepackage[margin=1.5in,showframe]{geometry}
usepackage{lipsum}
begin{document}
lipsum[1-5]clearpage
noindent
begin{minipage}[t]{0.6textwidth}
lipsum*[1-2]
end{minipage}%
hfill
vrule
hfill
begin{minipage}[t]{0.3textwidth}
lipsum*[1]
end{minipage}
clearpage
lipsum[1-5]
newpage
end{document}
This way you can put whatever you like in the left column (code, in your case), and the descriptive text on the right.
A simple minipage
solution might be more suitable in your case if you don't require page breaks (you didn't mention this as a requirement in your question), otherwise you can have a look at the paracol
package mentioned by Mico in the comments.
documentclass{article}
usepackage[margin=1.5in,showframe]{geometry}
usepackage{lipsum}
begin{document}
lipsum[1-5]clearpage
noindent
begin{minipage}[t]{0.6textwidth}
lipsum*[1-2]
end{minipage}%
hfill
vrule
hfill
begin{minipage}[t]{0.3textwidth}
lipsum*[1]
end{minipage}
clearpage
lipsum[1-5]
newpage
end{document}
This way you can put whatever you like in the left column (code, in your case), and the descriptive text on the right.
edited yesterday
answered yesterday
Troy
10.9k62267
10.9k62267
2
+1. :-) To assure that the vertical rule is centered between theminipage
environments, it's important to writeend{minipage}%
rather than justend{minipage}
. The%
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).
– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
add a comment |
2
+1. :-) To assure that the vertical rule is centered between theminipage
environments, it's important to writeend{minipage}%
rather than justend{minipage}
. The%
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).
– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
2
2
+1. :-) To assure that the vertical rule is centered between the
minipage
environments, it's important to write end{minipage}%
rather than just end{minipage}
. The %
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).– Mico
yesterday
+1. :-) To assure that the vertical rule is centered between the
minipage
environments, it's important to write end{minipage}%
rather than just end{minipage}
. The %
(comment) symbol serves to suppress the whitespace that otherwise gets inserted (as is visible in the screenshot you posted).– Mico
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
@Mico Thank you for the comment, I'll correct it.
– Troy
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
I decided on the paracol package as it is simpler in my opinion and provides exactly everything I was looking for and more (including synchronized columns, etc.) Nevertheless, thank you so much for your efforts!
– Chiron
yesterday
add a comment |
Chiron is a new contributor. Be nice, and check out our Code of Conduct.
Chiron is a new contributor. Be nice, and check out our Code of Conduct.
Chiron is a new contributor. Be nice, and check out our Code of Conduct.
Chiron is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f468722%2fhow-to-split-the-text-into-two-columns-that-both-have-a-different-width%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Welcome to TeX.SE. Are you familiar with the paracol package?
– Mico
yesterday
Take a look at the ‘tcolorbox‘ package
– Hafid Boukhoulda
yesterday
1
Package
paracol
can take care of that.– Bernard
yesterday
1
Would it be possible to mock up an example of what you're looking for? For example, it should show how the two columns interact with one another. Do you have long pieces of text that should push the code (on the left) down? Should the text be centred vertically with respect to the code or at the top of the code line it describes? Do you need word wrapping for the text? What package are you using to write the code?
– Werner
yesterday
Thank you all for your efforts! The paracol package has exactly what I was looking for.
– Chiron
yesterday